Bagaimana Analisis Faktor menjelaskan kovarians sementara PCA menjelaskan varians?

37

Berikut adalah kutipan dari buku "Pengenalan Pola dan Pembelajaran Mesin" Bishop, bagian 12.2.4 "Analisis Faktor":

masukkan deskripsi gambar di sini

Menurut bagian disorot, analisis faktor menangkap kovarians antara variabel dalam matriks W . Saya bertanya-tanya BAGAIMANA ?

Inilah bagaimana saya memahaminya. Say x adalah variabel p dimensi yang diamati, W adalah matriks pemuatan faktor, dan z adalah vektor skor faktor. Maka kita memiliki

x=μ+Wz+ϵ,
yaitu
(x1xp)=(μ1μp)+(||w1wm||)(z1zm)+ϵ,
dan setiap kolom diWadalah faktor yang memuat vektor
wi=(wi1wip).
Di sini seperti yang saya tulis,Wmemilikikolommberarti adafaktormyang dipertimbangkan.

Sekarang inilah intinya, menurut bagian yang disorot, saya pikir memuat di setiap kolom wi menjelaskan kovarian dalam data yang diamati, kan?

Sebagai contoh, mari kita lihat vektor pemuatan pertama , untuk 1 i , j , k p , jika w 1 i = 10 , w 1 j = 11 dan w 1 k = 0,1 , maka saya akan mengatakan x i dan x j sangat berkorelasi, sedangkan x k tampaknya berkorelasi dengan mereka , aku benar?w11i,j,kpw1i=10w1j=11w1k=0.1xixjxk

Dan jika ini adalah bagaimana analisis faktor menjelaskan kovarians antara fitur yang diamati, maka saya akan mengatakan PCA juga menjelaskan kovarians, bukan?

alpukat
sumber
1
Karena plot @ ttnphns merujuk pada representasi ruang subjek , berikut adalah salah satu tutorial tentang ruang variabel dan ruang subjek: BTW, saya tidak tahu tentang plot ruang subjek sebelumnya, sekarang saya memahaminya dan berikut adalah salah satu tutorial tentang hal itu: amstat.org/ publikasi / jse / v10n1 / yu / biplot.html . ;-)
alpukat
1
Saya akan berkomentar juga bahwa plot pemuatan yang menunjukkan pemuatan sebenarnya adalah ruang subjek. Menampilkan ruang variabel dan subjek dalam satu adalah biplot. Beberapa gambar menunjukkannya stats.stackexchange.com/a/50610/3277 .
ttnphns
Berikut adalah pertanyaan tentang apa itu "varian umum" dan "varian bersama" secara terminologis: stats.stackexchange.com/q/208175/3277 .
ttnphns

Jawaban:

45

Perbedaan antara analisis komponen Utama dan analisis Faktor dibahas dalam banyak buku teks dan artikel tentang teknik multivariat. Anda dapat menemukan utas lengkap , dan yang lebih baru , dan jawaban aneh, di situs ini juga.

Saya tidak akan membuatnya rinci. Saya sudah memberikan jawaban yang ringkas dan yang lebih panjang dan ingin mengklarifikasi dengan sepasang gambar.

Representasi grafis

Gambar di bawah ini menjelaskan PCA . (Ini dipinjam dari sini di mana PCA dibandingkan dengan regresi Linear dan korelasi Canonical. Gambar adalah representasi vektor dari variabel dalam ruang subjek ; untuk memahami apa itu Anda mungkin ingin membaca paragraf ke-2 di sana.)

enter image description here

Konfigurasi PCA pada gambar ini dijelaskan di sana . Saya akan mengulangi hal-hal yang paling pokok. Komponen utama P1 dan P2 terletak di ruang yang sama yang direntang oleh variabel X1 dan X2 , "bidang X". Panjang kuadrat dari masing-masing empat vektor adalah variansnya. Kovarians antara X1 dan X2 adalah cov12=|X1||X2|r , dimana r sama dengan cosinus sudut antara vektor-vektornya.

Proyeksi (koordinat) variabel pada komponen, a , adalah pembebanan komponen pada variabel: pembebanan adalah koefisien regresi dalam kombinasi linier variabel pemodelan oleh komponen standar . "Standar" - karena informasi tentang varian komponen sudah diserap dalam pemuatan (ingat, pemuatan adalah vektor eigen yang dinormalisasi ke masing-masing nilai eigen). Dan karena itu, dan fakta bahwa komponen tidak berkorelasi, pemuatan adalah kovarian antara variabel dan komponen.

Menggunakan PCA untuk dimensi / tujuan reduksi data memaksa kita untuk mempertahankan hanya P1 dan menganggap P2 sebagai sisanya, atau kesalahan. a112+a212=|P1|2 adalah varians yang ditangkap (dijelaskan) oleh P1 .


Gambar di bawah ini menunjukkan analisis Faktor yang dilakukan pada variabel yang sama X1 dan X2 dengan yang kami lakukan PCA di atas. (Saya akan berbicara tentang model faktor umum , karena ada yang lain: model faktor alfa, model faktor gambar.) Smiley sun membantu dengan pencahayaan.

Faktor umum adalah F . Ini adalah apa yang analog dengan komponen utama P1 atas. Bisakah Anda melihat perbedaan antara keduanya? Ya, jelas: faktornya tidak terletak pada ruang variabel ' pesawat X ".

Bagaimana cara mendapatkan faktor itu dengan satu jari, yaitu melakukan analisis faktor? Mari mencoba. Pada gambar sebelumnya, kaitkan ujung panah P1 dengan ujung kuku Anda dan tarik menjauh dari "pesawat X", sambil memvisualisasikan bagaimana dua pesawat baru muncul, "pesawat U1" dan "pesawat U2"; ini menghubungkan vektor terkait dan dua vektor variabel. Kedua pesawat membentuk tudung, X1 - F - X2, di atas "pesawat X".

enter image description here

Lanjutkan menarik sambil merenungkan kap dan berhenti ketika "pesawat U1" dan "pesawat U2" membentuk 90 derajat di antara keduanya. Siap, analisis faktor dilakukan. Ya, tapi belum optimal. Untuk melakukannya dengan benar, seperti halnya paket, ulangi seluruh latihan menarik panah, sekarang tambahkan ayunan kecil kiri-kanan jari Anda saat Anda menarik. Dengan melakukannya, cari posisi panah ketika jumlah proyeksi kuadrat dari kedua variabel ke atasnya dimaksimalkan , saat Anda mencapai sudut 90 derajat. Berhenti. Anda melakukan analisis faktor, ditemukan posisi faktor umum F .

Sekali lagi untuk berkomentar, tidak seperti komponen utama P1 , faktor F tidak termasuk dalam ruang variabel "bidang X". Oleh karena itu itu bukan fungsi dari variabel (komponen utama, dan Anda dapat memastikan dari dua gambar teratas di sini bahwa PCA pada dasarnya dua arah: memprediksi variabel dengan komponen dan sebaliknya). Analisis faktor dengan demikian bukan metode deskripsi / penyederhanaan, seperti PCA, itu adalah metode pemodelan dimana faktor laten steere variabel yang diamati, satu arah.

Beban a 's dari faktor pada variabel seperti beban di PCA; mereka adalah kovarian dan mereka adalah koefisien pemodelan variabel oleh faktor (standar). a12+a22=|F|2 adalah varians ditangkap (dijelaskan) oleh F . Faktor itu ditemukan untuk memaksimalkan kuantitas ini - seolah-olah komponen utama. Namun, varians yang dijelaskan itu tidak lebih varians kotor variabel , - sebaliknya, itu adalah varians mereka yang dengannya mereka saling bervariasi (berkorelasi). Kenapa begitu?

Kembali ke foto. Kami mengekstraksi F bawah dua persyaratan. Salah satunya adalah jumlah maksimal pemuatan kuadrat yang baru saja disebutkan. Yang lainnya adalah pembuatan dua bidang tegak lurus, "pesawat U1" yang berisi F dan X1 , dan "pesawat U2" yang berisi F dan X2 . Dengan cara ini masing-masing variabel X muncul terurai. X1 itu didekomposisi menjadi variabel F dan U1 , saling orthogonal; X2 juga didekomposisi menjadi variabel F dan U2 , juga ortogonal. Dan U1bersifat ortogonal ke U2 . Kita tahu apa itu F - faktor umum . U disebut faktor unik . Setiap variabel memiliki faktor uniknya. Artinya adalah sebagai berikut. U1 belakang X1 dan U2 belakang X2 adalah kekuatan yang menghalangi X1 dan X2 untuk berkorelasi. Tapi F - faktor umum - adalah kekuatan di balik X1 dan X2yang membuat mereka berkorelasi. Dan perbedaan yang dijelaskan ada di sepanjang faktor umum itu. Jadi, itu adalah varian collinearity murni. Itu adalah bahwa varians yang membuat cov12>0 ; nilai sebenarnya dari cov12 yang ditentukan oleh kecenderungan variabel terhadap faktor, oleh a 's.

Sebuah variabel varians (panjang vektor kuadrat) dengan demikian terdiri dari dua bagian menguraikan aditif: keunikan u2 dan komunalitas a2 . Dengan dua variabel, seperti contoh kami, kami dapat mengekstraksi paling banyak satu faktor umum, jadi komunality = pemuatan tunggal kuadrat. Dengan banyak variabel kita dapat mengekstrak beberapa faktor umum, dan komunality variabel akan menjadi jumlah dari kuadratnya memuat. Pada gambar kami, ruang faktor umum adalah unidimensional (hanya F itu sendiri); ketika m faktor umum ada, ruang itu adalah m-dimensi, dengan masyarakat menjadi proyeksi variabel di ruang dan beban menjadi variabel 'serta proyeksi proyeksi pada faktor-faktor yang menjangkau ruang. Varians yang dijelaskan dalam analisis faktor adalah varians dalam ruang faktor umum itu, berbeda dari ruang variabel di mana komponen menjelaskan varians. Ruang variabel di perut ruang gabungan: m common + p faktor unik.

enter image description here

Coba tengok pic saat ini. Ada beberapa (katakanlah, X1 , X2 , X3 ) variabel dengan yang analisis faktor dilakukan, penggalian dua faktor umum. Faktor F1 dan F2 rentang ruang faktor umum "faktor pesawat". Dari banyak variabel yang dianalisis, hanya satu ( X1 ) yang ditampilkan pada gambar. Analisis didekomposisi dalam dua bagian orthogonal, komunalitas C1 dan faktor unik U 1 . Komunalitas terletak pada "faktor pesawat" dan koordinat pada faktor-faktor adalah beban dimana faktor umum memuat X 1 (= koordinat X 1 sendiri pada faktor-faktor). Pada gambar, komunitas dari dua variabel lainnya - proyeksi X 2 danU1X1X1X2X3 - juga ditampilkan. Akan menarik untuk berkomentar bahwa dua faktor umum dapat, dalam arti, dilihat sebagaikomponen utamadari semua orangkomunalitas"variabel". Sedangkan komponen utama yang biasa dirangkum oleh senioritas varian total multivariat variabel, faktor merangkum juga varians umum multivariat mereka. 11

Mengapa perlu semua kata-kata itu? Saya hanya ingin memberikan bukti pada klaim bahwa ketika Anda menguraikan masing-masing variabel berkorelasi menjadi dua bagian laten ortogonal, satu (A) mewakili tidak berkorelasi (ortogonalitas) antara variabel dan bagian lainnya (B) mewakili keterkaitan mereka (collinearity), dan Anda mengekstrak faktor hanya dari kombinasi B, Anda akan menemukan diri Anda menjelaskan kovarian berpasangan, oleh pemuatan faktor-faktor tersebut. Dalam model faktor kami, cov12a1a2 - faktor mengembalikankovarian individu melalui pembebanan. Dalam model PCA, tidak demikian karena PCA menjelaskan varians asli yang tidak terdekomposisi, campuran collinear + ortogonal. Kedua komponen kuat yang Anda pertahankan dan yang berikutnya yang Anda lepas adalah fusi dari bagian (A) dan (B); karenanya PCA dapat memanfaatkan, dengan memuatnya, kovarian hanya secara membabi buta dan kasar.


Daftar kontras PCA vs FA

  • PCA: beroperasi di ruang variabel. FA: melampaui ruang variabel.
  • PCA: mengambil variabilitas seperti apa adanya. FA: segmen variabilitas menjadi bagian umum dan unik.
  • PCA: menjelaskan varians nonsegmented, yaitu jejak matriks kovarians. FA: menjelaskan varian umum saja, maka menjelaskan (mengembalikan dengan memuat) korelasi / kovariansi, elemen off-diagonal dari matriks. (PCA menjelaskan elemen off-diagonal juga - tetapi secara sepintas lalu - hanya karena varians dibagi dalam bentuk kovarian.)
  • PCA: komponen adalah fungsi variabel secara teoritis linier, variabel adalah fungsi komponen secara teoritis linier. FA: variabel hanya fungsi faktor linier, hanya.
  • PCA: metode peringkasan empiris; itu tetap komponen m . FA: metode pemodelan teoritis ; itu sesuai dengan angka m pada data; FA dapat diuji (Confirmatory FA).
  • PCA: adalah MDS metrik paling sederhana , bertujuan untuk mengurangi dimensi sekaligus mempertahankan jarak secara tidak langsung antara titik data sebanyak mungkin. FA: Faktor-faktor adalah sifat laten yang penting di belakang variabel yang membuatnya berkorelasi; analisis ini bertujuan untuk mengurangi data hanya pada esensi itu saja.
  • PCA: rotasi / interpretasi komponen - kadang - kadang (PCA tidak cukup realistis sebagai model sifat laten). FA: rotasi / interpretasi faktor - secara rutin.
  • PCA: metode reduksi data saja. FA: juga metode untuk menemukan kelompok variabel koheren (ini karena variabel tidak dapat berkorelasi di luar faktor).
  • PCA: pemuatan dan skor tidak tergantung pada angka m komponen yang "diekstraksi". FA: memuat dan skor tergantung pada jumlah m faktor "diekstraksi".
  • PCA: skor komponen adalah nilai komponen yang tepat. FA: skor faktor mendekati nilai faktor sebenarnya, dan beberapa metode komputasi . Skor faktor memang terletak pada ruang variabel (seperti komponen lakukan) sedangkan faktor sebenarnya (sebagaimana diwujudkan oleh pemuatan faktor) tidak.
  • PCA: biasanya tidak ada asumsi. FA: asumsi korelasi parsial yang lemah; terkadang asumsi normalitas multivarian; beberapa dataset mungkin "buruk" untuk dianalisis kecuali diubah.
  • PCA: algoritma noniteratif; selalu sukses. FA: algoritma iteratif (biasanya); terkadang masalah tidak konvergensi; singularitas mungkin menjadi masalah.

1 X2X3U1X1X1X2X3U1 are the subspaces of it. It's what is different from PCA: factors do not belong to the variables' space. Each variable separately lies in its separate grey plane orthogonal to "factor plane" - just like X1 shown on our pic, and that is all: if we were to add, say, X2 to the plot we should have invented 4th dimension. (Just recall that all Us have to be mutually orthogonal; so, to add another U, you must expand dimensionality farther.)

Demikian pula seperti dalam regresi koefisien adalah koordinat, pada prediktor, baik variabel dependen (s) dan prediksi (s) ( Lihat gambar di bawah "Regresi Berganda", dan di sini juga,) di FApemuatan adalah koordinat, pada faktor-faktor, baik variabel yang diamati dan bagian latennya - komunalitas. Dan persis seperti dalam regresi fakta tidak membuat dependen dan prediktor menjadi subruang satu sama lain, - dalam FA fakta yang sama tidak membuat variabel yang diamati dan faktor laten menjadi subruang satu sama lain. Suatu faktor adalah "alien" terhadap suatu variabel dalam arti yang hampir sama dengan prediktor adalah "alien" terhadap respons dependen. Tetapi dalam PCA, itu adalah cara lain: komponen utama diturunkan dari variabel yang diamati dan terbatas pada ruang mereka.

Jadi, sekali lagi untuk mengulang: m faktor umum FA bukan subruang dari variabel input p . Sebaliknya: variabel membentuk subruang di m + p ( m faktor umum + p faktor unik) union hyperspace. Ketika dilihat dari perspektif ini (yaitu dengan faktor-faktor unik yang tertarik juga) menjadi jelas bahwa FA klasik bukanlah teknik penyusutan dimensionalitas , seperti PCA klasik, tetapi merupakan teknik ekspansi dimensionalitas . Namun demikian, kami memberikan perhatian kami hanya pada bagian kecil ( m dimensional common) dari mengasapi itu, karena bagian ini semata-mata menjelaskan korelasi.

ttnphns
sumber
Thanks, and nice plot. Your answer (stats.stackexchange.com/a/94104/30540) helps a lot.
avocado
2
(+11) Great answer and nice illustrations! (I have to wait two more days before offering the bounty.)
chl
@chl, I'm so moved.
ttnphns
@ttnphns: The "subject space" (your plane X) is a space with as many coordinates as there are data points in the dataset, right? So if a dataset (with two variables X1 and X2) has 100 data points, then your plane X is 100-dimensional? But then how can the factor F lie outside of it? Shouldn't all 100 data points have some values along the factor? And as there are no other data points, it would seem that the factor F has to lie in the same 100-dimensional "subject space", i.e. in the plane X? What am I missing?
amoeba says Reinstate Monica
1
@amoeba, pertanyaan Anda sah dan ya, Anda melewatkan sesuatu. Lihat paragraf 1: stats.stackexchange.com/a/51471/3277 . Dimensi redundan dijatuhkan. Ruang subjek memiliki dimensi aktual dan non-redunden sebanyak ruang variabel terkait. Jadi "ruang X" adalah bidang. Jika kita menambahkan dimensi +1 (untuk mencakup F), seluruh konfigurasi akan tunggal, tidak dapat diselesaikan. F selalu memanjang keluar dari ruang variabel.
ttnphns
10

"Menjelaskan kovarians" vs. menjelaskan varian

Bishop sebenarnya berarti hal yang sangat sederhana. Di bawah model analisis faktor (mis. 12.64)

p(x|z)=N(x|Wz+μ,Ψ)
the covariance matrix of x is going to be (eq. 12.65)
C=WW+Ψ.
This is essentially what factor analysis does: it finds a matrix of loadings and a diagonal matrix of uniquenesses such that the actually observed covariance matrix Σ is as well as possible approximated by C:
ΣWW+Ψ.
Notice that diagonal elements of C will be exactly equal to the diagonal elements of Σ because we can always choose the diagonal matrix Ψ such that the reconstruction error on the diagonal is zero. The real challenge is then to find loadings W that would well approximate the off-diagonal part of Σ.

The off-diagonal part of Σ consists of covariances between variables; hence Bishop's claim that factor loadings are capturing the covariances. The important bit here is that factor loadings do not care at all about individual variances (diagonal of Σ).

In contrast, PCA loadings W~ are eigenvectors of the covariance matrix Σ scaled up by square roots of their eigenvalues. If only m<k principal components are chosen, then

ΣW~W~,
meaning that PCA loadings try to reproduce the whole covariance matrix (and not only its off-diagonal part as FA). This is the main difference between PCA and FA.

Further comments

I love the drawings in @ttnphns'es answer (+1), but I would like to stress that they deal with a very special situation of two variables. If there are only two variables under consideration, the covariance matrix is 2×2, has only one off-diagonal element and so one factor is always enough to reproduce it 100% (whereas PCA would need two components). However in general, if there are many variables (say, a dozen or more) then neither PCA nor FA with small number of components will be able to fully reproduce the covariance matrix; moreover, they will usually (even though not necessarily!) produce similar results. See my answer here for some simulations supporting this claim and for further explanations:

So even though @ttnphns's drawings can make the impression that PCA and FA are very different, my opinion is that it is not the case, except with very few variables or in some other special situations.

See also:

Finally:

For example, let's take a look at the first loading vector w1, for 1i,j,kp, if w1i=10, w1j=11 and w1k=0.1, then I'd say xi and xj are highly correlated, whereas xk seems uncorrelated with them, am I right?

This is not necessarily correct. Yes, in this example xi and xj are likely to be correlated, but you are forgetting about other factors. Perhaps the loading vector w2 of the second factor has large values for xi and xk; this would mean that they are likely to be well correlated as well. You need to take all factors into account to make such conclusions.

amoeba says Reinstate Monica
sumber
Acknowledging your algebraic expertise and certainly greeting your answer I nevertheless wouldn't be so sharp as to label somebody's previous geometric answer (mine in this instance) as "potentially misleading". Words so hugely different are yours, not mine. Second, it is in fact not the case, except with very few variables is itself a revelation which has to be tested deeper than you once did.
ttnphns
Hi @ttnphns, thanks for the comment. I have absolutely nothing against geometric answers, and in fact I prefer them when possible! I honestly like your answer very much and it has my +1. But I do think that considering only a case with two variables makes PCA-vs-FA differences appear stronger than they otherwise are and that this can be potentially (!) misleading. However, you are right in that I should not have used such words in my answer. I apologize, and I have edited it right now. Just to be completely clear: any hostility (if you felt any!) was purely unintentional.
amoeba says Reinstate Monica
@amoeba Why do some people say that FA preserves covariance and PCA preserves variance. From your post, I understand that indeed FA preserves covariance, but PA tries to preserve variance and covariance. Saying that PCA preserves variance comes from its objective function and not from explanations in your post?
user_anon