PCA dan Analisis Faktor Eksplorasi pada dataset yang sama: perbedaan dan persamaan; model faktor vs PCA

19

Saya ingin tahu apakah masuk akal logis untuk melakukan analisis komponen utama (PCA) dan analisis faktor eksplorasi (EFA) pada kumpulan data yang sama. Saya telah mendengar para profesional secara tegas merekomendasikan:

  1. Memahami apa tujuan analisis dan pilih PCA atau EFA untuk analisis data;
  2. Setelah melakukan satu analisis tidak perlu melakukan analisis lainnya.

Saya memahami perbedaan motivasi antara keduanya, tetapi saya hanya ingin tahu apakah ada yang salah dalam menafsirkan hasil yang diberikan oleh PCA dan PUS pada saat yang sama?

pengguna42538
sumber
8
Mengapa tidak aman? Jika Anda memahami perbedaan motivasi antara keduanya, Anda harus berada di salah satu dari dua posisi: Anggap mereka sebagai pelengkap dan bersedia untuk mengeksplorasi keduanya. Anggap seseorang jauh lebih meyakinkan untuk apa yang ingin Anda lakukan. Tampaknya Anda ingin diberi tahu bahwa ada hal yang benar untuk dilakukan, tetapi PCA dengan atau melawan FA adalah bidang kontroversi yang sudah berlangsung lama sehingga jika dua ahli sepakat, biasanya hanya mereka berdua tidak setuju dengan pakar ketiga, tetapi untuk alasan
Nick Cox
Apa yang kamu pelajari? Beberapa ilmu sosial seperti kebahagiaan atau data objektif seperti suku bunga?
Aksakal

Jawaban:

20

Kedua model - komponen utama dan faktor umum - adalah model penyesalan linier sederhana yang sama yang memprediksi variabel yang diamati oleh variabel laten. Mari kita memusatkan variabel V1 V2 ... Vp dan kami memilih untuk mengekstrak 2 komponen / faktor FI dan FII . Maka modelnya adalah sistem persamaan:

V1=Sebuah1sayaFsaya+Sebuah1sayasayaFsayasaya+E1

V2=Sebuah2sayaFsaya+Sebuah2sayasayaFsayasaya+E2

...

Vhal=...

di mana koefisien a adalah pembebanan, F adalah faktor atau komponen, dan variabel E adalah residu regresi. Di sini, FA Model berbeda dari model yang PCA persis dengan yang FA membebankan persyaratan: variabel E1 E2 ... Ep (istilah kesalahan yang tidak berkorelasi dengan F s) harus tidak berkorelasi satu sama lain ( Lihat gambar ). Variabel kesalahan ini FA memanggil "faktor unik"; varians mereka dikenal ("keunikan") tetapi nilai-nilai kasual mereka tidak. Oleh karena itu, skor faktor F dihitung sebagai perkiraan yang baik saja, mereka tidak tepat.

(Presentasi aljabar matriks model analisis faktor umum ini ada di Catatan Kaki )1

Sedangkan dalam PCA variabel kesalahan dari memprediksi variabel yang berbeda dapat berkorelasi secara bebas: tidak ada yang dikenakan pada mereka. Mereka menyatakan bahwa "sampah" kami telah mengambil dimensi p-2 yang tertinggal . Kami tahu nilai-nilai E dan kami dapat menghitung skor komponen F sebagai nilai yang tepat.

Itulah perbedaan antara model PCA dan model FA.

Karena perbedaan yang diuraikan di atas, FA dapat menjelaskan korelasi berpasangan (kovariansi). PCA umumnya tidak dapat melakukannya (kecuali jumlah komponen yang diekstraksi = p ); itu hanya dapat menjelaskan varians multivarian . Jadi, selama istilah "Analisis faktor" didefinisikan melalui tujuan untuk menjelaskan korelasi, PCA bukanlah analisis faktor. Jika "Analisis faktor" didefinisikan secara lebih luas sebagai metode yang menyediakan atau menyarankan "sifat" laten yang dapat ditafsirkan, PCA dapat dilihat adalah bentuk analisis faktor yang khusus dan paling sederhana .2

Kadang - kadang - dalam beberapa dataset dalam kondisi tertentu - PCA meninggalkan istilah E yang hampir tidak saling berhubungan. Kemudian PCA dapat menjelaskan korelasi dan menjadi seperti FA. Sangat tidak biasa dengan dataset dengan banyak variabel. Ini membuat beberapa pengamat mengklaim bahwa hasil PCA menjadi dekat dengan hasil FA saat data bertambah. Saya pikir itu bukan aturan, tapi kecenderungannya memang mungkin. Bagaimanapun, mengingat perbedaan teoretis mereka, selalu baik untuk memilih metode secara sadar. FA adalah model yang lebih realistis jika Anda ingin mengurangi variabel menjadi laten yang akan Anda anggap sebagai sifat laten nyata yang berdiri di belakang variabel dan membuatnya berkorelasi.

Tetapi jika Anda memiliki tujuan lain - mengurangi dimensionalitas sambil menjaga jarak antara titik-titik cloud data sebanyak mungkin - PCA lebih baik daripada FA. (Namun, iterative Multidimensional scaling (MDS) prosedur akan lebih baik daripada itu. PCA sama dengan MDS metrik noniteratif.) Jika Anda lebih lanjut tidak terlalu repot dengan jarak dan hanya tertarik untuk mempertahankan sebanyak varian keseluruhan data. mungkin, dengan beberapa dimensi - PCA adalah pilihan optimal.


1 Factor Model analisis data: , di mana V adalah data yang dianalisis (kolom berpusat atau standar), F adalah nilai-nilai faktor umum (yang benar tidak diketahui, tidak skor faktor) dengan unit variance, A adalah matriks pembebanan faktor umum (pola matriks), E adalah nilai faktor unik (tidak diketahui), u adalah vektor dari pembebanan faktor unik yang sama dengan akar kuadrat dari keunikan ( u 2 ). BagianV=FSEBUAH+EdsayaSebuahg(kamu)Vn cases x p variablesFn x mSEBUAHp x mEn x pkamupkamu2 dapat dilabeli sebagai "E" untuk kesederhanaan, karena itu ada dalam formula yang membuka jawabannya.EdsayaSebuahg(kamu)

Asumsi utama dari model:

  • Variabel F dan E (faktor umum dan unik, masing-masing) memiliki nol mean dan varians unit; E biasanya diasumsikan multivariat normal tetapi F dalam kasus umum tidak perlu multivariat normal (jika keduanya diasumsikan multivariat normal maka V juga demikian);FEEFV
  • Variabel E tidak berkorelasi satu sama lain dan tidak berkorelasi denganvariabel F.EF

Ini mengikuti darimodelanalisis faktorumumbahwa memuat A darifaktormumum (m<pvariabel), juga dilambangkan A ( m ) , harus mereproduksi kovariances diamati (atau korelasi) antara variabel, Σ . Sehingga jika faktor ortogonal,teorema faktorfundamentalmenyatakan itu2 SEBUAHSEBUAH(m)Σ

danΣ Σ +diag(u2),Σ^=SEBUAHSEBUAHΣΣ^+dsayaSebuahg(kamu2)

di mana Σ adalah matriks covariances direproduksi (atau korelasi) dengan varians umum ( "communalities") pada diagonal; dan varians unik ("keunikan") - yang merupakan varian minus komunitas - adalah vektor u 2 . Perbedaan off-diagonal ( ) adalah karena faktor-faktor tersebut adalah model teoritis yang menghasilkan data, dan karena itu lebih sederhana daripada data yang diamati. Penyebab utama perbedaan antara kovariansi yang diamati dan yang direproduksi (atau korelasi) mungkin: (1) jumlah faktor m tidak optimal secara statistik; (2) korelasi parsial (ini adalahΣ^kamu2p(p-1)/2faktor yang bukan milik faktor umum) diucapkan; (3) masyarakat tidak dinilai dengan baik, nilai-nilai awal mereka buruk; (4) hubungan tidak linier, menggunakan model linier adalah kuesioner; (5) model "subtipe" yang dihasilkan oleh metode ekstraksi tidak optimal untuk data (lihat tentang metode ekstraksi yang berbeda ). Dengan kata lain, beberapa asumsi data FA tidak sepenuhnya dipenuhi.

Sedangkan untuk PCA biasa , ia mereproduksi kovarian dengan memuat tepat ketika m = p (semua komponen digunakan) dan biasanya gagal melakukannya jika m < p (hanya beberapa komponen pertama yang dipertahankan). Teorema faktor untuk PCA adalah:

,Σ=SEBUAHSEBUAH(hal)=SEBUAHSEBUAH(m)+SEBUAHSEBUAH(hal-m)

jadi baik pemuatan dan pemuatan A ( p - m ) yang dijatuhkan adalah campuran dari komunalitas dan keunikan dan tidak satu pun yang dapat membantu memulihkan kovarian. Semakin dekat m ke p , PCA yang lebih baik mengembalikan kovarian, sebagai aturan, tetapi m kecil (yang sering kali menjadi kepentingan kita) tidak membantu. Ini berbeda dari FA, yang dimaksudkan untuk memulihkan kovarian dengan jumlah faktor optimal yang cukup kecil. Jika A A ( p - m ) mendekati diagonalitas PCA menjadi seperti FA, dengan ASEBUAH(m)SEBUAH(hal-m)SEBUAHSEBUAH(hal-m) mengembalikan semua kovarian. Ini terjadi sesekali dengan PCA, seperti yang telah saya sebutkan. Tetapi PCA tidak memiliki kemampuan algoritmik untuk memaksakan diagonalisasi seperti itu. Algoritma FA-lah yang melakukannya.SEBUAH(m)

FA, bukan PCA, adalah model data generatif: ia mengandaikan beberapa faktor umum "benar" (biasanya nomor tidak dikenal, jadi Anda mencoba m dalam kisaran) yang menghasilkan nilai "benar" untuk kovarian. Kovarian yang diamati adalah yang "benar" + derau acak kecil. (Hal ini disebabkan oleh diagonalisasi yang dilakukan yang meninggalkan satu - satunya pemulih semua kovarian, bahwa kebisingan di atas dapat kecil dan acak.) Berusaha menyesuaikan lebih banyak faktor daripada jumlah optimal untuk upaya overfitting, dan belum tentu upaya overfitting yang efisien .SEBUAH(m)

FA dan PCA bertujuan memaksimalkan , tetapi untuk PCA itu adalah satu-satunya tujuan; untuk FA itu adalah tujuan yang bersamaan, yang lain adalah untuk mendiagonalisasi keunikan. Jejak itu adalah jumlah dari nilai eigen di PCA. Beberapa metode ekstraksi dalam FA menambahkan tujuan yang lebih bersamaan dengan mengorbankan memaksimalkan jejak, sehingga tidak terlalu penting.trSebuahce(SEBUAHSEBUAH(m))

ΣSEBUAHSEBUAHtrSebuahce(SEBUAHSEBUAH)trSebuahce(SEBUAHSEBUAH)SEBUAHSEBUAH

Berkat memaksimalkan jejak - perbedaan yang dijelaskan oleh komponen m - PCA merupakan akuntansi untuk kovarian, karena kovarians adalah varian bersama. Dalam hal ini PCA adalah "aproksimasi peringkat rendah" dari seluruh matriks variabel kovarians. Dan ketika dilihat dari sudut pandang pengamatan, perkiraan ini adalah perkiraan dari matriks pengamatan jarak Euclidean (itulah sebabnya PCA adalah metrik MDS yang disebut "Analisis koordinat utama). Fakta ini seharusnya tidak menyaring kita dari kenyataan bahwa PCA tidak memodelkannya. matriks kovarians (masing-masing kovarians) yang dihasilkan oleh beberapa sifat laten hidup yang dapat dibayangkan sebagai transenden terhadap variabel kami, perkiraan PCA tetap imanen, bahkan jika itu baik: itu adalah penyederhanaan data.


Jika Anda ingin melihat perhitungan langkah demi langkah yang dilakukan dalam PCA dan FA, dikomentari dan dibandingkan, silakan lihat di sini .

ttnphns
sumber
Itu jawaban yang sangat bagus.
Subhash C. Davar
2
+1 karena memberi saya perspektif baru untuk melihat PCA. Sekarang seperti yang saya pahami, baik PCA dan FA dapat menjelaskan varians dari variabel yang diamati, dan karena FA menentukan bahwa istilah kesalahan untuk setiap variabel tidak boleh dikorelasikan, sedangkan PCA tidak membuat dikte seperti itu, sehingga FA dapat menangkap semua kovarians dalam variabel yang diamati, tetapi PCA gagal melakukan itu, karena dalam PCA istilah kesalahan mungkin juga mengandung beberapa kovarian dari variabel yang diamati, kecuali kita menggunakan semua PC untuk mewakili variabel yang diamati, bukan?
alpukat
1
Persis. PCA tidak hanya dapat meremehkan nilai kovarians (seperti yang mungkin Anda pikirkan), PCA juga dapat meremehkannya. Singkatnya, a1 * a2 <> Cov12, yang merupakan perilaku normal untuk PCA. Untuk FA, itu akan menjadi tanda solusi suboptimal (misalnya, jumlah faktor yang salah diekstraksi).
ttnphns
Σ=WW+σ2sayaΣ=WW+ΨΨ
Amoeba berkata Reinstate Monica
ΣWWWΨσ2
6

Saya memberikan akun saya sendiri tentang persamaan dan perbedaan antara PCA dan FA di utas berikut: Apakah ada alasan bagus untuk menggunakan PCA daripada EFA? Juga, dapatkah PCA menjadi pengganti untuk analisis faktor?

Perhatikan bahwa akun saya agak berbeda dari yang oleh @ttnphns (seperti yang disajikan dalam jawabannya di atas). Klaim utama saya adalah bahwa PCA dan FA tidak berbeda seperti yang sering dipikirkan. Mereka memang bisa sangat berbeda ketika jumlah variabel sangat rendah, tetapi cenderung menghasilkan hasil yang sangat mirip begitu jumlah variabel lebih dari sekitar selusin. Lihat jawaban [panjang!] Saya di utas tertaut untuk detail matematis dan simulasi Monte Carlo. Untuk versi argumen saya yang jauh lebih ringkas, lihat di sini: Dalam kondisi apa PCA dan FA menghasilkan hasil yang serupa?

Di sini saya ingin secara eksplisit menjawab pertanyaan utama Anda: Apakah ada yang salah dengan melakukan PCA dan FA pada set data yang sama? Jawaban saya untuk ini adalah: Tidak.

Saat menjalankan PCA atau FA, Anda tidak menguji hipotesis apa pun. Keduanya adalah teknik eksplorasi yang digunakan untuk mendapatkan pemahaman yang lebih baik tentang data. Jadi mengapa tidak mencari data dengan dua alat yang berbeda? Bahkan, mari kita lakukan!

Contoh: kumpulan data anggur

n=178hal=13

Analisis PCA dan FA dari dataset anggur

amuba kata Reinstate Monica
sumber
If the results turn out to be very similar, then you can decide to stick with only one approach. Tentu. Seberapa miripkah itu? If the results turn out to be very different, then maybe it tells you something about your dataItu sangat mistis & esoteris.
ttnphns
Hmmm, maaf kalau tidak jelas. Yang saya maksudkan adalah bahwa jika ada banyak variabel dan PCA menghasilkan pemuatan yang sangat berbeda dari FA, itu memberi tahu kita sesuatu. Mungkin, komunalitas sangat rendah (yaitu matriks korelasi didominasi oleh diagonal, dan elemen off-diagonal kecil). Ini bisa menjadi pengamatan yang menarik. Jika saya karena alasan tertentu menganalisis dataset yang sama dengan PCA dan FA dan mendapatkan hasil yang sangat berbeda, saya akan memeriksanya lebih lanjut. Apakah masuk akal?
Amoeba berkata Reinstate Monica
@ttnphns: Saya membuat pembaruan dengan contoh yang dikerjakan untuk satu dataset tertentu. Saya harap Anda akan menikmatinya! Lihat juga jawaban saya yang ditautkan (baru). Ini pertama kalinya saya membuat biplot FA, dan percakapan kami sebelumnya banyak membantu saya untuk itu.
Amoeba berkata Reinstate Monica