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 ?
sumber
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.PCA
bekerja, saya ingin tahu apakah ada metrik jarak yang dapat digunakan pada output.Jawaban:
Jika Anda menyimpan semua komponen dari PCA - maka jarak Euclidean antara pasien di ruang PCA baru akan sama dengan jarak Mahalanobis mereka di ruang variabel yang diamati. Jika Anda akan melewati beberapa komponen, itu akan berubah sedikit, tetapi toh. Di sini saya merujuk ke komponen-varians PCA-komponen, bukan jenis yang variansnya sama dengan nilai eigen (saya tidak yakin tentang implementasi PCA Anda).
Maksud saya, jika Anda ingin mengevaluasi jarak Mahalanobis antara pasien, Anda dapat menerapkan PCA dan mengevaluasi jarak Euclidean. Mengevaluasi jarak Mahalanobis setelah menerapkan PCA tampaknya sesuatu yang tidak berarti bagi saya.
sumber
Lihatlah kertas berikut:
Zuber, V., Silva, APD, & Strimmer, K. (2012). Algoritma baru untuk pemilihan SNP simultan dalam studi asosiasi genome-wide dimensi tinggi . Bioinformatika BMC , 13 (1), 284.
Persisnya berkaitan dengan masalah Anda. Para penulis mengandaikan penggunaan pengukuran penting-variabel baru, selain itu mereka sebelumnya memperkenalkan metode estimasi hukuman untuk matriks korelasi variabel penjelas yang sesuai dengan masalah Anda. Mereka juga menggunakan jarak Mahalanobis untuk dekorasi!
Metode ini termasuk dalam 'paket' R-paket, tersedia di CRAN
sumber
Skor PCA (atau hasil PCA) digunakan dalam literatur untuk menghitung jarak Mahalanobis antara sampel dan distribusi sampel. Sebagai contoh, lihat artikel ini . Di bawah bagian "Metode analisis", penulis menyatakan:
Saya telah melihat contoh-contoh lain dari analisis diskriminan berbasis jarak PCA / Mahalanobis dalam literatur dan dalam menu bantuan dari perangkat lunak chemometrics GRAMS IQ. Kombinasi ini masuk akal karena jarak Mahalanobis tidak berfungsi dengan baik ketika jumlah variabel lebih besar dari jumlah sampel yang tersedia, dan PCA mengurangi jumlah variabel.
Algoritma pembelajaran mesin klasifikasi satu kelas (yaitu Hutan Isolasi, One-ClassSVM, dll.) Merupakan alternatif yang memungkinkan untuk analisis diskriminan berbasis jarak PCA / Mahalanobis. Di lab kami, Hutan Isolasi dikombinasikan dengan data pra-pemrosesan telah menghasilkan hasil yang baik dalam klasifikasi spektrum Infra Merah Dekat.
Pada catatan yang sedikit terkait, deteksi outlier atau kebaruan dengan jarak PCA / Mahalanobis, untuk data dimensi tinggi, seringkali membutuhkan perhitungan cutoff jarak Mahalanobis . Artikel ini menunjukkan bahwa cutoff dapat dihitung sebagai akar kuadrat dari nilai kritis distribusi kuadrat , dengan asumsi bahwa data terdistribusi secara normal. Nilai kritis ini membutuhkan jumlah derajat kebebasan dan nilai probabilitas yang terkait dengan data. Artikel ini tampaknya menunjukkan bahwa jumlah komponen utama yang dipertahankan sama dengan jumlah derajat kebebasan yang diperlukan untuk menghitung nilai kritis karena penulis menggunakan jumlah fitur dalam set data untuk perhitungan mereka.
sumber