Saya seorang mahasiswa pascasarjana dalam ilmu komputer. Saya telah melakukan beberapa analisis faktor eksplorasi untuk proyek penelitian. Rekan-rekan saya (yang memimpin proyek) menggunakan SPSS, sementara saya lebih suka menggunakan R. Ini tidak masalah sampai kami menemukan perbedaan besar antara dua paket statistik.
Kami menggunakan pemfaktoran sumbu utama sebagai metode ekstraksi (harap dicatat bahwa saya menyadari perbedaan antara PCA dan analisis faktor, dan bahwa kami tidak menggunakan PCA , setidaknya tidak dengan sengaja). Dari apa yang saya baca, ini harus sesuai dengan metode "sumbu utama" di R, dan baik "anjak piutang sumbu utama" atau "tertimbang kuadrat" di SPSS, menurut dokumentasi R . Kami menggunakan metode rotasi miring (khususnya, promax ) karena kami mengharapkan faktor yang berkorelasi, dan menafsirkan matriks pola .
Menjalankan dua prosedur dalam R dan SPSS, ada perbedaan besar. Matriks pola memberikan beban yang berbeda. Meskipun ini memberikan lebih atau kurang faktor yang sama untuk hubungan variabel, ada hingga 0,15 perbedaan antara beban yang sesuai, yang tampaknya lebih dari yang diharapkan oleh hanya implementasi yang berbeda dari metode ekstraksi dan rotasi promax. Namun, itu bukan perbedaan yang paling mengejutkan.
Varians kumulatif yang dijelaskan oleh faktor-faktor tersebut adalah sekitar 40% dalam hasil SPSS, dan 31% dalam hasil R. Ini adalah perbedaan besar, dan telah menyebabkan kolega saya ingin menggunakan SPSS alih-alih R. Saya tidak punya masalah dengan ini, tetapi perbedaan yang besar membuat saya berpikir bahwa kita mungkin menafsirkan sesuatu secara tidak benar, yang merupakan masalah.
Semakin memperkeruh perairan, SPSS melaporkan berbagai jenis varian yang dijelaskan ketika kami menjalankan anjak kuadrat terkecil berbobot. Proporsi varians yang dijelaskan oleh Initial Eigenvalues adalah 40%, sedangkan proporsi varians yang dijelaskan dari Jumlah Ekstraksi Jumlah Pemadatan Kuadrat (SSL) adalah 33%. Ini membuat saya berpikir bahwa Nilai Eigen Awal bukan angka yang tepat untuk dilihat (saya menduga ini adalah perbedaan yang dijelaskan sebelum rotasi, meskipun yang begitu besar di luar saya). Yang lebih membingungkan, SPSS juga menunjukkan Rotasi SSL, tetapi tidak menghitung persentase varian yang dijelaskan (SPSS memberitahu saya bahwa memiliki faktor yang berkorelasi berarti saya tidak dapat menambahkan SSL untuk menemukan varian total, yang masuk akal dengan matematika yang pernah saya lihat). SSL yang dilaporkan dari R tidak cocok dengan semua ini, dan R memberitahu saya bahwa itu menggambarkan 31% dari total varians. SSL R cocok dengan Rotasi SSL yang paling dekat. Nilai eigen R dari matriks korelasi asli memang cocok dengan nilai Eigen awal dari SPSS.
Juga, harap dicatat bahwa saya telah bermain-main dengan menggunakan metode yang berbeda, dan bahwa ULS dan PAF SPSS tampaknya cocok dengan metode PA R yang paling dekat.
Pertanyaan spesifik saya:
- Berapa banyak perbedaan yang harus saya harapkan antara R dan SPSS dengan implementasi analisis faktor?
- Manakah dari Jumlah Beban Kuadrat dari SPSS yang harus saya interpretasikan, Nilai Eigen Awal, Ekstraksi, atau Rotasi?
- Apakah ada masalah lain yang mungkin saya abaikan?
Panggilan saya ke SPSS dan R adalah sebagai berikut:
SPSS:
FACTOR
/VARIABLES <variables>
/MISSING PAIRWISE
/ANALYSIS <variables>
/PRINT INITIAL KMO AIC EXTRACTION ROTATION
/FORMAT BLANK(.35)
/CRITERIA FACTORS(6) ITERATE(25)
/EXTRACTION ULS
/CRITERIA ITERATE(25)
/ROTATION PROMAX(4).
R:
library(psych)
fa.results <- fa(data, nfactors=6, rotate="promax",
scores=TRUE, fm="pa", oblique.scores=FALSE, max.iter=25)
sumber
Jawaban:
Pertama-tama, saya merekomendasikan ttnphns kedua untuk melihat solusi sebelum rotasi. Analisis faktor seperti yang diterapkan dalam SPSS adalah prosedur yang kompleks dengan beberapa langkah, membandingkan hasil dari masing-masing langkah ini akan membantu Anda untuk menentukan masalah.
Secara khusus Anda dapat menjalankan
untuk melihat matriks korelasi yang digunakan SPSS untuk melakukan analisis faktor. Kemudian, di R, siapkan matriks korelasi sendiri dengan menjalankan
Setiap perbedaan dalam cara nilai-nilai yang hilang ditangani harus jelas pada tahap ini. Setelah Anda memeriksa bahwa matriks korelasinya sama, Anda dapat memasukkannya ke fungsi fa dan menjalankan analisis Anda lagi:
Jika Anda masih mendapatkan hasil yang berbeda di SPSS dan R, masalahnya tidak hilang terkait nilai.
Selanjutnya, Anda dapat membandingkan hasil analisis faktor / metode ekstraksi itu sendiri.
dan
Sekali lagi, bandingkan matriks faktor / komunitas / jumlah pemuatan kuadrat. Di sini Anda dapat mengharapkan beberapa perbedaan kecil tetapi tentu saja tidak sebesar yang Anda gambarkan. Semua ini akan memberi Anda ide yang lebih jelas tentang apa yang terjadi.
Sekarang, untuk menjawab tiga pertanyaan Anda secara langsung:
sumber
fa
fungsi dalam R adalah daripsych
paket. Thefactanal
fungsi dari paket dasar harus melakukan yang sama, tapipsych
layak menggunakan untuk tujuan lain pula. Bahkan, karena ini adalah data Likert, akan lebih bijaksana untuk menggunakanpsych
paket itufa.poly
sebagai gantinya: lihat dokumentasi bantuan .Baru-baru ini saya telah menemukan bahwa sebagian besar perbedaan analisis faktor antara SPSS dan R (dengan paket Psikologi) menjernihkan ketika data diperlakukan hilang-listwise dalam setiap program, matriks korelasi menunjukkan persis sama di masing-masing, dan tidak ada rotasi miring digunakan.
Satu perbedaan yang tersisa adalah dalam rangkaian nilai yang muncul dalam plot scree yang menunjukkan nilai eigen setelah ekstraksi. Dalam "scree (cor (mydata))" R "faktor-faktor ini" tidak cocok dengan yang tercantum dalam tabel Dijelaskan Varians SPSS di bawah "Jumlah Ekstraksi dari Pemuatan Kuadrat." Perhatikan bahwa "komponen" plot R scree cocok dengan plot scree SPSS, yang juga cocok dengan "Initial Eigenvalues" tabel varians yang Dijelaskan.
Saya juga menemukan bahwa "Proportion Var" yang dijelaskan oleh masing-masing faktor adalah, dalam R, kadang-kadang dilaporkan sebagai (proporsi untuk faktor yang diberikan) / (jumlah yang dijelaskan oleh semua faktor), sementara di lain waktu itu adalah (proporsi untuk faktor yang diberikan) (jumlah item dalam analisis). Jadi, jika Anda mendapatkan yang pertama, itu adalah, sementara bukan kecocokan, setidaknya sebanding dengan dan turunan dari apa yang dilaporkan SPSS di bawah "Jumlah Ekstraksi dari Beban Kuadrat ...% dari Varians."
Memperkenalkan rotasi oblimin di setiap program, bagaimanapun, menciptakan perbedaan yang cukup besar dalam pemuatan item atau varians faktor yang menjelaskan bahwa saya belum dapat menyelesaikannya.
sumber
Metode rotasi default di R adalah oblimin, jadi ini kemungkinan akan menyebabkan perbedaan. Sebagai tes jalankan PAF / oblimin di SPSS dan R dan Anda akan menemukan hasil yang hampir sama.
sumber
Saya tidak tahu apa yang menyebabkan perbedaan dalam pemuatan pola, tetapi saya berasumsi bahwa perbedaan dalam% dari varians yang dijelaskan adalah karena: - apakah Anda mungkin menafsirkan bagian pertama (dari 2 atau 3) SPSS menjelaskan tabel varians yang sebenarnya menunjukkan hasil analisis komponen utama. Bagian kedua menunjukkan hasil untuk hasil analisis faktor yang tidak diputar dan hasil ketiga setelah rotasi (jika digunakan). - fakta bahwa fa berfungsi (atau lebih tepatnya metode cetaknya) salah menghitung SSL untuk faktor miring. Untuk mendapatkan% dari total varians yang dijelaskan oleh faktor, Anda harus menghitung jumlah beban struktural kuadrat berdasarkan faktor dan membaginya dengan jumlah variabel. Namun, Anda tidak dapat menjumlahkan ini (dalam kasus rotasi miring) untuk mendapatkan% dari perbedaan dijelaskan oleh semua faktor. Untuk mendapatkan ini,
sumber
Jawaban ini aditif untuk yang di atas. Seperti yang disarankan oleh Gala dalam jawabannya, pertama-tama orang harus menentukan apakah solusi yang diberikan oleh R (mis. Fa in psych) dan SPSS berbeda sebelum rotasi. Jika sama, maka lihat pengaturan rotasi di setiap program. (Untuk SPSS, Anda dapat menemukan semua pengaturan dalam entri manual referensi untuk FACTOR).
Satu pengaturan penting untuk dicari adalah normalisasi Kaiser . Secara default, SPSS melakukan normalisasi Kaiser selama rotasi, sedangkan beberapa fungsi R seperti 'fa' tidak. Anda dapat mengontrol pengaturan itu di SPSS dengan menentukan / CRITERIA = NOKAISER / KAISER, untuk memverifikasi apakah itu menghilangkan ketidaksesuaian antara hasil dengan masing-masing program.
sumber