Ho una matrice , dove è il numero di geni e è il numero di pazienti. Chiunque abbia lavorato con tali dati sa che è sempre più grande di . Usando la selezione delle funzioni ho ridotto a un numero più ragionevole, tuttavia è ancora maggiore di .p n pp p n
Vorrei calcolare la somiglianza dei pazienti in base ai loro profili genetici; Potrei usare la distanza euclidea, tuttavia Mahalanobis sembra più appropriato in quanto spiega la correlazione tra le variabili. Il problema (come notato in questo post ) è che la distanza di Mahalanobis, in particolare la matrice di covarianza, non funziona quando . Quando corro Mahalanobis a distanza in R, l'errore che ottengo è:
Error in solve.default(cov, ...) : system is computationally
singular: reciprocal condition number = 2.81408e-21
Finora per provare a risolverlo, ho usato il PCA e invece di usare i geni, uso i componenti e questo sembra permettermi di calcolare la distanza di Mahalanobis; 5 componenti rappresentano circa l'80% della varianza, quindi ora .
Le mie domande sono: posso usare PCA per ottenere in modo significativo la distanza di Mahalanobis tra i pazienti o è inappropriato? Ci sono metriche di distanza alternative che funzionano quando e c'è anche molta correlazione tra le variabili?n
PCA
, sono curioso di sapere se è possibile utilizzare qualsiasi metrica di distanza sulle uscite.
PCA
potrebbe interrompere le correlazioni variabili, a meno che non si usi qualcosa come una rotazione obliqua. Inoltre, non sono sicuro di come la ripartizione della varianzaPCA
influenzerà la distanza di Mahalanobis tra pazienti simili.