Hauptkomponentenanalyse „rückwärts“: Wie viel Varianz der Daten erklärt sich durch eine gegebene Linearkombination der Variablen?


17

Ich habe eine Hauptkomponentenanalyse von sechs Variablen , , , , und . Wenn ich das richtig verstehe, sagt mir der nicht gedrehte PC1, welche lineare Kombination dieser Variablen die größte Abweichung in den Daten beschreibt / erklärt, und der PC2 sagt mir, welche lineare Kombination dieser Variablen die nächstgrößere Abweichung in den Daten beschreibt und so weiter.ABCDEF

Ich bin nur neugierig - gibt es eine Möglichkeit, dies "rückwärts" zu tun? Nehmen wir an, ich wähle eine Linearkombination dieser Variablen - z. B. . Könnte ich herausfinden, wie stark die beschriebenen Daten variieren ?A+2B+5C


7
Streng genommen ist PC2 die zu PC1 orthogonale Linearkombination , die die nächsthöhere Varianz in den Daten beschreibt.
Henry

1
Versuchen Sie, zu schätzen ? Var(A+2B+5C)
VQV

Alle schönen Antworten (drei + 1s). Ich bin gespannt auf die Meinung der Leute, ob das formulierte Problem über latente Variablenansätze (SEM / LVM) lösbar ist , wenn wir eine oder mehrere latente Variablen als "lineare Kombination der Variablen" betrachten.
Aleksandr Blekh

1
@ Aleksandr, meine Antwort ist eigentlich direkt im Widerspruch zu den anderen beiden. Ich habe meine Antwort bearbeitet, um die Meinungsverschiedenheit zu klären (und plane, sie weiter zu bearbeiten, um die Mathematik zu formulieren). Stellen Sie sich einen Datensatz mit zwei standardisierten identischen Variablen . Wie viel Varianz beschreibt ? Zwei andere Lösungen ergeben . Ich behaupte, dass die richtige Antwort . X=YX50%100%
Amöbe sagt Reinstate Monica

1
@amoeba: Obwohl ich immer noch Schwierigkeiten habe, das Material vollständig zu verstehen, verstehe ich, dass Ihre Antwort anders ist. Als ich "all nice answers" sagte, implizierte ich, dass ich die Ebene der Antworten an sich mag , nicht ihre Richtigkeit . Ich finde, dass es einen erzieherischen Wert für Leute wie mich hat, die in einem unwegsamen Land, genannt Statistik , auf der Suche nach Selbstbildung sind :-). Hoffe es macht Sinn.
Aleksandr Blekh

Antworten:


11

Wenn wir mit der Prämisse beginnen, dass alle Variablen zentriert wurden (Standard in PCA), dann ist die Gesamtvarianz in den Daten nur die Summe der Quadrate:

T=i(Ai2+Bi2+Ci2+Di2+Ei2+Fi2)

Dies entspricht der Kurve der Kovarianzmatrix der Variablen, die der Summe der Eigenwerte der Kovarianzmatrix entspricht. Dies ist die gleiche Größe, von der PCA als "Erklärung der Daten" spricht - dh Sie möchten, dass Ihre PCs den größten Anteil der diagonalen Elemente der Kovarianzmatrix erklären. Wenn wir dies nun zu einer objektiven Funktion für eine Reihe von vorhergesagten Werten machen, wie folgt:

S=i([AiA^i]2++[FiF^i]2)

Dann minimiert die erste Hauptkomponente unter allen angepassten Werten des Rangs 1 . Es scheint also, als ob die geeignete Menge, nach der Sie Um Ihr Beispiel , müssen wir diese Gleichung in Rang 1-Vorhersagen umwandeln. Zuerst müssen Sie die Gewichte normalisieren, um die Summe der Quadrate 1 zu erhalten. Also ersetzen wir (Summe der Quadrate ) durch . Als nächstes "bewerten" wir jede Beobachtung nach den normalisierten Gewichten:( A i , ... , F i ) P = 1. - SS(A^i,,F^i) A+2B+5C(1,2,5,0,0,0)30(1

P=1ST
A+2B+5C(1,2,5,0,0,0)30(130,230,530,0,0,0)

Zi=130Ai+230Bi+530Ci

Dann multiplizieren wir die Punktzahlen mit dem Gewichtsvektor, um unsere Rang 1-Vorhersage zu erhalten.

(A^iB^iC^iD^iE^iF^i)=Zi×(130230530000)

Dann stecken wir diese Schätzungen in berechnen . Sie können dies auch in die Matrixnormennotation einfügen, was möglicherweise auf eine andere Verallgemeinerung hindeutet. Wenn wir als Matrix der beobachteten Werte der Variablen ( in Ihrem Fall ) und als entsprechende Vorhersagematrix festlegen . Wir können den Anteil der Varianz wie folgt definieren:P O N × q q = 6 ESPON×qq=6E

||O||22||OE||22||O||22

Dabei ist die Frobenius-Matrixnorm . Sie könnten dies also "verallgemeinern", um eine andere Art von Matrixnorm zu sein, und Sie erhalten ein Differenzmaß für "erklärte Variation", obwohl es nicht per se "Varianz" ist, es sei denn, es ist eine Summe von Quadraten.||.||2


Dies ist ein vernünftiger Ansatz, aber Sie können Ihren Ausdruck stark vereinfachen und zeigen, dass er der Summe der Quadrate von geteilt durch die Gesamtsumme der Quadrate . Ich denke auch, dass dies nicht der beste Weg ist, die Frage zu interpretieren. siehe meine antwort für einen alternativen ansatz, den ich für sinnvoller halte (siehe insbesondere meine beispielfigur dort). TZiT
Amöbe sagt Reinstate Monica

Denken Sie so darüber nach. Stellen Sie sich einen Datensatz mit zwei standardisierten identischen Variablen . Wie viel Varianz beschreibt ? Ihre Rechnung ergibt . Ich behaupte, dass die richtige Antwort . X 50 % 100 %X=YX50%100%
Amöbe sagt Reinstate Monica

@amoeba - wenn dann ist der erste PC - dies ergibt Rang für (unter der Annahme von ). Dies gibt Rang Vorhersagen von und in ähnlicher Weise . Sie erhalten also und . Somit erhalten Sie 100%, wie Ihre Intuition nahelegt. ( 1X=Y1zi=xi+yi(12,12)1 xi=yi1 x i=xi y i=yiO-E=0S=0zi=xi+yi2=xi2xi=yi1x^ich=xichy^ich=yichÖ-E=0S=0
Wahrscheinlichkeitsrechnung

Hey, ja, klar, der 1. PC erklärt 100% Varianz, aber das habe ich nicht gemeint. Was ich damit gemeint habe ist, dass , aber die Frage ist, wie viel Varianz durch , dh durch Vektor, beschrieben wird? Was sagt deine Formel dann aus? X ( 1 , 0 )X=Y.X(1,0)
Amöbe sagt Reinstate Monica

@amoeba - das sagt 50%, aber beachten Sie, dass die Vektor sagt , dass der beste Rang Prädiktor für gegeben ist und (unter Berücksichtigung, dass unter Ihrer Wahl des Vektors). Dies ist keine optimale Vorhersage, weshalb Sie nicht 100% erhalten. In dieser Konfiguration müssen Sie sowohl als auch vorhersagen . 1 ( x i , y i ) x i = x i y i = 0 z i = x i X Y(1,0)1(xi,yi)x^i=xiy^i=0zi=xiXY.
Wahrscheinlichkeitslogik

8

Angenommen, ich wähle eine Linearkombination dieser Variablen - z. B. Kann ich herausfinden, wie stark die beschriebenen Daten variieren ?EIN+2B+5C

Diese Frage kann auf zwei verschiedene Arten verstanden werden, was zu zwei verschiedenen Antworten führt.

Eine lineare Kombination entspricht einem Vektor, der in Ihrem Beispiel . Dieser Vektor definiert wiederum eine Achse im 6D-Raum der ursprünglichen Variablen. Was Sie fragen, ist, wie viel Varianz beschreibt die Projektion auf dieser Achse? Die Antwort erfolgt über den Begriff "Rekonstruktion" der Originaldaten aus dieser Projektion und die Messung des Rekonstruktionsfehlers (siehe Wikipedia über den Anteil der nicht erklärten Varianz ). Es hat sich herausgestellt, dass diese Rekonstruktion auf zwei verschiedene Arten durchgeführt werden kann, wobei zwei verschiedene Antworten erhalten werden.[1,2,5,0,0,0]


Ansatz Nr. 1

Let sein , die zentrierter Datensatz ( Zeilen entsprechen Samples, Spalten entsprechen Variablen), sei seine Kovarianzmatrix und sei ein Einheitsvektor aus . Die Gesamtvarianz des Datensatzes ist die Summe aller Varianzen, dh die Spur der Kovarianzmatrix: . Die Frage ist: Welcher Anteil von macht n d Σ w R d d T = t r ( Σ ) T w X w T R 2 f i r s t = V a r ( X w )XndΣwRddT=tr(Σ)Twbeschreiben? Die beiden von @todddeluca und @probabilityislogic gegebenen Antworten sind gleichbedeutend mit: berechne die Projektion , berechne ihre Varianz und dividiere durch :XwT

Rfichrst2=Veinr(Xw)T=wΣwtr(Σ).

Dies ist möglicherweise nicht sofort offensichtlich, da beispielsweise @probabilityislogic vorschlägt, die Rekonstruktion und dann zu berechnen aber mit ein wenig Algebra kann gezeigt werden, dass dies ein äquivalenter Ausdruck ist.X 2 - X - X w w2Xww

X2-X-Xww2X2,

Ansatz 2

Okay. Betrachten Sie nun folgendes Beispiel: ist ein Datensatz mit einer Kovarianzmatrix und ist einfach ein Vektor: d = 2 Σ = ( 1 0.99 0.99 1 ) w = ( 1 0 ) xXd=2

Σ=(10,990,991)
w=(10)x

Varianz erklärt

Die Gesamtvarianz beträgt . Die Varianz der Projektion auf (in roten Punkten dargestellt) ist gleich . Entsprechend der obigen Logik ist die erklärte Varianz gleich . Und in gewissem Sinne ist es so: Rote Punkte ("Rekonstruktion") sind weit von den entsprechenden blauen Punkten entfernt, so dass ein Großteil der Varianz "verloren" geht.w 1 1 / 2T=2w11/2

Andererseits haben die beiden Variablen eine Korrelation von und sind daher nahezu identisch. zu sagen, dass einer von ihnen nur der Gesamtvarianz beschreibt, ist seltsam, weil jeder von ihnen "fast alle Informationen" über den zweiten enthält. Wir können es wie folgt formalisieren: Geben Sie Projektion , finden Sie eine bestmögliche Rekonstruktion wobei nicht unbedingt mit identisch ist , und berechnen Sie dann den Rekonstruktionsfehler, und schließen Sie ihn an Ausdruck für den Anteil der erklärten Varianz: wobei so gewählt ist, dass50 % X w X w vv w R 2 s e c o n d = X 2 - X - X w v20,9950%XwXwvvw

RsecÖnd2=X2-X-Xwv2X2,
vX-Xwv2 ist minimal (dh ist maximal). Dies ist genau äquivalent zu der Berechnung des multivariaten Regressions ursprünglichen Datensatz Vorhersage von den - dimensionalen Projektions .R2R2X1Xw

Es ist eine Frage der einfachen Algebra, eine Regressionslösung für zu verwenden, um herauszufinden, dass sich der gesamte Ausdruck zu vereinfacht.Im obigen Beispiel entspricht dies , was vernünftig erscheint.v

RsecÖnd2=Σw2wΣwtr(Σ).
0,9901

Es ist zu beachten, dass wenn (und nur wenn) einer der Eigenvektoren von , dh eine der Hauptachsen, mit dem Eigenwert (so dass ), beide Ansätze zur Berechnung von fallen zusammen und reduzieren sich auf den bekannten PCA-AusdruckwΣλΣw=λwR2

RPCEIN2=Rfichrst2=RsecÖnd2=λ/tr(Σ)=λ/λich.

PS. Siehe meine Antwort hier für eine Anwendung der abgeleiteten Formel auf den Spezialfall, dass einer der Basisvektoren ist: Varianz der Daten, die durch eine einzelne Variable erklärt werden .w


Blinddarm. Herleitung der Formel fürRsecÖnd2

Es ist ein Regressionsproblem, die Rekonstruktion zu minimieren (mit als univariatem Prädiktor und als multivariater Antwort). Ihre Lösung ist gegeben durchvX-Xwv2XwX

v=((Xw)(Xw))-1(Xw)X=(wΣw)-1wΣ.

Als nächstes kann die Formel vereinfacht werden als aufgrund des Satzes von Pythagoras, weil die Hutmatrix in der Regression eine ist orthogonale Projektion (aber es ist auch einfach, direkt zu zeigen).R2

R2=X2-X-Xwv2X2=Xwv2X2

Wenn wir nun die Gleichung für , erhalten wir für den Zähler:v

Xwv2=tr(Xwv(Xwv))=tr(XwwΣΣwwX)/(wΣw)2=tr(wΣΣw)/(wΣw)=Σw2/(wΣw).

Der Nenner ist gleich was zu der oben angegebenen Formel führt.X2=tr(Σ)


Ich denke, das ist eine Antwort auf eine andere Frage. Zum Beispiel ist es nicht der Fall, dass Sie Ihre Optimierung WRT dem ersten PC als eindeutige Antwort (in den Fällen , wo es eindeutig ist) geben. Die Tatsache, dass und beide 100% ergeben, wenn ist, ist Beweis genug. Ihre vorgeschlagene Methode scheint davon auszugehen, dass die "normalisierte" Zielfunktion für PCA die erklärte Varianz immer unterschätzt (Ihre ist keine normalisierte PCA-Zielfunktion, da sie sich durch die in PCA optimierte Menge normalisiert). R2w(1,0)12(1,1)X=Y.
Wahrscheinlichkeitslogik

Ich stimme zu, dass unsere Antworten auf unterschiedliche Fragen lauten, aber mir ist nicht klar, welches OP im Sinn hatte. Beachten Sie auch, dass meine Interpretation nicht sehr seltsam ist: Es handelt sich um einen Standard-Regressionsansatz: Wenn wir sagen, dass so und so viel Varianz in , berechnen wir den Rekonstruktionsfehler vonmit einem optimalen , nicht nur. Hier ist ein weiteres Argument: Wenn alle Variablen standardisiert sind, erklärt jede in Ihrem Ansatz Varianzbetrag. Dies ist nicht sehr informativ: Einige Variablen können viel aussagekräftiger sein als andere! Mein Ansatz spiegelt dies wider. xyy-xbby-xn1/n
Amöbe sagt Reinstate Monica

@amoeba (+1) Tolle Antwort, es ist wirklich hilfreich! Würdest du eine Referenz kennen, die dieses Problem angeht? Vielen Dank!
PierreE

@PierreE Danke. Nein, ich glaube nicht, dass ich eine Referenz dafür habe.
Amöbe sagt Reinstate Monica

4

Die Gesamtvarianz in einem Vektordatensatz sei die Summe der quadratischen Fehler (SSE) zwischen den Vektoren im Datensatz und dem mittleren Vektor des Datensatzes wobei der mittlere Vektor des Datensatzes ist, der i-te Vektor im Datensatz ist und das Skalarprodukt zweier Vektoren ist . Anders ausgedrückt ist die Gesamtvarianz die SSE zwischen jedem und seinem vorhergesagten Wert , wenn wir . T

T=ich(xich-x¯)(xich-x¯)
x¯xichxichf(xich)f(xich)=x¯

Nun sei der Prädiktor von , die Projektion des Vektors auf einen Einheitsvektor .xichf(xich)xichc

fc(xich)=(cxich)c

Dann wird die für einen gegebenen istC S S E c = Σ i ( x i - f c ( x i ) ) ( x i - f c ( x i ) )SSEc

SSEc=ich(xich-fc(xich))(xich-fc(xich))

Ich denke, wenn Sie wählen, zu minimieren , dann ist die erste Hauptkomponente.S S E c ccSSEcc

Wenn Sie stattdessen wählen die normalisierte Version des Vektors zu sein , dann ist die Varianz in den Daten unter Verwendung beschrieben als Prädiktor.( 1 , 2 , 5 , . . . ) T - S S E c cc(1,2,5,...)T-SSEcc


Dies ist ein vernünftiger Ansatz, aber ich denke, dass dies nicht der beste Weg ist, die Frage zu interpretieren. siehe meine antwort für einen alternativen ansatz, den ich für sinnvoller halte (siehe insbesondere meine beispielfigur dort).
Amöbe sagt Reinstate Monica

Denken Sie so darüber nach. Stellen Sie sich einen Datensatz mit zwei standardisierten identischen Variablen . Wie viel Varianz beschreibt ? Ihre Rechnung ergibt . Ich behaupte, dass die richtige Antwort . X 50 % 100 %X=Y.X50%100%
Amöbe sagt Reinstate Monica
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.