Quy trình được đề xuất để phân tích nhân tố trên dữ liệu nhị phân với R


10

Tôi phải chạy một phân tích nhân tố trên một tập dữ liệu được tạo thành từ các biến nhị phân (0 = có, 1 = không) và tôi không biết nếu tôi đi đúng hướng.

Sử dụng tetrachoric()tôi tạo một ma trận tương quan, trên đó tôi chạy fa(data,factors=1). Kết quả khá gần với kết quả tôi nhận được khi sử dụng MixFactor , nhưng nó không giống nhau.

  1. Điều này là ok hoặc bạn sẽ đề nghị một thủ tục khác?
  2. Tại sao làm fa()việc và factanal()tạo ra một lỗi? ( Fehler in solve.default(cv) : System ist für den Rechner singulär: reziproke Konditionszahl = 4.22612e-18)

1
Tôi không nói được (tiếng Đức?) Nhưng lỗi có vẻ như là do ma trận tetrachoric là số ít (không thể đảo ngược). Ngay cả với một mẫu có kích thước tốt, một số ước tính của ma trận tương quan đa âm có thể không là ma trận tương quan thích hợp. Linh cảm của tôi là fa () đang sử dụng các thành phần chính và factanal () đang thực hiện FA khả năng tối đa, nhưng điều đó không rõ ràng đối với tôi từ tài liệu về fa ().
JMS

@cada Bạn có bao nhiêu mặt hàng / môn học? Và phương pháp nào được thực hiện trong MixFactor?
chl

1
@cada tại sao bạn lại chạy phân tích nhân tố? Nếu bạn đang nhắm đến ước tính khả năng của người tham gia, IRT có thể là một cách tiếp cận tốt hơn. về vấn đề fa so với factanal, fa sử dụng số dư tối thiểu theo mặc định, trong khi factanal sử dụng phương thức ML.
richiemorrisroe

@chl: cách quá ít! Tôi mới bắt đầu khảo sát và đến nay chỉ có 45 đối tượng. Tôi không thể thu thập dữ liệu mới trong thời điểm này và đó là lý do tại sao tôi cố gắng thực hiện càng nhiều mã r càng tốt ...
cada

1
@cada Một CFA với 45 đối tượng sẽ là siêu thực :-) Tôi sẽ cố gắng thêm suy nghĩ của mình sau.
chl

Câu trả lời:


12

Tóm lại, với n = 45 đối tượng bạn còn lại với các phương pháp mô tả dựa trên tương quan và đa biến. Tuy nhiên, vì bảng câu hỏi này được cho là không có chiều hướng, đây luôn là một khởi đầu tốt.

Tôi sẽ làm gì:

  • Tính toán tương quan cặp cho 22 mục của bạn; báo cáo phạm vi và trung vị - điều này sẽ đưa ra một dấu hiệu về tính nhất quán tương đối của các phản ứng của các mục được quan sát (các mối tương quan trên 0,3 thường được coi là chỉ dẫn về tính hợp lệ hội tụ tốt, nhưng tất nhiên độ chính xác của ước tính này phụ thuộc vào cỡ mẫu) ; một cách khác để nghiên cứu tính nhất quán bên trong của bảng câu hỏi sẽ là tính toán alpha của Cronbach , mặc dù với n = 45 khoảng tin cậy liên quan (sử dụng bootstrap cho điều đó) sẽ tương đối lớn.
  • Tính toán tương quan điểm-điểm giữa các mục và thang điểm tổng; nó sẽ cho bạn ý tưởng về sức mạnh phân biệt của từng mặt hàng (như tải trong FA), trong đó các giá trị trên 0,3 là dấu hiệu cho thấy mối quan hệ thỏa đáng giữa từng mặt hàng và thang đo tương ứng của chúng.
  • Sử dụng PCA để tóm tắt ma trận tương quan (nó mang lại một cách hiểu tương đương với những gì sẽ thu được từ một phân tích tương ứng trong trường hợp các mục được ghi nhị phân). Nếu công cụ của bạn hoạt động như một thang đo một chiều cho mẫu của bạn, bạn nên quan sát một trục biến đổi chi phối (như được phản ánh bởi giá trị riêng đầu tiên).

2(1r2)/(n)


Cảm ơn rât nhiều! Câu trả lời của bạn rất chi tiết và thực sự hữu ích! Cảm ơn bạn!
cada

3

Chủ đề này có một vị trí tốt của Google cho lỗi "System ist für den Rechner singulär: reziproke Konditionszahl" bằng cách sử dụng factanal (bằng tiếng Anh: "hệ thống là số ít tính toán: số điều kiện đối ứng") - do đó tôi sẽ thêm một nhận xét:

Khi ma trận tương quan được tính toán trước (ví dụ: để xóa chính xác các giá trị bị thiếu), hãy đảm bảo rằng factanal () không nghĩ rằng ma trận là dữ liệu để phân tích (https://stat.ethz.ch/pipermail/r- trợ giúp / 2007-Tháng 10 / 142567.html).

PREVIOUS: matrix = cor(data, use="pairwise.complete.obs")  # For example
WRONG: factanal(matrix, 3, rotation="varimax")
RIGHT: factanal(covmat=matrix, factors=3, rotation="varimax")

BurninLeo

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.