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
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.PCA
travail, je suis curieux de savoir si une métrique de distance peut être utilisée sur les sorties.Réponses:
Si vous conservez tous les composants d'une ACP - les distances euclidiennes entre les patients dans le nouvel espace de l'ACP seront égales à leurs distances de Mahalanobis dans l'espace variable observé. Si vous sautez certains composants, cela changera un peu, mais de toute façon. Ici, je me réfère aux composants PCA à variance unitaire, pas au type dont la variance est égale à la valeur propre (je ne suis pas sûr de votre implémentation PCA).
Je veux juste dire que si vous voulez évaluer la distance de Mahalanobis entre les patients, vous pouvez appliquer l'ACP et évaluer la distance euclidienne. Évaluer la distance de Mahalanobis après avoir appliqué l'APC me semble quelque chose de dénué de sens.
la source
Jetez un œil au document suivant:
Zuber, V., Silva, APD et Strimmer, K. (2012). Un nouvel algorithme pour la sélection simultanée de SNP dans des études d'association à l'échelle du génome à haute dimension . BMC bioinformatique , 13 (1), 284.
Il traite exactement votre problème. Les auteurs supposent l'utilisation de nouvelles mesures d'importance variable, en plus d'avoir introduit plus tôt une méthode d'estimation pénalisée pour la matrice de corrélation des variables explicatives qui correspond à votre problème. Ils utilisent également la distance de Mahalanobis pour la décorrélation!
Les méthodes sont incluses dans le R-package 'care', disponible sur CRAN
la source
Les scores PCA (ou résultats PCA) sont utilisés dans la littérature pour calculer la distance de Mahalanobis entre l'échantillon et une distribution d'échantillons. Pour un exemple, consultez cet article . Dans la section "Méthodes d'analyse", les auteurs déclarent:
J'ai vu d'autres exemples d'analyse discriminante basée sur la distance PCA / Mahalanobis dans la littérature et dans le menu d'aide du logiciel de chimiométrie GRAMS IQ. Cette combinaison est logique car la distance de Mahalanobis ne fonctionne pas bien lorsque le nombre de variables est supérieur au nombre d'échantillons disponibles, et l'ACP réduit le nombre de variables.
Les algorithmes d'apprentissage automatique de classification à une classe (c.-à-d. Isolation Forest, One-ClassSVM, etc.) sont des alternatives possibles à l'analyse discriminante basée sur la distance PCA / Mahalanobis. Dans notre laboratoire, Isolation Forest combiné au prétraitement des données a produit de bons résultats dans la classification des spectres proche infrarouge.
Sur une note légèrement liée, la détection de valeurs aberrantes ou de nouveautés avec une distance PCA / Mahalanobis, pour des données dimensionnelles élevées, nécessite souvent le calcul de la coupure de la distance Mahalanobis . Cet article suggère que la valeur seuil peut être calculée comme la racine carrée de la valeur critique de la distribution chi carré , en supposant que les données sont normalement distribuées. Cette valeur critique nécessite le nombre de degrés de liberté et la valeur de probabilité associée aux données. L'article semble suggérer que le nombre de composantes principales retenues est égal au nombre de degrés de liberté nécessaires pour calculer la valeur critique car les auteurs ont utilisé le nombre de caractéristiques de l'ensemble de données pour leur calcul.
la source