Làm gì khi ma trận hiệp phương sai mẫu không khả nghịch?


12

Tôi đang làm việc trên một số kỹ thuật phân cụm, trong đó đối với một cụm vectơ d chiều nhất định, tôi giả sử phân phối chuẩn nhiều biến số và tính toán vectơ trung bình d chiều mẫu và ma trận hiệp phương sai mẫu.

Sau đó, khi cố gắng quyết định xem một vectơ d-chiều mới, không nhìn thấy, có thuộc cụm này không, tôi đang kiểm tra khoảng cách của nó thông qua thước đo này:

(Xiμ^X)σ^X1(Xiμ^X)>B0.95(p2,p2)

Điều này đòi hỏi tôi phải tính toán nghịch đảo của ma trận hiệp phương sai . Nhưng được đưa ra một số mẫu tôi không thể đảm bảo rằng ma trận hiệp phương sai sẽ không thể đảo ngược, tôi nên làm gì trong trường hợp không phải vậy?σ^X

Cảm ơn


nó phụ thuộc vào những gì gây ra ma trận không thể đảo ngược. Nguyên nhân có thể có thể là (a) mẫu bạn đã sử dụng để tính ma trận hiệp phương sai quá nhỏ (b) mẫu của bạn có kích thước đủ nhưng thành viên của nó không được rút ra từ một phân phối liên tục để một số cột / hàng của mẫu lặp lại .
user603

Tôi nghĩ kích thước mẫu trở nên nhỏ
Aly

@ Anony-Mousse Tôi đã đảm bảo rằng tôi hiện đang sử dụng ít nhất nhiều mẫu như kích thước, nếu không ma trận sẽ bị thiếu thứ hạng. Cho đến nay không có vấn đề gì, nhưng tôi nghĩ với hiệp phương sai mẫu có thể không đảo ngược?
Aly

1
Tại sao luôn luôn không thể đảo ngược? Với một quan sát duy nhất, giá trị trung bình bằng với quan sát đó, do đó hiệp phương sai mẫu là ma trận không, sẽ không đảo. Tôi nghĩ rằng một ma trận phải có thứ hạng đầy đủ để được đảo ngược và nó sẽ chỉ có thứ hạng đầy đủ nếu số lượng mẫu> = thứ nguyênMMT
Corone

1
@corone làm cho điều đó trở nên nghiêm ngặt>
user603

Câu trả lời:


14

Nếu kích thước mẫu của bạn nhỏ hơn chiều không gian vectơ, ma trận số ít có thể phát sinh. Nếu bạn có ít mẫu hơn (khi là chiều của bạn), tình huống này thậm chí sẽ phát sinh: các mẫu kéo dài tối đa một siêu phẳng chiều. Cho một mẫu nhỏ như vậy, rõ ràng bạn không thể tính được phương sai trong không gian trực giao.d+1dk+1d

Đây là lý do tại sao nó thường không sử dụng PCA theo nghĩa đen, nhưng thay vì thực hiện phân hủy giá trị đặc biệt , có thể được sử dụng để tính toán pseudoinverse của một ma trận. Nếu ma trận khả nghịch, pseudoinverse sẽ là nghịch đảo.

Tuy nhiên, nếu bạn đang nhìn thấy các ma trận không thể đảo ngược, rất có thể khoảng cách của bạn với cụm sẽ vô nghĩa nếu vectơ nằm ngoài siêu phẳng, các cụm lặp lại, bởi vì bạn không biết phương sai trong không gian trực giao (bạn có thể nghĩ về phương sai này là 0!) SVD có thể tính toán giả, nhưng "phương sai" sẽ vẫn không được xác định bởi dữ liệu của bạn.

Trong trường hợp này, có lẽ bạn nên thực hiện giảm kích thước toàn cầu trước tiên. Việc tăng kích thước mẫu sẽ chỉ giúp ích khi bạn thực sự có kích thước không dư thừa: cho dù bạn có vẽ bao nhiêu mẫu từ một bản phân phối với , ma trận sẽ luôn không thể đảo ngược và bạn sẽ không thể phán đoán độ lệch đối với độ lệch chuẩn (bằng 0).y=xxy

Hơn nữa, tùy thuộc vào cách bạn tính toán ma trận hiệp phương sai, bạn có thể gặp phải các vấn đề về số do hủy bỏ thảm khốc. Cách giải quyết đơn giản nhất là luôn luôn căn giữa dữ liệu trước, để có nghĩa là không.


xin lỗi vì đã trả lời ở đây nhưng tôi đang làm việc về cùng một vấn đề. tôi đang so sánh khoảng cách phân cụm thông qua khoảng cách Mahalanobis đòi hỏi ma trận hiệp phương sai nghịch đảo. tuy nhiên trong trường hợp của tôi, tôi đang nhận được cùng một lỗi. vì vậy tôi đã thử SingularValueDecysis nhưng lần này tất cả các khoảng cách đều bằng 1,4: D tôi không thể tìm ra
MonsterMMORPG
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.