Khoảng cách Mahalanobis qua PCA khi


10

Tôi có một ma trận , trong đó là số lượng gen và là số lượng bệnh nhân. Bất cứ ai làm việc với dữ liệu đó đều biết rằng luôn lớn hơn . Sử dụng lựa chọn tính năng tôi đã nhận được xuống một số hợp lý hơn, tuy nhiên vẫn lớn hơn .p n p n p p nn×ppnpnppn

Tôi muốn tính toán sự giống nhau của bệnh nhân dựa trên hồ sơ di truyền của họ; Tôi có thể sử dụng khoảng cách euclide, tuy nhiên Mahalanobis có vẻ phù hợp hơn vì nó tính đến mối tương quan giữa các biến. Vấn đề (như đã lưu ý trong bài này ) là khoảng cách Mahalanobis, cụ thể là ma trận hiệp phương sai, không hoạt động khi . Khi tôi chạy khoảng cách Mahalanobis trong R, lỗi tôi nhận được là:n<p

 Error in solve.default(cov, ...) :    system is computationally
 singular: reciprocal condition number = 2.81408e-21

Cho đến nay để thử giải quyết vấn đề này, tôi đã sử dụng PCA và thay vì sử dụng gen, tôi sử dụng các thành phần và điều này dường như cho phép tôi tính khoảng cách Mahalanobis; 5 thành phần đại diện cho khoảng 80% phương sai, vì vậy bây giờ .n>p

Câu hỏi của tôi là: Tôi có thể sử dụng PCA để có được khoảng cách Mahalanobis giữa các bệnh nhân một cách có ý nghĩa hay không? Có số liệu khoảng cách thay thế nào hoạt động khi và cũng có nhiều mối tương quan giữa các biến không?nn<pn


Điều PCAnày có thể phá vỡ các mối tương quan biến, trừ khi bạn sử dụng một cái gì đó như một vòng xoay xiên. Tôi cũng không chắc việc phân chia phương sai PCAsẽ ảnh hưởng đến khoảng cách Mahalanobis giữa các bệnh nhân tương tự như thế nào.
Michelle

Nếu PCA phá vỡ các mối tương quan biến đổi, tôi có thể sử dụng một số số liệu khoảng cách khác (chẳng hạn như khoảng cách của Pearson) thay vì khoảng cách Mahalanobis không?
dùng4673

Tôi không biết đủ để giới thiệu thêm. Tôi đã hy vọng người khác sẽ nhảy vào cuộc trò chuyện. :) Cho cách các kỹ thuật giảm biến như PCAcông việc, tôi tò mò liệu có thể sử dụng bất kỳ số liệu khoảng cách nào trên đầu ra không.
Michelle

Tôi không phải là một chuyên gia trong khu vực. Tôi chỉ muốn chia sẻ rằng tôi có một vấn đề rắc rối của bạn và tôi đã sử dụng 'cov.shrink' từ gói corpcor .
Bruno Sousa

Câu trả lời:


8

Nếu bạn giữ tất cả các thành phần từ PCA - thì khoảng cách Euclide giữa các bệnh nhân trong không gian PCA mới sẽ bằng khoảng cách Mahalanobis của họ trong không gian biến quan sát. Nếu bạn bỏ qua một số thành phần, điều đó sẽ thay đổi một chút, nhưng dù sao đi nữa. Ở đây tôi đề cập đến các thành phần PCA phương sai đơn vị, không phải là loại có phương sai bằng với giá trị riêng (tôi không chắc chắn về việc triển khai PCA của bạn).

Ý tôi là, nếu bạn muốn đánh giá khoảng cách Mahalanobis giữa các bệnh nhân, bạn có thể áp dụng PCA và đánh giá khoảng cách Euclide. Đánh giá khoảng cách Mahalanobis sau khi áp dụng PCA dường như là một điều gì đó vô nghĩa đối với tôi.


Dưới đây là một bài viết ngắn thảo luận về mối quan hệ: Brereton, RG Khoảng cách Mahalanobis và mối quan hệ của nó với điểm thành phần chính Tạp chí Hóa học, Wiley-Blackwell, 2015, 29, 143 Chuyện145. dx.doi.org/10.1002/cem.2692 . Lưu ý rằng PCA trong hóa học theo mặc định là một vòng quay thuần túy của dữ liệu, do đó không phải là phiên bản phương sai đơn vị mà Dmitry đề cập.
cbeleites không hài lòng với SX

2

Hãy xem bài báo sau:

Zuber, V., Silva, APD, & Strimmer, K. (2012). Một thuật toán mới cho lựa chọn SNP đồng thời trong các nghiên cứu kết hợp genome chiều rộng . BMC tin sinh học , 13 (1), 284.

Nó chính xác giải quyết vấn đề của bạn. Các tác giả cho rằng việc sử dụng một phép đo tầm quan trọng của biến mới, bên cạnh đó trước đó họ đã đưa ra một phương pháp ước lượng bị phạt cho ma trận tương quan của các biến giải thích phù hợp với vấn đề của bạn. Họ cũng sử dụng khoảng cách Mahalanobis cho sự tan rã!

Các phương thức được bao gồm trong gói 'care', có sẵn trên CRAN


0

Điểm PCA (hoặc kết quả PCA) được sử dụng trong tài liệu để tính khoảng cách Mahalanobis giữa mẫu và phân phối mẫu. Ví dụ, xem bài viết này . Trong phần "Phương pháp phân tích", các tác giả nêu rõ:

Các tập dữ liệu của phổ huỳnh quang (681) được giảm xuống chiều thấp hơn (11) bằng cách đánh giá các thành phần chính (PC) của ma trận tương quan (681 × 681). Điểm số PC được ước tính bằng cách chiếu dữ liệu gốc dọc theo PC. Phân loại giữa các bộ dữ liệu đã được thực hiện bằng mô hình khoảng cách Mahalanobis bằng cách tính khoảng cách Mahalanobis cho điểm số PC.

Tôi đã thấy các ví dụ khác về phân tích phân biệt đối xử dựa trên khoảng cách PCA / Mahalanobis trong tài liệu và trong menu trợ giúp của phần mềm hóa học GRAM IQ. Sự kết hợp này có ý nghĩa vì khoảng cách Mahalanobis không hoạt động tốt khi số lượng biến lớn hơn số lượng mẫu có sẵn và PCA giảm số lượng biến.

Các thuật toán học máy phân loại một lớp (ví dụ: Khu rừng cách ly, One-ClassSVM, v.v.) là những giải pháp thay thế khả thi cho phân tích phân biệt đối xử dựa trên khoảng cách PCA / Mahalanobis. Trong phòng thí nghiệm của chúng tôi, Rừng cách ly kết hợp với xử lý trước dữ liệu đã tạo ra kết quả tốt trong việc phân loại phổ hồng ngoại gần.

Trên một lưu ý hơi liên quan, phát hiện ngoại lệ hoặc mới lạ với khoảng cách PCA / Mahalanobis, đối với dữ liệu có độ mờ cao, thường yêu cầu tính toán khoảng cách cắt Mahalanobis . Bài viết này gợi ý rằng điểm cắt có thể được tính là căn bậc hai của giá trị tới hạn của phân phối chi bình phương , giả sử rằng dữ liệu được phân phối bình thường. Giá trị tới hạn này yêu cầu số bậc tự do và giá trị xác suất liên quan đến dữ liệu. Bài báo dường như đề xuất rằng số lượng thành phần chính được giữ lại bằng với số bậc tự do cần thiết để tính giá trị tới hạn vì các tác giả đã sử dụng số lượng tính năng trong bộ dữ liệu để tính toán.


n<p

Khi n <p, PCA được sử dụng để giảm p. Số lượng các thành phần được giữ lại từ phân tích PCA (nc) thường nhỏ hơn nhiều so với p và nó cũng có thể nhỏ hơn n tùy thuộc vào kích thước của n. Do đó, PCA thay đổi vấn đề "n by p" thành vấn đề "n by nc". Trong phòng thí nghiệm của chúng tôi, nơi chúng tôi phân tích phổ NIR, p đại diện cho số bước sóng, thường lớn hơn hai nghìn. n đại diện cho số lượng mẫu đào tạo (~ 20 đến 150). nc thường là 3 đến 11. Khi n> nc, phân tích PCA / Mahalanobis cho kết quả tốt.
Cherif Diallo

1
Vấn đề không phải là PCA làm gì. Điều đó cũng được đề cập trong các chủ đề khác trên trang web này. Vấn đề là khoảng cách mahalanobis thường không thể được tính toán trong trường hợp này do tính đơn lẻ của ma trận hiệp phương sai: đây là tình huống được mô tả trong câu hỏi.
whuber

Cảm ơn bạn cho ý kiến ​​của các bạn. Dường như chúng ta có những cách hiểu khác nhau về những gì người dùng đang hỏi. Câu trả lời được chấp nhận nêu rõ, "nếu bạn muốn đánh giá khoảng cách Mahalanobis giữa các bệnh nhân, bạn có thể áp dụng PCA và đánh giá khoảng cách Euclide. Đánh giá khoảng cách Mahalanobis sau khi áp dụng PCA dường như là một điều gì đó vô nghĩa ...". Tôi nghĩ rằng câu cuối cùng là mâu thuẫn với các tài liệu tôi đã xem và trích dẫn. Bạn nghĩ sao? Trân trọng.
Cherif Diallo

1
Hiểu rồi. Cảm ơn :)!
Cherif Diallo
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.