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:
- Memahami apa tujuan analisis dan pilih PCA atau EFA untuk analisis data;
- 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?
pca
factor-analysis
pengguna42538
sumber
sumber
Jawaban:
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:
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.
n cases x p variables
n x m
p x m
n x p
p
Asumsi utama dari model:
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 SEBUAH SEBUAH( m ) Σ
danΣ≈ Σ +diag(u2),Σ^= A A′ Σ ≈ Σ^+ d i a g ( u2)
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Σ^ kamu2 ≈
p(p-1)/2
faktor 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:
,Σ = A A′( p )= A A′( m )+ A A′( p - 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( p - m ) A A′( p - 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.t r a c e ( A′SEBUAH( m ))
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 .
sumber
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
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 data
Itu sangat mistis & esoteris.