Penjelasan dasar, namun agak melelahkan, analisis PCA vs Factor dengan bantuan sebar, dalam langkah-langkah logis. (Saya berterima kasih kepada @amoeba yang, dalam komentarnya terhadap pertanyaan itu, telah mendorong saya untuk mengirim jawaban di tempat membuat tautan ke tempat lain. Jadi, inilah waktu luang, respons yang terlambat.)
PCA sebagai peringkasan variabel (ekstraksi fitur)
Semoga Anda sudah memiliki pemahaman tentang PCA. Untuk menghidupkan kembali sekarang.
Misalkan kita memiliki variabel yang berkorelasi dan . Kami memusatkan mereka (kurangi rata-rata) dan lakukan sebar. Kemudian kami melakukan PCA pada data terpusat ini. PCA adalah bentuk rotasi sumbu yang menawarkan sumbu P1 dan P2, bukan V1 dan V2. The properti kunci dari PCA adalah bahwa P1 - yang disebut komponen utama 1 - akan berorientasi sehingga varians dari titik data sepanjang itu dimaksimalkan. Sumbu baru adalah variabel baru yang nilai-nilai yang dihitung selama kita tahu koefisien rotasi (PCA menyediakan mereka) [ Eq.1 ]:V1V2a
P1=a11V1+a12V2
P2=a21V1+a22V2
Koefisien-koefisien tersebut adalah cosinus dari rotasi (= cosinus arah, arah utama) dan terdiri dari apa yang disebut vektor eigen, sedangkan nilai eigen dari matriks kovarians adalah varian komponen utama. Dalam PCA, kami biasanya membuang komponen terakhir yang lemah: dengan demikian kami meringkas data dengan beberapa komponen yang diekstraksi pertama, dengan sedikit kehilangan informasi.
Covariances
V1 V2
V1 1.07652 .73915
V2 .73915 .95534
----PCA----
Eigenvalues %
P1 1.75756 86.500
P2 .27430 13.500
Eigenvectors
P1 P2
V1 .73543 -.67761
V2 .67761 .73543
Dengan data yang diplot, nilai komponen P1 (skor), P1 = .73543*V1 + .67761*V2
dan komponen P2 kami buang. Varians P1 adalah 1.75756
, nilai eigen 1 dari matriks kovarians, dan P1 menjelaskan 86.5%
dari jumlah varians yang sama (1.07652+.95534) = (1.75756+.27430)
.
PCA sebagai prediksi variabel (fitur "laten")
Jadi, kami membuang P2 dan berharap bahwa P1 sendiri dapat mewakili data secara wajar. Itu sama dengan mengatakan bahwa dapat "merekonstruksi" dengan baik atau memprediksi dan [ Persamaan.2 ]:P1 V1V2
V1=a11P1+E1
V2=a12P1+E2
di mana koefisien adalah apa yang sudah kita ketahui dan adalah kesalahan (tidak dapat diprediksi). Ini sebenarnya adalah "model penyesalan" di mana variabel yang diamati diprediksi (kembali) oleh variabel laten (jika untuk memungkinkan memanggil komponen komponen "laten") P1 diekstraksi dari variabel yang sama. Lihatlah plot Gambar 2 , tidak lain adalah Gambar 1 , hanya detail:aE
Sumbu P1 ditunjukkan ubin dengan nilai-nilainya (skor P1) berwarna hijau (nilai-nilai ini adalah proyeksi titik data ke P1). Beberapa titik data sewenang-wenang diberi label A, B, ..., dan keberangkatan (kesalahan) mereka dari P1 adalah konektor hitam tebal. Untuk titik A, perinciannya diperlihatkan: koordinat skor P1 (hijau A) ke sumbu V1 dan V2 adalah nilai-nilai P1-direkonstruksi dari V1 dan V2 menurut Persamaan.2 , dan . Kesalahan rekonstruksi dan juga ditampilkan, berwarna krem. Konektor "kesalahan" panjang kuadrat adalah jumlah dari dua kesalahan kuadrat, menurut Pythagoras.V1^=a11P1V2^=a12P1E1=V1−V1^E2=V2−V2^
Sekarang, apa karakteristik PCA adalah bahwa jika kita menghitung E1 dan E2 untuk setiap titik dalam data dan memplot koordinat ini - yaitu membuat scatterplot dari kesalahan saja, "data kesalahan" awan akan bertepatan dengan komponen P2 yang dibuang. Dan memang demikian: awan diplot pada gambar yang sama dengan awan krem - dan Anda melihatnya benar-benar membentuk sumbu P2 (dari Gambar.1 ) sebagai ubin dengan skor komponen P2.
Tidak heran, Anda bisa mengatakan. Sangat jelas: di PCA , komponen junior yang dibuang adalah yang tepat terurai dalam kesalahan prediksi E, dalam model yang menjelaskan (mengembalikan) variabel asli V oleh fitur laten (s) P1. Kesalahan E bersama hanya merupakan komponen yang tersisih. Di sinilah analisis faktor mulai berbeda dari PCA.
Gagasan umum FA (fitur laten)
Secara formal, model yang memprediksi variabel manifes oleh fitur laten yang diekstraksi adalah sama dalam FA seperti pada PCA; [ Persamaan 3 ]:
V1=a1F+E1
V2=a2F+E2
di mana F adalah faktor umum laten yang diekstraksi dari data dan menggantikan apa yang P1 dalam Persamaan.2 . Perbedaan dalam model adalah bahwa dalam FA, tidak seperti PCA, variabel kesalahan (E1 dan E2) dituntut untuk tidak berkorelasi satu sama lain .
Digresi . Di sini saya tiba-tiba ingin menyela cerita dan membuat gagasan tentang apa koefisien-koefisien . Dalam PCA, kami katakan, ini adalah entri vektor eigen yang ditemukan di dalam PCA (melalui dekomposisi nilai eigen atau singular). Sementara P1 laten memiliki varian aslinya. Jika kita memilih untuk menstandarisasi P1 ke unit variance kita harus mengkompensasinya dengan meningkatkan koefisien , untuk mendukung persamaan. Yang ditingkatkan s disebut beban ; mereka menarik secara numerik karena mereka adalah kovarian (atau korelasi) antara variabel laten dan yang dapat diamati dan karenanya dapat membantu menafsirkan fitur laten. Dalam kedua model - Persamaan.2 dan Persamaan.3aaa- Anda bebas untuk memutuskan, tanpa merusak persamaan, ke arah mana istilah tersebut diskalakan. Jika F (atau P1) dianggap sebagai unit yang diskalakan, memuat; sementara jika F (P1) harus memiliki skala asli (varians), maka harus diskalakan sesuai - dalam PCA yang akan sama dengan entri vektor eigen, tetapi dalam FA mereka akan berbeda dan biasanya tidak disebut "vektor eigen". Dalam kebanyakan teks pada analisis faktor, F diasumsikan Unit varians sehingga Are beban . Dalam literatur PCA, P1 biasanya dibahas memiliki varians sebenarnya dan adalah vektor eigen.aaaa
OK, kembali ke utas. E1 dan E2 tidak berkorelasi dalam analisis faktor; dengan demikian, mereka harus membentuk awan kesalahan baik bulat atau elips tetapi tidak berorientasi diagonal. Sementara di PCA awan mereka membentuk garis lurus bertepatan dengan P2 secara diagonal. Kedua ide tersebut ditunjukkan pada gambar:
Perhatikan bahwa galat adalah awan bulat (tidak memanjang secara diagonal) dalam FA. Faktor (laten) dalam FA berorientasi agak berbeda, yaitu tidak tepat komponen utama pertama yang merupakan "laten" dalam PCA. Pada gambar, garis faktor anehnya berbentuk kerucut - akan menjadi jelas mengapa pada akhirnya.
Apa arti perbedaan antara PCA dan FA ini? Variabel berkorelasi, yang terlihat dalam bentuk elips diagonal dari data cloud. P1 membaca skim varians maksimal, sehingga elips diarahkan langsung ke P1. Akibatnya P1 menjelaskan dengan sendirinya korelasi; tetapi tidak menjelaskan jumlah korelasi yang ada secara memadai; kelihatannya menjelaskan variasi dalam poin data, bukan korelasi. Sebenarnya, ini terlalu memperhitungkan korelasinya, yang hasilnya adalah kemunculan awan kesalahan yang berkorelasi diagonal, yang mengkompensasi kelebihan perhitungan. P1 sendiri tidak dapat menjelaskan kekuatan korelasi / kovarian secara komprehensif. Faktor F bisalakukan sendiri; dan kondisi ketika ia mampu melakukannya justru di mana kesalahan dapat dipaksa untuk tidak berkorelasi. Karena cloud error itu bulat, tidak ada korelasi - positif atau negatif - yang tetap setelah faktor diekstraksi, maka itu adalah faktor yang membaca sekilas semuanya.
Sebagai reduksi dimensi, PCA menjelaskan varians tetapi menjelaskan korelasi secara tidak tepat. FA menjelaskan korelasi tetapi tidak dapat memperhitungkan (dengan faktor umum) variasi data sebanyak yang PCA bisa. Faktor dalam akun FA untuk bagian variabilitas yang merupakan bagian korelasional bersih, yang disebut komunality ; dan karena itu faktor-faktor dapat diartikan sebagai kekuatan / fitur / sifat nyata yang tidak dapat diobservasi yang menyembunyikan "di" atau "di belakang" variabel input untuk membawanya berkorelasi. Karena mereka menjelaskan korelasi dengan baik secara matematis. Komponen utama (beberapa yang pertama) menjelaskannya secara matematis juga dan bisa disebut "sifat laten" (atau semacamnya) hanya pada beberapa bentangan dan sementara .
Penggandaan pembebanan adalah yang menjelaskan (mengembalikan) korelasi, atau berkorelasi dalam bentuk kovarians - jika analisis didasarkan pada matriks kovarians (seperti dalam contoh di luar) daripada matriks korelasi. Analisis faktor yang saya lakukan dengan data yang dihasilkan a_1=.87352, a_2=.84528
, sehingga produk a_1*a_2 = .73837
hampir sama dengan kovarians .73915
. Di sisi lain, beban PCA a1_1=.97497, a1_2=.89832
, jadi a1_1*a1_2 = .87584
terlalu tinggi .73915
.
Setelah menjelaskan perbedaan teoretis utama antara PCA dan FA, mari kembali ke data kami untuk memberikan contoh ide.
FA: solusi perkiraan (skor faktor)
Di bawah ini adalah sebar yang menunjukkan hasil analisis yang untuk sementara kita sebut "analisis faktor sub-optimal", Gbr.3 .
A technical detail (you may skip): PAF method used for factor extraction.
Factor scores computed by Regression method.
Variance of the factor scores on the plot was scaled to the true
factor variance (sum of squared loadings).
Lihat keberangkatan dari Gbr.2 dari PCA. Beige cloud kesalahan tidak bulat, elips diagonal, - namun ternyata jauh lebih gemuk daripada garis diagonal tipis yang terjadi di PCA. Perhatikan juga bahwa konektor kesalahan (ditunjukkan untuk beberapa titik) tidak paralel lagi (dalam PCA, mereka secara paralel sejajar dengan P2). Selain itu, jika Anda melihat, misalnya, pada titik "F" dan "E" yang terletak secara simetris di atas sumbu faktor F , Anda akan menemukan, secara tak terduga, skor faktor yang bersesuaiannya menjadi nilai yang sangat berbeda. Dengan kata lain, skor faktor bukan hanya skor komponen utama yang diubah secara linear: faktor F ditemukan dengan caranya sendiri berbeda dari cara P1. Dan sumbu mereka tidak sepenuhnya bertepatan jika ditunjukkan bersama pada plot yang sama Fig.4 :
Selain itu mereka sedikit berbeda orienterd, F (karena ubin dengan skor) lebih pendek, yaitu menyumbang varians yang lebih kecil daripada akun P1 untuk. Seperti disebutkan sebelumnya, faktor hanya memperhitungkan variabilitas yang bertanggung jawab atas keterkaitan V1 V2, yaitu bagian dari total varians yang cukup untuk membawa variabel dari kovarians purba 0
ke kovarians faktual .73915
.
FA: solusi optimal (faktor sebenarnya)
Solusi faktor optimal adalah ketika kesalahan bulat atau awan elips non-diagonal: E1 dan E2 sepenuhnya tidak berkorelasi . Analisis faktor sebenarnya mengembalikan solusi yang optimal. Saya tidak menunjukkannya di sebar sederhana seperti yang di atas. Kenapa saya? - karena itu akan menjadi hal yang paling menarik.
Alasannya adalah bahwa tidak mungkin untuk menunjukkan pada sebar cukup, bahkan mengadopsi plot 3D. Ini adalah poin yang cukup menarik secara teoritis. Untuk membuat E1 dan E2 benar-benar tidak berkorelasi tampak bahwa ketiga variabel ini, F, E1, E2 harus tidak terletak di ruang (bidang) yang ditentukan oleh V1, V2; dan ketiganya harus tidak berkorelasi satu sama lain . Saya percaya adalah mungkin untuk menggambar sebar seperti itu di 5D (dan mungkin dengan beberapa trik - dalam 4D), tapi kita hidup di dunia 3D, sayangnya. Faktor F harus tidak berkorelasi dengan E1 dan E2 (sementara keduanya tidak berkorelasi juga) karena F seharusnya menjadi satu - satunya sumber (bersih) dan sumber korelasi yang lengkap dalam data yang diamati. Analisis faktor membagi total varian darip
variabel input menjadi dua bagian yang tidak berkorelasi (tidak tumpang tindih): bagian masyarakat ( m
-dimensi, di mana m
faktor-faktor umum berkuasa) dan bagian keunikan ( p
-dimensi, di mana kesalahan, juga disebut faktor unik, saling tidak berkorelasi).
Jadi maafkan karena tidak menunjukkan faktor sebenarnya dari data kami di sebar di sini. Itu bisa divisualisasikan cukup memadai melalui vektor dalam "ruang subjek" seperti yang dilakukan di sini tanpa menunjukkan titik data.
Di atas, di bagian "Gagasan FA umum (fitur laten)" Saya menampilkan faktor (sumbu F) sebagai baji untuk memperingatkan bahwa sumbu faktor sebenarnya tidak terletak pada bidang V1 V2. Itu berarti bahwa - berbeda dengan komponen utama P1 - faktor F sebagai sumbu bukan merupakan rotasi sumbu V1 atau V2 dalam ruangnya, dan F sebagai variabel bukanlah kombinasi linear dari variabel V1 dan V2. Oleh karena itu F dimodelkan (diekstraksi dari variabel V1 v2) seolah-olah variabel luar, independen, bukan turunan dari mereka. Persamaan seperti Eq.1 dari mana PCA dimulai, yang dapat diterapkan untuk menghitung benar (optimal) faktor dalam analisis faktor, sedangkan persamaan secara resmi isomorfik Eq.2 dan Eq.3valid untuk kedua analisis. Artinya, dalam variabel PCA menghasilkan komponen dan komponen kembali memprediksi variabel; dalam faktor FA menghasilkan / memprediksi variabel, dan tidak kembali - model faktor umum secara konseptual mengasumsikan demikian , meskipun faktor teknis diekstraksi dari variabel yang diamati.
Bukan hanya faktor benar yang bukan fungsi dari variabel manifes, nilai - nilai faktor benar tidak didefinisikan secara unik . Dengan kata lain, mereka tidak diketahui. Itu semua adalah karena fakta bahwa kita berada di ruang analitik 5D yang berlebihan dan bukan di ruang 2D rumah kita dari data. Hanya perkiraan yang baik (sejumlah metode ada ) untuk nilai-nilai faktor sebenarnya, yang disebut skor faktor , yang ada untuk kita. Skor faktor terletak pada bidang V1 V2, seperti skor komponen utama, mereka dihitung sebagai fungsi linear dari V1, V2, juga, dan jika merekayang saya diplot di bagian "FA: solusi perkiraan (skor faktor)". Skor komponen utama adalah nilai komponen yang benar; skor faktor hanya perkiraan yang masuk akal untuk nilai faktor benar yang tidak ditentukan.
FA: pembulatan prosedur
Untuk mengumpulkan dalam satu gumpalan kecil apa yang dikatakan dua bagian sebelumnya, dan menambahkan pukulan akhir. Sebenarnya, FA dapat ( jika Anda melakukannya dengan benar, dan lihat juga asumsi data ) menemukan solusi faktor sebenarnya (dengan "benar" yang saya maksud di sini optimal untuk sampel data). Namun, berbagai metode ekstraksi ada (mereka berbeda dalam beberapa kendala sekunder yang mereka taruh). Solusi Faktor yang benar adalah sampai dengan beban hanya. Dengan demikian, pemuatan adalah faktor optimal dan benar. Skor faktor - jika Anda membutuhkannya - dapat dihitung dari pemuatan tersebut dengan berbagai cara dan mengembalikan perkiraan ke nilai faktor.a
Dengan demikian, "solusi faktor" yang ditampilkan oleh saya di bagian "FA: solusi perkiraan (skor faktor)" sebenarnya didasarkan pada pembebanan yang optimal, yaitu pada faktor yang benar. Tetapi skor tidak optimal, berdasarkan takdir. Skor dihitung sebagai fungsi linier dari variabel yang diamati, seperti skor komponen, sehingga keduanya dapat dibandingkan pada sebar plot dan saya melakukannya dalam pengejaran didaktik untuk menunjukkan seperti lulus bertahap dari ide PCA menuju ide FA.
Seseorang harus waspada ketika merencanakan pada pemuatan faktor biplot yang sama dengan skor faktor dalam "ruang faktor", sadarilah bahwa pemuatan berkaitan dengan faktor sebenarnya sedangkan skor berkaitan dengan faktor pengganti (lihat komentar saya untuk jawaban ini di utas ini).
Rotasi faktor (memuat) membantu menafsirkan fitur laten. Rotasi beban dapat dilakukan juga di PCA jika Anda menggunakan PCA seolah-olah analisis faktor (yaitu, lihat PCA sebagai prediksi variabel). PCA cenderung menyatu dalam hasil dengan FA karena jumlah variabel tumbuh (lihat utas yang sangat kaya tentang persamaan dan perbedaan praktis dan konseptual antara kedua metode). Lihat daftar perbedaan saya antara PCA dan FA di akhir jawaban ini . Perhitungan langkah demi langkah PCA vs FA pada set data iris ditemukan di sini . Ada banyak tautan bagus ke jawaban peserta lain tentang topik di luar utas ini; Maaf saya hanya menggunakan beberapa dari mereka dalam jawaban saat ini.
Lihat juga daftar peluru perbedaan antara PCA dan FA di sini .