PCA, boolean (binary) veri tipleri için çalışır mı?


38

Daha yüksek dereceli sistemlerin boyutsallığını azaltmak ve kovaryansın çoğunu tercihen 2 boyutlu veya 1 boyutlu bir alanda yakalamak istiyorum. Bunun ana bileşen analizi yoluyla yapılabileceğini biliyorum ve PCA'yı birçok senaryoda kullandım. Ancak, onu hiçbir zaman boolean veri türleriyle kullanmadım ve PCA'yı bu setle yapmanın anlamlı olup olmadığını merak ediyordum. Örneğin, nitel veya açıklayıcı ölçütlerim varmış gibi davranın ve bu metrik bu boyut için geçerliyse bir "1" ve eğer değilse (ikili veri) "0" atayım. Örneğin, Pamuk Prenses'teki Yedi Cüceyi karşılaştırmaya çalışıyormuş gibi yapın. Sahibiz:

Doc, Dopey, Bashful, Huysuz, Sneezy, Uykulu ve Mutlu, ve onları nitelikleri temel alarak düzenlemek istersiniz ve aynısını yapın:

(Lactose IntolerantA Honor RollAthleticWealthyDoc1011Dopey0000Bashful1011Grumpy1111Sneezy0110Sleepy1000Happy1100)

Mesela Bashful, A onuruna değil, laktoz intoleransıdır. Bu tamamen varsayımsal bir matris ve gerçek matrisimde daha birçok tanımlayıcı sütun olacak. Sorum şu ki, bireyler arasındaki benzerliği bulmak için bu matris üzerinde PCA yapmak uygun olur mu?


1
Bu soru (neredeyse) yineleniyor o biri . PCA ikili / boolean verilerde yapılabilir, ancak bu tür veriler üzerinde faktör analizi (PCA "dahil", "FA" gibi) yapmak problemlidir .
ttnphns,

1
Sizinki ("mevcut" vs "yok" gibi) gibi ikili veri üzerindeki PCA normalde değişkenleri merkezlemeksizin gerçekleştirilir çünkü orijinal 0 dışında bir orijin (referans noktası) önermek için hiçbir neden yoktur. veya korelasyona dayalı PCA'ya SSCP veya kosinüs bazlı bir ulaşıyoruz . Bu tür bir analiz çok benzer, neredeyse sizin için seçim olabilecek Çoklu Yazışma analizine (= Homojenlik analizi) eşdeğerdir.
ttnphns,

a means of finding the similarity between individuals. Ancak bu görev PCA için değil Küme analizi içindir.
ttnphns,

Kısa cevap: Doğrusal PCA (boyutsallık azaltma tekniği olarak alınmışsa ve faktör analizi olarak gizli değişken tekniği değil ise) ölçek (metrik) veya ikili veriler için kullanılabilir. Düz (doğrusal) PCA, sıralı verilerle veya nominal verilerle kullanılmamalıdır - bu veriler bir şekilde metrik veya ikili (örneğin kukla) olmadıkça.
ttnphns,

@ ttnphns PCA değişkenleri kümelemenin bir yolu olarak görülebilir. Ayrıca, PCA ve küme analizi sırayla
Antoine

Yanıtlar:


12

Kategorik değişken verilerinden otomatik yapı çıkarımı için nispeten yeni bir teknik önermek isterim (bu ikili içerir). Bu yönteme Güney Kaliforniya Üniversitesi'nden Greg van Steeg'den CorEx adı verilir. Buradaki düşünce, entropi önlemlerine dayanan Toplam Korelasyon kavramını kullanmaktır. Basitliği ve çok sayıda hiperparametre ayarlaması olmaması nedeniyle çekici.

Hiyerarşik temsillerle ilgili makale (en son, önceki önlemlerin üstüne inşa edilmiştir). http://arxiv.org/pdf/1410.7404.pdf


1
@AlvinNunez Rica ederim! Python uygulaması GitHub'da bulunabilir github.com/gregversteeg/CorEx Verilerinizi almak ve ne olduğunu görmek gerçekten kolay.
Vladislavs Dovgalecs

13

Analiz edilecek değişkenler nicel yerine kategorik olduğunda (buradaki ikili değişkenleriniz için de geçerlidir), temel bileşen analizinin bir uzantısı olan Birden Çok Yazışma Analizi'ni (MCA) de kullanabilirsiniz. Örneğin, Husson ve ark. (2010) veya Abdi ve Valentin (2007) . MCA'yı (ve bilgisayarlarda hiyerarşik kümelemeyi) gerçekleştirmek için mükemmel bir R paketi FactoMineR'dir .


1
İlginç bir cevap, buna katılıyorum. inflation of the feature spaceMCA'da değil neden PCA'da ortaya çıktığını ve neden PCA'da ortaya çıkacağını daha ayrıntılı olarak açıklarsanız, bu sizin için büyük bir avantaj olacaktır.
ttnphns,

Bu inflation of the feature spacefenomeni yanlış anladım . CA'dan MCA'ya giderken oyuna giriyor gibi görünüyor, ancak PCA'nın doğal bir sorunu değil. Bu yorumu okuduğunuzda cevabımı kaldıracağım. Bunu farketmemi sağladığın için teşekkürler.
Antoine,

Cevabı kaldırmak zorunda olduğunu sanmıyorum. MCA benim için doğru seçimlerden biri ve cevabınız tamam.
ttnphns,

Cevabı geri ekledim, çünkü MCA'nın burada yardımcı olabileceğini düşünüyorum, ancak özellik alanı enflasyonu ile ilgili tartışmayı alakalı görünmediği için kaldırdım
Antoine

İkili verilerde MCA'nın sonucu, bir PCoA'nın sonucundan, Jaccard veya basit eşleme gibi ikili veriler için uygun bir mesafe ölçüsü ile ne kadar farklı olabilir?
emudrak

9

PCA'yı değişkenler arasındaki ilişkileri görselleştirmenin bir yolunu bulmak için bir keşif tekniği olarak düşünürseniz (ve bence bu konuda düşünmenin tek yolu budur) o zaman evet, ikili duruma koyamamak için hiçbir neden yoktur. değişkenler. Örneğin, işte verilerinizin bir kopyası

görüntü tanımını buraya girin

Bu oldukça kullanışlı görünüyor. Örneğin, Doc ve Bashful’ın çok benzer olduğunu görebilirsiniz; İK, diğer üç değişkene benzememektedir; Uykulu ve hapşırık çok farklı, vb.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.