Warum dividieren wir vor der PCA durch die Standardabweichung und nicht durch einen anderen Standardisierungsfaktor?

17

Ich habe die folgende Begründung gelesen (aus den Kursnotizen von cs229), warum wir die Rohdaten durch ihre Standardabweichung dividieren:

Bildbeschreibung hier eingeben

Obwohl ich verstehe, was die Erklärung sagt, ist mir nicht klar, warum das Teilen durch die Standardabweichung ein solches Ziel erreichen würde. Es heißt also, dass jeder mehr auf der gleichen "Skala" ist. Es ist jedoch nicht ganz klar, warum dies durch Division durch die Standardabweichung erreicht wird. Was ist falsch daran, durch die Varianz zu dividieren? Warum nicht eine andere Menge? Wie ... die Summe der absoluten Werte? oder eine andere Norm ... Gibt es eine mathematische Rechtfertigung für die Wahl der STD?

Handelt es sich bei den Behauptungen in diesem Auszug um eine theoretische Aussage, die durch Mathematik (und / oder Statistik) abgeleitet / bewiesen werden kann, oder handelt es sich eher um eine dieser Aussagen, die wir machen, weil sie in der "Praxis" zu funktionieren scheinen?

Kann man im Grunde eine rigorose mathematische Erklärung dafür liefern, warum diese Intuition wahr ist? Oder wenn es nur eine empirische Beobachtung ist, warum denken wir, dass das im Allgemeinen funktioniert, bevor Sie PCA machen?

Ist dies im Zusammenhang mit PCA auch der Prozess der Standardisierung oder Normalisierung?


Einige andere Gedanken, die ich hatte, könnten erklären, warum die STD:

Da PCA aus der Maximierung der Varianz abgeleitet werden kann, habe ich angenommen, dass die Division durch eine verwandte Größe wie die STD einer der Gründe sein könnte, die wir durch die STD dividiert haben. Aber dann dachte ich , dass vielleicht , wenn wir vielleicht eine „Varianz“ definiert mit einer anderen Norm, , dann würden wir durch die STD dieser Norm dividieren (indem wir die p-te Wurzel oder so etwas nehmen). Es war nur eine Vermutung und ich bin nicht zu 100% darüber, daher die Frage. Ich habe mich gefragt, ob irgendjemand etwas damit zu tun hat.1ni=1n(xiμ)p


Ich habe gesehen, dass es vielleicht eine verwandte Frage gibt:

PCA über Korrelation oder Kovarianz?

aber es schien mehr darüber zu reden, wann man "Korrelation" oder "Kovarianz" verwendet, aber es fehlte an strengen oder überzeugenden oder detaillierten Begründungen, woran ich hauptsächlich interessiert bin.

Gleiches für:

Warum müssen wir Daten vor der Analyse normalisieren?

verbunden:

Variablen für SVD / PCA "normalisieren"

Pinocchio
quelle
1
Es gibt einen mathematischen Grund: Durch Teilen der (zentrierten) Daten durch die SD für jede Variable wird ein transformierter Datensatz erzeugt, dessen Kovarianzmatrix einfach die Korrelationsmatrix der ursprünglichen (zentrierten) Daten ist. Danach sind wir wieder auf dem Gebiet der Korrelation gegen die Kovarianzmatrix. Suchen Sie einen Beweis dafür, wie durch Normalisierung der Daten die Kovarianzmatrix in eine Korrelationsmatrix umgewandelt wird?
Silverfish
Ihre Titelfrage lautet so, als würden Sie sich fragen, wozu sie normalisiert werden soll (anstatt nicht normalisiert zu werden). Dies wäre ein Duplikat von "PCA on correlation or covariance". Was Sie jedoch tatsächlich zu fragen scheinen, ist, warum die Normalisierung über die Division durch STD erfolgt (im Gegensatz zur Division durch Varianz oder Bereich usw.). Wenn ja, möchten Sie die Titelfrage möglicherweise bearbeiten, um sie präziser zu gestalten?
Amöbe sagt Reinstate Monica
3
In Bezug auf die Terminologie ist "Normalisieren" kein genauer Begriff und kann sich auf verschiedene Dinge beziehen. Während "Standardisieren" bedeutet, den Mittelwert zu subtrahieren und durch die Standardabweichung zu dividieren, worauf Sie sich beziehen.
Amöbe sagt Reinstate Monica
2
Ich sollte hinzufügen, dass ich Ihre Frage für sehr gut halte (+1). Man kann sich in der Tat normalisieren, indem man durch etwas anderes dividiert. Beispielsweise ist die Standardabweichung ein sehr unzuverlässiges Maß und kann bei starken Ausreißern irreführend sein. Man kann also stattdessen durch ein robustes Maß für die Streuung dividieren (siehe zB "mittlere absolute Abweichung"). Es gibt keine "rigorose mathematische Erklärung", warum die Verwendung von sexuell übertragbarer Krankheit der beste Weg zur Normalisierung ist, und Sie haben Recht, dass es sich "nur um eine empirische Beobachtung" handelt, die häufig gut funktioniert.
Amöbe sagt Reinstate Monica
2
Zu "warum nicht stattdessen durch Varianz dividieren" - das lässt sich ziemlich leicht durch die dimensionale Inkonsistenz erklären. Es würde zu merkwürdigen Ergebnissen führen, wenn Sie beispielsweise die Einheiten einer der Variablen ändern würden. Zu "Warum nicht durch MAD teilen" - Wenn die Daten normal verteilt wären, wäre es möglich, da (in der Grundgesamtheit) MAD proportional zu SD ist, durch ein geeignetes Vielfaches von MAD zu teilen und ein (ineffizientes, aber möglicherweise robustes ) Ergebnis zu erzielen . ) Schätzung der Korrelation. Das ist interessanter.
Silberfischchen

Antworten:

11

Dies ist eine teilweise Antwort auf "Es ist mir nicht klar, warum das Teilen durch die Standardabweichung ein solches Ziel erreichen würde". Insbesondere, warum es die transformierten (standardisierten) Daten auf den "gleichen Maßstab" bringt. Die Frage weist auf tiefere Fragen hin (was könnte sonst "funktioniert" haben, was in Verbindung mit "funktioniert" mathematisch gesehen sogar bedeuten?), Aber es schien sinnvoll, zumindest die einfacheren Aspekte zu behandeln, warum dieses Verfahren "funktioniert". - das heißt, erreicht die im Text dafür gemachten Ansprüche.

ijithjthiiithith

ithXijthXj

Cov(Xi,Xj)=σXiσXjCor(Xi,Xj)

Zi=XiσXi

Var(Zi)=Var(XiσXi)=1σXi2Var(Xi)=1σXi2σXi2=1

Zjij

Cov(Zi,Zj)=σZiσZjCor(Zi,Zj)=Cor(Zi,Zj)

Wenn wir Variablen auf diese Weise neu skalieren, ändert die Addition (äquivalent: Subtraktion) die Korrelation nicht, während die Multiplikation (äquivalent: Division) einfach das Vorzeichen der Korrelation umkehrt, wenn der Faktor (Divisor) negativ ist. Mit anderen Worten, die Korrelation bleibt durch die Übersetzung oder Skalierung unverändert, wird jedoch durch die Reflexion umgekehrt. ( Hier ist eine Ableitung dieser Korrelationseigenschaften als Teil einer ansonsten unabhängigen Antwort.) Da wir durch positive Standardabweichungen dividiert haben, sehen wir diesCor(Zi,Zj)Cor(Xi,Xj)

Cov(Zi,Zi)=Var(Zi)=1so ist die gesamte Diagonale mit Einsen gefüllt, wie wir es erwarten würden. In diesem Sinne sind die Daten jetzt "auf der gleichen Skala" - ihre Randverteilungen sollten sehr ähnlich aussehen, zumindest wenn sie anfangs grob normalverteilt waren, mit dem Mittelwert Null und mit der Varianz (und Standardabweichung) Eins. Es ist nicht länger so, dass die Variabilität einer Variablen die anderen überflutet. Sie hätten natürlich auch durch ein anderes Maß der Ausbreitung dividieren können. Die Varianz wäre aufgrund von Maßinkonsistenzen eine besonders schlechte Wahl gewesen (denken Sie daran, was passiert wäre, wenn Sie die Einheit einer Ihrer Variablen geändert hätten, z. B. von Metern in Kilometer). Etwa die mittlere absolute Abweichung (oder ein entsprechendes Vielfaches der MAD)Wenn Sie versuchen, es als eine Art robusten Schätzer für die Standardabweichung zu verwenden, ist dies möglicherweise sinnvoller. Aber diese Diagonale wird trotzdem nicht in eine Diagonale von Einsen umgewandelt.

Das Ergebnis ist, dass eine Methode, die mit der Kovarianzmatrix standardisierter Daten arbeitet, im Wesentlichen die Korrelationsmatrix der Originaldaten verwendet. Wofür möchten Sie PCA verwenden, siehe PCA zu Korrelation oder Kovarianz?

Silberfisch
quelle
2
Ich denke, diese Antwort berührt nicht wirklich die eigentliche (und nicht triviale) Frage, warum die Standardabweichung als Maß für die Streuung herangezogen und zur Normalisierung verwendet wird. Warum nicht stattdessen die mittlere absolute Abweichung nehmen? Zugegeben, die resultierende Kovarianzmatrix ist nicht die "Standard" -Korrelationsmatrix, aber vielleicht ist sie besser, z. B. eine robustere Schätzung der Korrelationsmatrix. Siehe auch meinen letzten Kommentar zum OP.
Amöbe sagt Reinstate Monica
2
@ameoba In Bezug auf die "mittlere Tiefe" ist die Tatsache, dass wir Varianzen von eins in der Diagonale der neuen Kovarianzmatrix erhalten, im Wesentlichen das, was wir damit meinen, dass die transformierten Daten aus der PCA-Perspektive Variablen "auf der gleichen Skala" haben. In Bezug auf die "sehr tiefen" Fragen, die durch diese Frage aufgeworfen werden, bin ich mir nicht sicher, ob es einen großen Unterschied zwischen der Frage gibt, warum wir Varianzen als Maßstab für die PCA verwenden. und die Frage "Warum befasst sich PCA mit (Co) Varianzen?" - oder zumindest, dass die beiden Themen eng miteinander verbunden wären.
Silberfischchen
1
@amoeba, warum nicht durch MAD oder durch Varianz anstelle von SD dividieren, ist im Wesentlichen die gleiche Frage wie, warum überhaupt differenziell skaliert werden soll: Das heißt, warum nicht stattdessen PCA auf Kovarianzen durchführen? Ich unterstütze diese Idee im vorhergehenden Kommentar.
ttnphns
1
@ttnphns: Wenn verschiedene Variablen völlig unvergleichliche Maßstäbe haben (Temperatur, Länge, Gewicht usw.), dann ist der Wunsch, die Variablen irgendwie zu normalisieren, durchaus verständlich. Dies ist das häufigste Argument für die Verwendung einer Korrelationsmatrix anstelle einer Kovarianzmatrix. Aber wenn sich jemand Sorgen um Ausreißer macht, sehe ich nichts falsches daran, den Median anstelle des Mittelwerts zu subtrahieren und durch MAD anstelle von SVD zu dividieren ... Ich habe es nie selbst gemacht, aber ich denke, es klingt nach einer vernünftigen Sache.
Amöbe sagt Reinstate Monica
1
@amoeba, Linear PCA benötigt die Matrix als SSCP- Matrix. Bei jeder linearen Transformation der ursprünglichen Variablen bleibt dieser Typ erhalten. Natürlich können Sie auch eine beliebige nichtlineare Transformation durchführen (z. B. ein Ranking, um die Spearman-Rho-Matrix zu erhalten), aber dann verlieren Komponentenbewertungen und -ladungen ihre direkte (im Sinne der Minimierung der kleinsten Quadrate) Verbindung mit den Daten: ihnen Stellen Sie stattdessen die transformierten Daten dar!
TTNPHNS
5

Warum dividieren wir durch die Standardabweichung,
was bei der Division durch die Varianz falsch ist?

Wie @Silverfish bereits in einem Kommentar hervorhob, hat die Standardabweichung dieselbe Einheit wie die Messungen. Wenn Sie also durch die Standardabweichung und nicht durch die Varianz dividieren, erhalten Sie eine einfache Zahl, die angibt, wo sich Ihr Fall im Verhältnis zum Durchschnitt befindet und wie durch Mittelwert und Standardabweichung gemessen verteilt ist. Dies ist sehr nah an der Idee vonz

Also: Standardisierung (mittlere Zentrierung + Skalierung durch Standardabweichung) ist sinnvoll, wenn Sie die Standardnormalverteilung für Ihre Daten für sinnvoll halten.

Warum nicht eine andere Menge? Wie ... die Summe der absoluten Werte? oder eine andere Norm ...

Andere Größen werden zum Skalieren von Daten verwendet. Das Verfahren wird jedoch nur dann als Standardisierung bezeichnet, wenn die mittlere Zentrierung und Division durch die Standardabweichung verwendet wird. Skalierung ist der Oberbegriff.

ZB arbeite ich mit spektroskopischen Daten und weiß, dass mein Detektor eine wellenlängenabhängige Empfindlichkeit und eine (elektronische) Vorspannung hat. Also ich kalibriere durch Subtrahieren des Offsetsignals (Blindsignals) und Multiplizieren (Dividieren) mit einem Kalibrierungsfaktor.

Außerdem konzentriere ich mich möglicherweise nicht auf den Mittelwert, sondern auf einen anderen Basiswert, z. B. den Mittelwert einer Kontrollgruppe anstelle des großen Mittelwerts. (Ich persönlich standardisiere fast nie, da meine Variablen bereits die gleiche physikalische Einheit haben und in der gleichen Größenordnung liegen.)

Siehe auch: Variablen werden häufig angepasst (z. B. standardisiert), bevor ein Modell erstellt wird. Wann ist dies eine gute und wann eine schlechte Idee?

cbeleites unterstützt Monica
quelle
+1. Schönes Beispiel mit spektroskopischen Daten. Übrigens, herzlichen Glückwunsch zum Erreichen von 10k rep!
Amöbe sagt Reinstate Monica
0

Dieser Link beantwortet Ihre Frage eindeutig, denke ich: http://sebastianraschka.com/Articles/2014_about_feature_scaling.html

Ich zitiere ein kleines Stück:

Z-Score-Standardisierung oder Min-Max-Skalierung?

„Standardisierung oder Min-Max-Skalierung?“ - Auf diese Frage gibt es keine offensichtliche Antwort: Es kommt wirklich auf die Anwendung an.

Beispielsweise kann bei Clusteranalysen die Standardisierung besonders wichtig sein, um Ähnlichkeiten zwischen Merkmalen auf der Grundlage bestimmter Abstandsmaße zu vergleichen. Ein weiteres herausragendes Beispiel ist die Hauptkomponentenanalyse, bei der wir in der Regel die Standardisierung der Min-Max-Skalierung vorziehen, da wir an den Komponenten interessiert sind, die die Varianz maximieren (je nach Fragestellung und ob die PCA die Komponenten über die Korrelationsmatrix anstelle der berechnet) Kovarianzmatrix, aber mehr über PCA in meinem vorherigen Artikel).

Dies bedeutet jedoch nicht, dass die Min-Max-Skalierung überhaupt nicht nützlich ist! Eine beliebte Anwendung ist die Bildverarbeitung, bei der die Pixelintensitäten normalisiert werden müssen, um in einen bestimmten Bereich zu passen (dh 0 bis 255 für den RGB-Farbbereich). Außerdem erfordern typische neuronale Netzwerkalgorithmen Daten auf einer Skala von 0 bis 1.

Esra
quelle