PCA (PRINCIPAL COMPONENT ANALYSIS)

Kardelen Erdem
3 min readSep 15, 2020

--

TEMEL BİLEŞENLER ANALİZİ

Birden fazla değişkenin olduğu veri setlerinde analizler yaparken bazı sorunlarla karşılaşabiliriz. Bu sorunlardan birisi de değişkenlerin birbiriyle ilişkili (yüksek korelasyonlu) olması durumudur. Bu problem analiz yaparken çoklu bağlantı sorununa yol açabilir ve değişkenler arasındaki bu sorunu tespit etmek için VIF Kriteri, F-Testi gibi yöntemlere başvurulabilir. Bu gibi problemlerle karşılaşmamak adına çok fazla değişkenin bulunduğu veri setlerine PCA uygulayarak hem değişkenler arasındaki bağlantı problemini ortadan kaldırmış oluruz hem de çok boyutlu verilerde boyut azaltarak en az değişkenle en kısa zamanda en iyi sonuca ulaşabiliriz.

PCA ÇALIŞMA MANTIĞI NEDİR?

N satır P değişkenden oluşan bir veri matrisi düşünelim bu matris her satır bir noktayı göstermek üzere çok sayıda noktadan oluşan bir bulut olarak ifade edilsin. Ancak değişkenler arasında tam bağımsızlık söz konusu değilken bulut olarak ifade edilen şeklin eksenleri birbirine dik olmayacağı için tanımı da yapılamayacaktır. PCA bu eksen noktalarının birbirine dik bir elipsoid içerisine alır ve toplam varyansı değiştirmeden birbirinden bağımsız bileşenler elde eder ve analiz işlemlerine artık bu bileşenler üzerinden devam edilir. Ayrıca elde ettiğimiz bu bileşenler için kovaryans terimi ortadan kalkar ve bileşenlerin varyansları büyükten küçüğe doğru sıralanarak kullanılacak bileşen sayısına karar verilir. Böylelikle az bir bilgi (varyans) kaybıyla çalışılan veri setinin boyutu indirgenmiş ve bağımsız değişkenler elde edilmiş olur.

PCA YAPARKEN NELERE DİKKAT ETMELİYİZ?

İlk olarak tüm değişkenlerimizin nümerik olduğundan emin olmalıyız. Eğer veri setinde kategorik değişkenler varsa önce bunları dummy değişkene çevirip analize öyle devam edilmelidir.

İkinci olarak dikkat etmemiz gereken nokta PCA nın hangi veri seti üzerinde kullanılacağıdır. Örneğin elimizdeki veri seti insan davranışlarını içeren bir veriyse bazı durumlarda kullanmak doğru olmayabilir. Bu aşamada veri setimizi iyi tanımalıyız.

Son olarak değişkenlerimizin normal dağılımdan geldiğine emin olmadığımız durumlarda PCA dan önce değişkenlerimize normalleştirme işlemi uygulamamız daha doğru sonuçlar almamızı sağlayacaktır.

NOT: Analizlerimizin sonucunda değişkenlerimizi de belirterek rapor yazmamız ya da yorum yapmamız gerekiyorsa PCA kullanmamız doğru olmaz çünkü PCA uygularken var olan değişkenlerimizden farklı bir düzlemde birbirine dik yeni bileşenler oluşturulduğundan bu bileşenler hakkında bilgi veremeyiz.

Şimdi anlatım kısmını bitirip Python Sklearn kütüphanesini kullanarak PCA analizine küçük bir uygulama yapalım.

Uygulamada internette kolayca bulunabilecek ‘Hitters’ veri setini kullanacağım.

İlk olarak veri setini okutup genel olarak göz attığımızda 3 değişkenimizin ‘object’ tipinde olduğunu görüyoruz. Öncelikle bu değişkenlerimiz üzerinde işlem yapmalıyız.

Değişkenlerimizi dummy değişkene çevirip yeniden veri setimize ekledik.

Son olarak verilerimize standartlaştırma işlemi yapıp PCA uyguluyoruz. En alt satırdaki kod ile PCA uyguladıktan sonra ilk 5 bileşen kullanılarak verideki değişkenliğin yaklaşık %85 inin açıklanabileceği yorumu yapılabilir.

Bileşen varyanslarının görselini inceleyecek olursak beşinci bileşenden sonra kırılmanın giderek azaldığını söyleyebiliriz. Yani yukarıda da söylediğimiz gibi bu veri setini açıklamak için ilk beş bileşenin kullanılması uygun olabilir. Ancak PCA dan sonra veriye uygulanacak her model için ‘en iyi bileşen sayısı hep ilk beş bileşendir’ yorumunu yapamayız. Her model için farklı bileşen sayılarını denemeli bize en iyi sonucu veren bileşen üzerinden işlemlere devam etmeliyiz.

--

--