Làm thế nào để phân tích nhân tố khi ma trận hiệp phương sai không dương xác định?


11

Tôi có một bộ dữ liệu bao gồm 717 quan sát (hàng) được mô tả bởi 33 biến (cột). Dữ liệu được chuẩn hóa bằng cách chấm điểm z tất cả các biến. Không có hai biến phụ thuộc tuyến tính ( ). Tôi cũng đã loại bỏ tất cả các biến có phương sai rất thấp (dưới ). Hình dưới đây cho thấy ma trận tương quan tương ứng (trong các giá trị tuyệt đối).0,1r=10.1

Khi tôi đang cố gắng chạy phân tích nhân tố bằng factoranMatlab như sau:

[Loadings1,specVar1,T,stats] = factoran(Z2,1);

Tôi nhận được lỗi sau:

The data X must have a covariance matrix that is positive definite.

Bạn có thể vui lòng cho tôi biết vấn đề ở đâu? Có phải do sự phụ thuộc lẫn nhau thấp giữa các biến được sử dụng? Ngoài ra, tôi có thể làm gì về nó?


Ma trận tương quan của tôi:

nhập mô tả hình ảnh ở đây


3
Tôi nghĩ rằng đó là trái ngược của sự phụ thuộc lẫn nhau thấp là một vấn đề ở đây. Bạn có thể có một số biến phụ thuộc tuyến tính giữa chúng và điều này khiến ma trận hiệp phương sai của bạn là bán xác định (nghĩa là có một số eigenvau bằng 0).
usεr11852

3
Đối với những người bỏ phiếu để đóng câu hỏi: Tại sao một câu hỏi về tính chắc chắn tích cực của ma trận hiệp phương sai mẫu sẽ lạc đề ở đây? Người dùng lo ngại tại sao một ứng dụng tiêu chuẩn của Phân tích nhân tố không hoạt động. Hỏi để biết thêm nếu bạn muốn!
usεr11852

2
Bạn có thể vui lòng tính toán và trình bày các giá trị riêng của ma trận hiệp phương sai mẫu không? (ví dụ. eig(cov(Z2))). Tôi nghi ngờ rằng một số trong số họ là rất nhỏ.
usεr11852

3
Tôi đồng ý với @ usεr11852: có vẻ như câu hỏi này đã bị đóng sai vì lạc đề (tôi đã bỏ phiếu để tự đóng nó). Nó trông giống như một câu hỏi lập trình, nhưng nó thực sự là một câu hỏi hoàn toàn đúng chủ đề và hợp lý. Tôi đã chỉnh sửa nó và bỏ phiếu để mở lại. Đáng tiếc là OP dường như đã biến mất mặc dù.
amip nói rằng Phục hồi lại

3
Tôi cho rằng có thể có nội dung thống kê cho câu hỏi này rằng cộng đồng Matlab sẽ không thể giúp đỡ. Làm thế nào để bạn tính toán Z2ma trận của bạn ? Nếu bạn thiếu các giá trị trong dữ liệu của mình, thì việc xóa theo cặp có thể khiến ma trận trở nên không thể đảo ngược khi các tương quan khác nhau trong ma trận đó được tính bằng các mẫu con khác nhau của dữ liệu.
StasK

Câu trả lời:


1

C

C=QDQ1,
QC
D=(λ1000λ2λn00000)
Q0nC

0

λn+1,λn+2,...=1015.
C~=QD~Q1,
D~=(λ1000λ2λn10150001015)

Q,D

[Q,D] = eig(C)

C~

CC~


0

Có thể là bạn đang phải đối mặt với các vấn đề số với ma trận của bạn. Nó có thể thực sự tích cực xác định, nhưng tính toán số nói khác.

Một giải pháp rất phổ biến, trong trường hợp đó, là thêm một giá trị rất thấp (ví dụ 1.E-10) cho tất cả các yếu tố đường chéo. Nếu điều này không giải quyết được vấn đề, hãy cố gắng tăng dần giá trị này.


Các mục chéo có vẻ khá chi phối. Bạn có nghĩ rằng điều này sẽ giúp?
Jonas

Tôi lo lắng về các mục thứ 8 và thứ 10, nếu một số phụ thuộc tuyến tính, thì nó phải là hai mục này. Tôi không biết đủ về tính toán phân rã eigen thực tế, nhưng tôi nghĩ rằng giải pháp này có thể hoạt động: thêm 1e-10 vào đường chéo không làm được gì nhiều về sự phụ thuộc tuyến tính, nhưng nó có thể chỉ cần thêm bất cứ điều gì cần thiết về mặt số để tính toán các giá trị eigen là cố định (tức là không có giá trị 0 0). Tuy nhiên, nếu giải pháp của tôi không hiệu quả, tôi thấy bạn khá thanh lịch.
Romain Reboulleau

-2

FA hoạt động tốt nhất khi dữ liệu của bạn là Gaussian, do đó bạn có thể muốn thử một số phương pháp tiền xử lý để có dữ liệu giống Gaussian hơn.


Tôi hoang mang trước câu trả lời này. Ý nghĩa của việc làm FA của dữ liệu không tương quan là gì?
ttnphns

@ttnphns Tôi nghĩ bạn đúng! Không có ý nghĩa gì khi áp dụng FA trên dữ liệu đã được giải mã! Đề xuất của tôi xuất phát từ một loại FA cụ thể, trong đó PCA được áp dụng trong quá trình tiền xử lý tạo biểu diễn vectơ từ dữ liệu, trong đó bạn sẽ áp dụng FA trên đó. Dữ liệu gốc thường được PCA chiếu trước khi chuyển thành biểu diễn vectơ. Và FA được áp dụng trên biểu diễn vectơ, và không phải dữ liệu dự kiến ​​PCA. Lỗi của tôi! Tôi sẽ cập nhật câu trả lời của tôi. Mặc dù trong một số trường hợp, PCA có xác suất có thể hoạt động tốt như FA nếu mô hình FA không hội tụ. Bạn không đồng ý à?
PickleRick
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.