Saya memiliki matriks , di mana p adalah jumlah gen dan n adalah jumlah pasien. Siapa pun yang bekerja dengan data tersebut tahu bahwa p selalu lebih besar dari n . Dengan menggunakan pemilihan fitur, saya mendapatkan p ke angka yang lebih masuk akal, namun p masih lebih besar dari n .
Saya ingin menghitung kesamaan pasien berdasarkan profil genetik mereka; Saya bisa menggunakan jarak euclidean, namun Mahalanobis tampaknya lebih tepat karena memperhitungkan korelasi antara variabel. Masalahnya (seperti dicatat dalam posting ini ) adalah bahwa jarak Mahalanobis, khususnya matriks kovarians, tidak berfungsi ketika . Ketika saya menjalankan jarak Mahalanobis di R, kesalahan yang saya dapatkan adalah:
Error in solve.default(cov, ...) : system is computationally
singular: reciprocal condition number = 2.81408e-21
Sejauh ini untuk mencoba menyelesaikan ini, saya telah menggunakan PCA dan alih-alih menggunakan gen, saya menggunakan komponen dan ini tampaknya memungkinkan saya untuk menghitung jarak Mahalanobis; 5 komponen mewakili sekitar 80% dari varians, jadi sekarang .
Pertanyaan saya adalah: Dapatkah saya menggunakan PCA untuk secara bermakna mendapatkan jarak Mahalanobis antara pasien, atau apakah itu tidak pantas? Apakah ada metrik jarak alternatif yang bekerja ketika dan ada juga banyak korelasi di antara variabel n ?
PCA
bekerja, saya ingin tahu apakah ada metrik jarak yang dapat digunakan pada output.
PCA
bisa mematahkan korelasi variabel, kecuali jika Anda menggunakan sesuatu seperti rotasi miring. Saya juga tidak yakin bagaimana perbedaan pembagianPCA
akan mempengaruhi jarak Mahalanobis antara pasien yang serupa.