J'ai une matrice , où est le nombre de gènes et est le nombre de patients. Quiconque a travaillé avec de telles données sait que est toujours supérieur à . En utilisant la sélection des fonctionnalités, j'ai réduit à un nombre plus raisonnable, mais est toujours supérieur à .p n p n p p n
Je voudrais calculer la similitude des patients en fonction de leurs profils génétiques; Je pourrais utiliser la distance euclidienne, mais Mahalanobis semble plus approprié car il tient compte de la corrélation entre les variables. Le problème (comme indiqué dans cet article ) est que la distance de Mahalanobis, en particulier la matrice de covariance, ne fonctionne pas lorsque . Lorsque je lance la distance de Mahalanobis en R, l'erreur que j'obtiens est:
Error in solve.default(cov, ...) : system is computationally
singular: reciprocal condition number = 2.81408e-21
Jusqu'à présent, pour essayer de résoudre ce problème, j'ai utilisé PCA et au lieu d'utiliser des gènes, j'utilise des composants et cela semble me permettre de calculer la distance de Mahalanobis; 5 composantes représentent environ 80% de la variance, alors maintenant .
Mes questions sont les suivantes: puis-je utiliser l'ACP pour obtenir de manière significative la distance de Mahalanobis entre les patients, ou est-ce inapproprié? Existe-t-il d'autres métriques de distance qui fonctionnent lorsque et il existe également une forte corrélation entre les variables?n
PCA
travail, je suis curieux de savoir si une métrique de distance peut être utilisée sur les sorties.
PCA
pourrait rompre les corrélations variables, sauf si vous utilisez quelque chose comme une rotation oblique. Je ne sais pas non plus comment la répartition de la variancePCA
affectera la distance de Mahalanobis entre des patients similaires.