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 n
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à:
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ờ .
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?n
PCA
cô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.
PCA
nà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 saiPCA
sẽ ảnh hưởng đến khoảng cách Mahalanobis giữa các bệnh nhân tương tự như thế nào.