Tôi là một sinh viên tốt nghiệp ngành khoa học máy tính. Tôi đã làm một số phân tích nhân tố khám phá cho một dự án nghiên cứu. Các đồng nghiệp của tôi (người đang dẫn dắt dự án) sử dụng SPSS, trong khi tôi thích sử dụng R. Điều này không thành vấn đề cho đến khi chúng tôi phát hiện ra sự khác biệt lớn giữa hai gói thống kê.
Chúng tôi đang sử dụng bao thanh toán trục chính làm phương pháp trích xuất (xin lưu ý rằng tôi nhận thức rõ về sự khác biệt giữa PCA và phân tích nhân tố và chúng tôi không sử dụng PCA , ít nhất là không cố ý). Từ những gì tôi đã đọc, điều này phải tương ứng với phương pháp "trục chính" trong R, và một trong hai "bao thanh toán trục chính" hay "bình phương nhỏ nhất không trọng số" trong SPSS, theo tài liệu R . Chúng tôi đang sử dụng một phương pháp xoay xiên (cụ thể là promax ) vì chúng tôi mong đợi các yếu tố tương quan và đang diễn giải ma trận mẫu .
Chạy hai thủ tục trong R và SPSS, có sự khác biệt lớn. Ma trận mẫu cho các tải khác nhau. Mặc dù điều này mang lại ít nhiều yếu tố giống nhau cho các mối quan hệ khác nhau, nhưng có đến 0,15 sự khác biệt giữa các lần tải tương ứng, điều này dường như được mong đợi nhiều hơn chỉ bằng cách thực hiện khác nhau của phương pháp trích xuất và xoay vòng promax. Tuy nhiên, đó không phải là sự khác biệt đáng ngạc nhiên nhất.
Phương sai tích lũy được giải thích bởi các yếu tố là khoảng 40% trong kết quả SPSS và 31% trong kết quả R. Đây là một sự khác biệt rất lớn và đã dẫn đến các đồng nghiệp của tôi muốn sử dụng SPSS thay vì R. Tôi không có vấn đề gì với điều này, nhưng một sự khác biệt lớn khiến tôi nghĩ rằng chúng ta có thể hiểu sai điều gì đó, đó là một vấn đề.
Làm vấy bẩn vùng biển thậm chí nhiều hơn, SPSS báo cáo các loại phương sai được giải thích khác nhau khi chúng tôi chạy bao thanh toán bình phương nhỏ nhất không trọng số. Tỷ lệ phương sai được giải thích theo Eigenvalues ban đầu là 40%, trong khi tỷ lệ phương sai được giải thích từ Trích xuất tổng tải bình phương (SSL) là 33%. Điều này khiến tôi nghĩ rằng Eigenvalues ban đầu không phải là con số thích hợp để xem xét (tôi nghi ngờ đây là phương sai được giải thích trước khi xoay, mặc dù nó quá lớn so với tôi). Khó hiểu hơn nữa, SPSS cũng hiển thị SSL Rotation, nhưng không tính được tỷ lệ phần trăm của phương sai được giải thích (SPSS cho tôi biết rằng có các yếu tố tương quan có nghĩa là tôi không thể thêm SSL để tìm tổng phương sai, điều này hợp lý với toán học tôi đã thấy). Các SSL được báo cáo từ R không khớp với bất kỳ trong số này và R cho tôi biết rằng nó mô tả 31% tổng phương sai. SSL của R khớp với SSL Rotation một cách chặt chẽ nhất. Giá trị riêng của R từ ma trận tương quan ban đầu khớp với Giá trị riêng ban đầu từ SPSS.
Ngoài ra, xin lưu ý rằng tôi đã chơi xung quanh bằng cách sử dụng các phương pháp khác nhau và rằng ULS và PAF của SPSS dường như khớp với phương pháp PA của R gần nhất.
Câu hỏi cụ thể của tôi:
- Tôi mong đợi bao nhiêu sự khác biệt giữa R và SPSS với việc triển khai phân tích nhân tố?
- Tôi nên diễn giải các phép tính tổng bình phương nào từ SPSS, Giá trị ban đầu, khai thác hoặc phép quay?
- Có bất kỳ vấn đề nào khác mà tôi có thể đã bỏ qua?
Các cuộc gọi của tôi đến SPSS và R như sau:
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)