PCA biplotunda okları konumlandırma


18

JavaScript temel bileşen analizi (PCA) için bir biplot uygulamak için arıyorum. Benim sorum, veri matrisinin tekil vektör ayrışmasının (SVD) U,V,D çıkışındaki okların koordinatlarını nasıl belirleyebilirim ?

İşte R tarafından üretilen bir örnek biplot:

biplot(prcomp(iris[,1:4]))

İris veri kümesinin biplotu

Ben o kadar aradık Biplot Vikipedi'ye ama çok kullanışlı değil. Veya düzeltin. Hangisi olduğundan emin değilim.


3
Biplot, hem U değerlerini hem de V değerlerini gösteren bir bindirme dağılım grafiğidir. Veya UD ve V. Veya U ve VD '. Veya UD ve VD '. PCA açısından UD'ye ham ana bileşen puanları, VD 'değişken bileşen yüklemeleri denir.
ttnphns

2
Ayrıca, koordinatların ölçeğinin verileri başlangıçta nasıl normalleştirdiğinize bağlı olduğunu unutmayın. Örneğin PCA'da, bir kişi normalde verileri sqrt (r) veya sqrt (r-1) olarak böler [r satır sayısıdır]. Ancak kelime bir dar anlamıyla gerçek "Biplot" normal sqrt verileri böler (R;) ve [c sütun sayısıdır] o de-normalleştirir elde U ve V
ttnphns

Verilerin neden ölçeklenmesi gerekiyor ? 1n1
ktdrv

1
@ttnphns: Yukarıdaki yorumlarınızı takiben, PCA biplot normalizasyonlarına genel bakış gibi bir şey sağlamayı amaçlayan bu soruya bir cevap yazdım. Ancak, bu konuyla ilgili bilgim tamamen teorik ve biplot'larla ilgili benden çok daha fazla deneyiminiz olduğuna inanıyorum. Bu yüzden herhangi bir yorum için minnettar olurum.
amip diyor Reinstate Monica

1
Bir şeyleri uygulamanın bir nedeni, @Aleksandr, ne yapıldığını tam olarak bilmek. Gördüğünüz gibi, koştuğunda tam olarak ne olduğunu anlamak o kadar kolay değil biplot(). Ayrıca, neden sadece birkaç satır kod gerektiren bir şey için R-JS entegrasyonu ile uğraşın.
amip diyor Reinstate Monica

Yanıtlar:


40

PCA biplotu üretmenin birçok farklı yolu vardır ve bu nedenle sorunuzun benzersiz bir cevabı yoktur. İşte kısa bir genel bakış.

Veri matrisi varsayalım sahip N satır veri noktaları ve (örneğin, kolon araçlarının hepsi sıfır) ortalanır. Şimdilik, do not bunun standardize edilmiş farz, biz kovaryans matrisi (değil korelasyon matrisi üzerinde) üzerinde PCA düşünün yani. PCA tek bir değer ayrışması anlamına gelir X = U S V , detaylar için cevabımı burada görebilirsiniz: SVD ve PCA arasındaki ilişki. PCA gerçekleştirmek için SVD nasıl kullanılır?Xn

X=USV,

Bir PCA biplotunda, iki birinci ana bileşen bir dağılım grafiği olarak çizilir, yani ilk sütunu ikinci sütununa karşı çizilir. Ancak normalleştirme farklı olabilir; örneğin:U

  1. sütunları : bunlar, birim kareler toplamına ölçeklendirilmiş temel bileşenlerdir;U
  2. sütunları: bunlar standart ana bileşenlerdir (birim varyansı);n1U
  3. Kolonları : Bu "ham" temel bileşenler (ana yönü ile ilgili projeksiyonları) vardır.US

Ayrıca, orijinal değişkenler oklar olarak çizilir; yani bir i- ok ok uç noktasının koordinatları , V'nin birinci ve ikinci sütunundaki i- değeri ile verilir . Fakat yine de, farklı normalleştirmeler seçilebilir, örneğin:(x,y)iiV

  1. Sütunlar : Burada bir yorum ne olabilir bilmiyorum;VS
  2. V S / sütunları : bunlar yüklemeler;VS/n1
  3. sütunları : bunlar ana eksenlerdir (aka ana yönler, aka özvektörler).V

Tüm bunlar Fisher Iris veri kümesi için nasıl görünüyor:

Fisher Iris biplots, kovaryans üzerine PCA

9XUSαβVS(1α)/β9 "uygun biplolar" dır: yukarıdan herhangi bir alt grafiğin doğrudan alt ile birleşimi.

[Hangi kombinasyon kullanılırsa kullanılsın, okları rasgele bir sabit faktörle ölçeklendirmek gerekebilir, böylece hem oklar hem de veri noktaları kabaca aynı ölçekte görünür.]

VS/n1Un1

Bu [özel seçim], elbette, bunların ikinci aşamada yeterince yakınlaştırılabilmesi şartıyla, çok değişkenli gözlem matrislerini yorumlamada en faydalı grafiksel yardım sağlayacaktır.

USV

US

biplotUVSbiplot0.8biplotn/(n1)1R'de PCA biplotunda temel değişkenlerin okları .)

Korelasyon matrisinde PCA

X1

Fisher Iris biplots, PCA ile korelasyonlar

Burada yüklemeler daha da çekici, çünkü (yukarıda belirtilen özelliklere ek olarak), 1R=1


Daha fazla okuma:


1
+6, bu 3'ten fazla oyu hak ediyor.
gung - Monica'yı eski

3
? Ca :: plot.ca'nın farklı olası normalizasyonlara güzel bir genel bakışı olduğunu fark ettiler: sıra prensibini (form biplot = ana koordinatlardaki satırlar, standart koordinatlardaki sütunlar), col müdürü (kovaryans biplot = ana koordinatlardaki sütunlar, satırlar) standart koordinatlarda), simetrik biplot (tekil değerlere (özdeğerlerin kare kökleri) eşit varyanslara sahip olacak şekilde ölçeklendirilmiş satırlar ve sütunlar), rowgab ve colgab (ana koordinatlardaki satırlar ve standart koordinatlardaki sütunlar karşılık gelen noktanın kütlesi ile çarpılır veya tam tersi) ve rowgreen ve colgreen (rowgab ve colgab olarak ama sqrt (kitleler) ile)
Tom Wenseleers

2
Bu sonunculara "katkı diplomaları" da denir; M. Greenacre'nin “Uygulamada Biplots” adlı kitabı da tüm bunlara güzel bir genel bakış sunuyor; bu ölçeklendirme yöntemleri SVD'ye dayalı tüm yöntemlere uygulanır (örn. CA biplots, PCA biplots, LDA biplots vb.); nasıl çalıştığına dair bir örnek için ca ::: plot.ca kaynak koduna ve "harita" argümanına bakınız
Tom Wenseleers

1
n1

1
@AntoniParellada Düzenledim ve birkaç bağlantı ekledim.
amip, Reinstate Monica'ya
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.