Mahalanobis-Abstand über PCA, wenn

10

Ich habe eine Matrix, wobei die Anzahl der Gene und die Anzahl der Patienten ist. Jeder, der mit solchen Daten gearbeitet hat, weiß, dass immer größer als . Bei Verwendung der Merkmalsauswahl habe ich auf eine vernünftigere Zahl gebracht, jedoch ist immer noch größer als .p n p n p p nn×ppnpnppn

Ich möchte die Ähnlichkeit der Patienten anhand ihrer genetischen Profile berechnen. Ich könnte den euklidischen Abstand verwenden, jedoch scheint Mahalanobis angemessener zu sein, da er die Korrelation zwischen den Variablen erklärt. Das Problem (wie in diesem Beitrag erwähnt ) ist, dass der Mahalanobis-Abstand, insbesondere die Kovarianzmatrix, nicht funktioniert, wenn . Wenn ich Mahalanobis Distanz in R laufe, erhalte ich folgenden Fehler:n<p

 Error in solve.default(cov, ...) :    system is computationally
 singular: reciprocal condition number = 2.81408e-21

Bisher habe ich PCA verwendet, um dieses Problem zu lösen. Statt Gene zu verwenden, verwende ich Komponenten. Dies scheint es mir zu ermöglichen, die Mahalanobis-Entfernung zu berechnen. 5 Komponenten machen etwa 80% der Varianz aus, also ist jetzt .n>p

Meine Fragen sind: Kann ich PCA verwenden, um den Mahalanobis-Abstand zwischen Patienten sinnvoll zu ermitteln, oder ist dies unangemessen? Gibt es alternative Abstandsmetriken, die funktionieren, wenn und es gibt auch eine große Korrelation zwischen den Variablen?nn<pn

user4673
quelle
Das PCAkönnte die variablen Korrelationen aufbrechen, es sei denn, Sie verwenden so etwas wie eine schräge Drehung. Ich bin mir auch nicht sicher, wie sich die Varianzverteilung PCAauf den Mahalanobis-Abstand zwischen ähnlichen Patienten auswirkt.
Michelle
Wenn PCA die variablen Korrelationen unterbricht, könnte ich anstelle der Mahalanobis-Entfernung eine andere Entfernungsmetrik (z. B. Pearsons Entfernung) verwenden?
user4673
Ich weiß nicht genug, um weiter zu empfehlen. Ich hatte gehofft, jemand anderes würde ins Gespräch kommen. :) Angesichts der Tatsache, wie variable Reduktionstechniken PCAfunktionieren, bin ich gespannt, ob für die Ausgänge eine Abstandsmetrik verwendet werden kann.
Michelle
Ich bin kein Experte auf diesem Gebiet. Ich möchte nur mitteilen, dass ich ein ähnliches Problem mit Ihnen habe und 'cov.shrink' aus dem corpcor-Paket verwendet habe .
Bruno Sousa

Antworten:

8

Wenn Sie alle Komponenten von einer PCA fernhalten, entsprechen die euklidischen Abstände zwischen Patienten im neuen PCA-Raum ihren Mahalanobis-Abständen im beobachteten variablen Raum. Wenn Sie einige Komponenten überspringen, ändert sich dies ein wenig, aber trotzdem. Hier beziehe ich mich auf PCA-Komponenten mit Einheitsvarianz, nicht auf die Art, deren Varianz gleich dem Eigenwert ist (ich bin mir über Ihre PCA-Implementierung nicht sicher).

Ich meine nur, wenn Sie den Mahalanobis-Abstand zwischen den Patienten bewerten möchten, können Sie PCA anwenden und den euklidischen Abstand bewerten. Die Bewertung der Mahalanobis-Distanz nach der Anwendung von PCA erscheint mir bedeutungslos.

Dmitry Laptev
quelle
Hier ist ein kurzer Artikel über die Beziehung: Brereton, RG Die Mahalanobis-Distanz und ihre Beziehung zu den Hauptkomponentenwerten Journal of Chemometrics, Wiley-Blackwell, 2015, 29, 143–145. dx.doi.org/10.1002/cem.2692 . Beachten Sie, dass PCA in der Chemometrie standardmäßig eine reine Rotation der Daten ist, daher nicht die Einheitsvarianzversion, auf die sich Dmitry bezieht.
cbeleites unglücklich mit SX
2

Schauen Sie sich das folgende Papier an:

Zuber, V., Silva, APD & Strimmer, K. (2012). Ein neuartiger Algorithmus zur gleichzeitigen SNP-Selektion in hochdimensionalen genomweiten Assoziationsstudien . BMC Bioinformatics , 13 (1), 284.

Es geht genau um Ihr Problem. Die Autoren gehen davon aus, dass neue Messungen mit variabler Wichtigkeit verwendet werden. Außerdem haben sie zuvor eine bestrafte Schätzmethode für die Korrelationsmatrix erklärender Variablen eingeführt, die zu Ihrem Problem passt. Sie verwenden auch die Mahalanobis-Distanz zur Dekorrelation!

Die Methoden sind im R-Paket 'care' enthalten, das auf CRAN verfügbar ist

Claas
quelle
0

PCA-Scores (oder PCA-Ergebnisse) werden in der Literatur verwendet, um den Mahalanobis-Abstand zwischen der Probe und einer Verteilung der Proben zu berechnen. Ein Beispiel finden Sie in diesem Artikel . Im Abschnitt "Analysemethoden" geben die Autoren an:

Datensätze von Fluoreszenzspektren (681) werden durch Auswertung der Hauptkomponenten (PC) der Korrelationsmatrix (681 × 681) in eine niedrigere Dimension (11) reduziert. PC-Scores werden geschätzt, indem die Originaldaten entlang der PCs projiziert werden. Die Klassifizierung unter den Datensätzen wurde unter Verwendung des Mahalanobis-Entfernungsmodells durchgeführt, indem Mahalanobis-Entfernungen für die PC-Bewertungen berechnet wurden.

Ich habe andere Beispiele für PCA / Mahalanobis-Entfernungs-basierte Diskriminanzanalysen in der Literatur und im Hilfemenü der GRAMS IQ-Chemometrie-Software gesehen. Diese Kombination ist sinnvoll, da der Mahalanobis-Abstand nicht gut funktioniert, wenn die Anzahl der Variablen größer als die Anzahl der verfügbaren Stichproben ist und PCA die Anzahl der Variablen reduziert.

Algorithmen für maschinelles Lernen zur Klassifizierung einer Klasse (dh Isolation Forest, One-ClassSVM usw.) sind mögliche Alternativen zur entfernungsbasierten Diskriminanzanalyse nach PCA / Mahalanobis. In unserem Labor hat Isolation Forest in Kombination mit der Datenvorverarbeitung gute Ergebnisse bei der Klassifizierung von Nahinfrarotspektren erzielt.

Auf einem leicht Beachtet, Ausreißer oder Neuheitsdetektion mit PCA / Mahalanobisabstand, für hohe dimentional Daten, erfordert oft Berechnung des Abstands Mahalanobis Cutoff . Dieser Artikel schlägt vor, dass der Cutoff als Quadratwurzel des kritischen Werts der Chi-Quadrat-Verteilung berechnet werden kann , vorausgesetzt, die Daten sind normal verteilt. Dieser kritische Wert erfordert die Anzahl der Freiheitsgrade und den mit den Daten verbundenen Wahrscheinlichkeitswert. Der Artikel scheint darauf hinzudeuten, dass die Anzahl der beibehaltenen Hauptkomponenten der Anzahl der Freiheitsgrade entspricht, die zur Berechnung des kritischen Werts erforderlich sind, da die Autoren die Anzahl der Merkmale im Datensatz für ihre Berechnung verwendet haben.

Cherif Diallo
quelle
n<p
Wenn n <p ist, wird PCA verwendet, um p zu reduzieren. Die Anzahl der aus der PCA-Analyse (nc) zurückgehaltenen Komponenten ist normalerweise viel kleiner als p und kann abhängig von der Größe von n auch kleiner als n sein. Somit ändert PCA das Problem "n mal p" in ein Problem "n mal nc". In unserem Labor, in dem wir NIR-Spektren analysieren, repräsentiert p die Anzahl der Wellenlängen, die typischerweise größer als zweitausend ist. n steht für die Anzahl der Trainingsmuster (~ 20 bis 150). nc ist typischerweise 3 bis 11. Wenn n> nc ist, liefert die PCA / Mahalanobis-Analyse gute Ergebnisse.
Cherif Diallo
1
Das Problem ist nicht, was PCA tut. Das wird in anderen Themen auf dieser Seite gut behandelt. Das Problem ist, dass der Mahalanobis-Abstand in diesem Fall aufgrund der Singularität der Kovarianzmatrix normalerweise nicht berechnet werden kann: Dies ist der in der Frage beschriebene Umstand.
whuber
Vielen Dank für Ihre freundlichen Kommentare. Es scheint, dass wir unterschiedliche Interpretationen dessen haben, was der Benutzer fragt. In der akzeptierten Antwort heißt es: "Wenn Sie den Mahalanobis-Abstand zwischen den Patienten bewerten möchten, können Sie PCA anwenden und den euklidischen Abstand bewerten. Die Bewertung des Mahalanobis-Abstandes nach dem Anwenden von PCA scheint etwas Bedeutungsloses zu sein ...". Ich denke, der letzte Satz steht im Widerspruch zu der Literatur, die ich gesehen und zitiert habe. Was denkst du? Freundliche Grüße.
Cherif Diallo
1
Verstanden. Vielen Dank :)!
Cherif Diallo