Apa yang ditunjukkan oleh bentuk seperti plot PCA?

9

Dalam mereka kertas autoencoders untuk klasifikasi teks Hinton dan Salakhutdinov menunjukkan plot yang dihasilkan oleh 2-dimensi LSA (yang berkaitan erat dengan PCA): LSA 2-redup.

Menerapkan PCA ke data dimensi sedikit tinggi yang benar-benar berbeda, saya memperoleh plot yang mirip: PCA 2-redup(kecuali dalam hal ini saya benar-benar ingin tahu apakah ada struktur internal).

Jika kita memasukkan data acak ke PCA, kita mendapatkan gumpalan berbentuk disk, jadi bentuk ganjalan ini tidak acak. Apakah itu berarti sesuatu dengan sendirinya?

macleginn
sumber
6
Saya menganggap semua variabel positif (atau tidak negatif) & kontinu? Jika demikian, tepi-tepi irisan hanyalah titik-titik di mana data akan menjadi 0 / negatif. Selanjutnya, Anda bisa mendapatkan pola yang sama dengan yang Anda tunjukkan dengan variabel miring kanan positif; pengamatan dikumpulkan di bagian bawah. Jika Anda memiliki variabel acak seragam positif, Anda akan melihat kotak (diputar). Karenanya pola seperti yang Anda tunjukkan hanyalah kendala pada data. Pola lain dapat muncul, seperti tapal kuda, tetapi ini bukan karena kendala pada rentang variabel.
Gavin Simpson
1
@GavinSimpson Ini jauh lebih dari sekadar komentar. Mengapa tidak mengembangkannya menjadi jawaban?
Mike Hunter
Saya bertanya kepada anak-anak saya (3 dan 4 tahun) apa foto-foto ini mengingatkan mereka dan mereka bilang itu ikan. Jadi mungkin "bentuk seperti ikan"?
amoeba
@ GavinSimpson, terima kasih! Dalam kedua kasus variabel memang non-negatif, bot juga dalam kedua kasus mereka bernilai integer. Apakah ini mengubah sesuatu?
macleginn

Jawaban:

6

Dengan asumsi variabel-variabelnya positif atau non-negatif, ujung-ujungnya hanyalah titik-titik di mana data akan menjadi 0 atau negatif. Karena data kehidupan nyata cenderung condong ke kanan, kami melihat kepadatan titik yang lebih besar di ujung bawah distribusi mereka dan karenanya kepadatan yang lebih besar di "titik" baji.

Secara lebih umum, PCA hanyalah rotasi data dan kendala pada data tersebut umumnya akan terlihat dalam komponen utama dengan cara yang sama seperti yang ditunjukkan dalam pertanyaan.

Berikut adalah contoh menggunakan beberapa variabel log-terdistribusi normal:

library("vegan")
set.seed(1)
df <- data.frame(matrix(rlnorm(5*10000), ncol = 5))
plot(rda(df), display = "sites")

masukkan deskripsi gambar di sini

Tergantung pada rotasi yang tersirat oleh dua PC pertama, Anda mungkin melihat irisan atau Anda mungkin melihat versi yang agak berbeda, tunjukkan di sini dalam 3d menggunakan ( ordirgl()sebagai pengganti plot())

masukkan deskripsi gambar di sini

Di sini, di 3d kita melihat beberapa paku yang menonjol dari massa tengah.

Untuk variabel acak Gaussian ( ) di mana masing-masing memiliki mean dan varians yang sama, kita melihat bola titikXi(N)(μ=0,σ=1)

set.seed(1)
df2 <- data.frame(matrix(rnorm(5*10000), ncol = 5))
plot(rda(df2), display = "sites")

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Dan untuk variabel acak positif seragam kita melihat sebuah kubus

set.seed(1)
df3 <- data.frame(matrix(runif(3*10000), ncol = 3))
plot(rda(df3), display = "sites")

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Perhatikan bahwa di sini, untuk ilustrasi saya menunjukkan seragam hanya menggunakan 3 variabel acak maka poin menggambarkan kubus di 3d. Dengan dimensi yang lebih tinggi / lebih banyak variabel, kita tidak dapat mewakili hypercube 5d dengan sempurna dalam 3d dan karenanya bentuk "kubus" yang berbeda agak terdistorsi. Masalah serupa mempengaruhi contoh-contoh lain yang ditunjukkan, tetapi masih mudah untuk melihat kendala dalam contoh-contoh itu.

Untuk data Anda, transformasi log variabel sebelum PCA akan menarik ekor dan merentangkan data rumpun, seperti halnya Anda mungkin menggunakan transformasi tersebut dalam regresi linier.

Bentuk lain dapat muncul di plot PCA; salah satu bentuk tersebut adalah artefak dari representasi metrik yang diawetkan dalam PCA dan dikenal sebagai tapal kuda . Untuk data dengan gradien panjang atau dominan (sampel disusun sepanjang dimensi tunggal dengan variabel meningkat dari 0 ke maksimum dan kemudian menurun lagi ke 0 sepanjang bagian data diketahui menghasilkan artefak tersebut. Pertimbangkan

ll <- data.frame(Species1 = c(1,2,4,7,8,7,4,2,1,rep(0,10)),
                 Species2 = c(rep(0, 5),1,2,4,7,8,7,4,2,1, rep(0, 5)),
                 Species3 = c(rep(0, 10),1,2,4,7,8,7,4,2,1))
rownames(ll) <- paste0("site", seq_len(NROW(ll)))
matplot(ll, type = "o", col = 1:3, pch = 21:23, bg = 1:3,
        ylab = "Abundance", xlab = "Sites")

masukkan deskripsi gambar di sini

yang menghasilkan tapal kuda yang ekstrem, di mana titik-titik di ujung sumbu menekuk kembali ke tengah.

masukkan deskripsi gambar di sini

Gavin Simpson
sumber
+1. Mungkin masuk akal untuk menautkan ke jawaban Anda sendiri di sini. Apa "efek tapal kuda" dan / atau "efek lengkungan" dalam analisis PCA / korespondensi? di bagian terakhir dari jawaban ini.
amoeba