Bu, @ttnphns tarafından yapılan bir yorumda verilen anlayışlı ipucunu açıklar.
Neredeyse ilişkilendirilmiş değişkenlerin birleştirilmesi ortak temel faktörlerinin PCA'ya katkısını arttırır. Bunu geometrik olarak görebiliriz. Bu verileri, XY düzleminde, bir nokta bulutu olarak gösterilenleri göz önünde bulundurun:
Çok az korelasyon var, yaklaşık olarak eşit kovaryans var ve veriler ortalanıyor: PCA (nasıl yapıldığına bakılmaksızın) yaklaşık olarak iki eşit bileşeni rapor eder.
Şimdi üçüncü bir değişken atmak edelim eşit artı rasgele hatanın küçük bir miktarda. korelasyon matrisi bunu, ikinci ve üçüncü sıralar ve sütunlar ( ve ) arasındaki küçük diyagonal olmayan katsayılarla gösterir :Y, ( X , Y , Z ) Y, Z,ZY( X, Y, Z)YZ
⎛⎝⎜1.−0.0344018−0.046076−0.03440181.0.941829−0.0460760.9418291.⎞⎠⎟
Geometrik olarak, tüm orijinal noktaları neredeyse dikey olarak değiştirdik, önceki resmi sayfanın düzleminden kaldırdık. Bu sözde 3B nokta bulutu, kaldırmayı yan perspektif görünümüyle (daha önce olduğu gibi üretilse de, farklı bir veri kümesine dayanarak) göstermeye çalışır:
Noktalar aslen mavi düzlemde bulunur ve kırmızı noktalara kaldırılır. Orijinal ekseni sağa işaret eder. Elde edilen eğim aynı zamanda YZ yönleri boyunca noktaları uzatır, böylece varyansa katkılarını ikiye katlar . Sonuç olarak, bu yeni verilerin bir PCA'sı hala iki ana ana bileşeni tanımlayacaktır, ancak şimdi bir tanesi diğerinin iki katı varyansına sahip olacaktır.Y
Bu geometrik beklenti, içindeki bazı simülasyonlarla ortaya çıkıyor R
. Bunun için, ikinci değişkenin yakın kopyalarını ikinci, üçüncü, dördüncü ve beşinci kez, ile adlandırarak "kaldırma" prosedürünü tekrarladım . İşte bu son dört değişkenin nasıl iyi korelasyon gösterdiğini gösteren bir scatterplot matrisi:X 5X2X5
PCA korelasyonlar kullanılarak (bu veriler için gerçekten önemli olmasa da), ilk iki değişken, ardından üç, ... ve son olarak beş kullanılarak yapılır. Sonuçları, ana bileşenlerin toplam varyansa katkı paylarını çizerek gösteririm.
Başlangıçta, birbiriyle neredeyse hiç ilişkili olmayan iki değişkenle, katkılar neredeyse eşittir (sol üst köşe). İkincisi ile ilişkilendirilmiş bir değişken ekledikten sonra - aynen geometrik şekilde olduğu gibi - hala biri iki diğeri büyüklüğünde olan iki ana bileşen vardır. (Üçüncü bileşen mükemmel bir bağlantının bulunmadığını yansıtır, aynı 3D ScatterPlot içinde gözleme benzeri bulutun "kalınlığını" ölçer.) Başka bir korelasyon değişken (ekledikten sonra ), birinci bileşen şimdi toplamın yaklaşık dörtte üçü ise ; Beşinci bir eklendikten sonra, birinci bileşen toplamın yaklaşık beşte dördüdür. Dört vakanın hepsinde, ikinciden sonraki bileşenler çoğu PCA tanı prosedürüyle önemsiz sayılır; son durumdaX4dikkate değer bir temel bileşen.
Artık değişkenler koleksiyonunun aynı altta yatan (ancak "gizli") ölçümünü düşündüğü değişkenlerin atılmasının haklı olduğunu görebiliyoruz , çünkü neredeyse yedekli değişkenlerin dahil edilmesi PCA'nın katkılarını aşırı derecede vurgulamasına neden olabilir. Böyle bir prosedür hakkında matematiksel olarak doğru (veya yanlış) bir şey yoktur ; Verilerin analitik amaçlarına ve bilgilerine dayanan bir yargılama çağrısıdır. Ancak, açıkça açıkça belirtilmelidir ki , diğerleri ile güçlü bir şekilde ilişkili olduğu bilinen değişkenleri bir kenara koymak PCA sonuçları üzerinde önemli bir etkiye sahip olabilir.
İşte R
kod.
n.cases <- 240 # Number of points.
n.vars <- 4 # Number of mutually correlated variables.
set.seed(26) # Make these results reproducible.
eps <- rnorm(n.vars, 0, 1/4) # Make "1/4" smaller to *increase* the correlations.
x <- matrix(rnorm(n.cases * (n.vars+2)), nrow=n.cases)
beta <- rbind(c(1,rep(0, n.vars)), c(0,rep(1, n.vars)), cbind(rep(0,n.vars), diag(eps)))
y <- x%*%beta # The variables.
cor(y) # Verify their correlations are as intended.
plot(data.frame(y)) # Show the scatterplot matrix.
# Perform PCA on the first 2, 3, 4, ..., n.vars+1 variables.
p <- lapply(2:dim(beta)[2], function(k) prcomp(y[, 1:k], scale=TRUE))
# Print summaries and display plots.
tmp <- lapply(p, summary)
par(mfrow=c(2,2))
tmp <- lapply(p, plot)