Distance de Mahalanobis via PCA lorsque

10

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 nn×ppnpnppn

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:n<p

 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 .n>p

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?nn<pn

user4673
la source
Le PCApourrait 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 variance PCAaffectera la distance de Mahalanobis entre des patients similaires.
Michelle
Si l'ACP rompt les corrélations variables, pourrais-je utiliser une autre mesure de distance (comme la distance de Pearson) au lieu de la distance de Mahalanobis?
user4673
Je n'en sais pas assez pour recommander davantage. J'espérais que quelqu'un d'autre se lancerait dans la conversation. :) Étant donné la façon dont les techniques de réduction variable comme le PCAtravail, je suis curieux de savoir si une métrique de distance peut être utilisée sur les sorties.
Michelle
Je ne suis pas un expert dans le domaine. Je veux juste partager, que j'ai un problème similaire, et j'ai utilisé 'cov.shrink' du paquet corpcor .
Bruno Sousa

Réponses:

8

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.

Dmitry Laptev
la source
Voici un court article sur la relation: Brereton, RG La distance de Mahalanobis et sa relation avec les scores des composants principaux Journal of Chemometrics, Wiley-Blackwell, 2015, 29, 143, 145. dx.doi.org/10.1002/cem.2692 . Notez que l'ACP en chimiométrie est par défaut une rotation pure des données, donc pas la version à variance unitaire à laquelle Dmitry fait référence.
cbeleites mécontents de SX
2

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

Claas
la source
0

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:

Les ensembles de données des spectres de fluorescence (681) sont réduits dans une dimension inférieure (11) en évaluant les principaux composants (PC) de la matrice de corrélation (681 × 681). Les scores des PC sont estimés en projetant les données originales le long des PC. La classification parmi les ensembles de données a été effectuée à l'aide du modèle de distance de Mahalanobis en calculant les distances de Mahalanobis pour les scores PC.

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.

Cherif Diallo
la source
n<p
Lorsque n <p, PCA est utilisé pour réduire p. Le nombre de composants retenus de l'analyse PCA (nc) est généralement beaucoup plus petit que p, et il peut également être inférieur à n en fonction de la taille de n. Ainsi, PCA change le problème "n par p" en un problème "n par nc". Dans notre laboratoire où nous analysons les spectres NIR, p représente le nombre de longueurs d'onde, qui est généralement supérieur à deux mille. n représente le nombre d'échantillons d'apprentissage (~ 20 à 150). nc est généralement de 3 à 11. Lorsque n> nc, l'analyse PCA / Mahalanobis donne de bons résultats.
Cherif Diallo
1
Le problème n'est pas ce que fait PCA. C'est bien couvert dans d'autres discussions sur ce site. Le problème est que la distance de mahalanobis ne peut généralement pas être calculée dans ce cas en raison de la singularité de la matrice de covariance: c'est la circonstance décrite dans la question.
whuber
Merci pour vos gentils commentaires. Il semble que nous ayons différentes interprétations de ce que l'utilisateur demande. La réponse acceptée indique: "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 semble quelque chose de dénué de sens ...". Je pense que la dernière phrase est en contradiction avec la littérature que j'ai vue et citée. Qu'est-ce que tu penses? Meilleures salutations.
Cherif Diallo
1
Je l'ai. Merci :)!
Cherif Diallo