Sinnvolles Verständnis von Hauptkomponentenanalyse, Eigenvektoren und Eigenwerten


976

In der heutigen Mustererkennungsklasse sprach mein Professor über PCA, Eigenvektoren und Eigenwerte.

Ich habe die Mathematik verstanden. Wenn ich gebeten werde, Eigenwerte usw. zu finden, mache ich das wie eine Maschine richtig. Aber ich habe es nicht verstanden . Ich habe den Zweck nicht verstanden. Ich habe es nicht gespürt.

Ich glaube fest an das folgende Zitat:

Sie verstehen etwas nur dann wirklich, wenn Sie es Ihrer Großmutter erklären können. -- Albert Einstein

Nun, ich kann einem Laien oder einer Großmutter diese Konzepte nicht erklären.

  1. Warum PCA, Eigenvektoren & Eigenwerte? Was war der Bedarf an diesen Konzepten?
  2. Wie würden Sie diese einem Laien erklären?

95
Gute Frage. Ich stimme auch dem Zitat zu. Ich glaube, es gibt viele Menschen in Statistik und Mathematik, die hochintelligent sind und sehr tief in ihre Arbeit eintauchen können, aber nicht genau verstehen, woran sie arbeiten. Oder sie tun es, sind aber nicht in der Lage, es anderen zu erklären. Ich gebe mir alle Mühe, hier Antworten in einfachem Englisch zu geben und Fragen zu stellen, die nach planenglischen Antworten verlangen.
Neil McGuigan

7
Dies wurde im Juli auf der Mathematik-Website gefragt, aber nicht so gut, und es wurden nicht viele Antworten gegeben (nicht überraschend, da es sich dort um einen anderen Schwerpunkt handelte). math.stackexchange.com/questions/1146/…
whuber

6
Ähnlich wie bei der Erklärung von Zuur et al. Bei der Analyse ökologischer Daten, in der es darum geht, Ihre Hand auf einen Overhead-Projektor zu projizieren. Sie drehen Ihre Hand weiter, sodass die Projektion an der Wand Ihrer Meinung nach ziemlich ähnlich aussieht.
Roman Luštrik

12
Diese Frage führte mich zu einer guten Arbeit, und obwohl ich das für ein großartiges Zitat halte, stammt sie nicht von Einstein. Dies ist eine häufige falsche Zuordnung, und das wahrscheinlichste Originalzitat ist wahrscheinlich das von Ernest Rutherford, der sagte: "Wenn Sie einer Bardame Ihre Physik nicht erklären können, ist es wahrscheinlich keine sehr gute Physik." Trotzdem danke, dass du diesen Thread gestartet hast.
Gavaletz

23
Alice Calaprice, das ultimative Zitat von Einstein , Princeton UP 2011, kennzeichnet das Zitat hier als eines von vielen "Wahrscheinlich nicht von Einstein". Siehe S.482.
Nick Cox

Antworten:


1293

Stellen Sie sich ein großes Familienessen vor, bei dem alle Sie nach PCA fragen. Zuerst erklärst du es deiner Urgroßmutter; dann zu dir Großmutter; dann zu deiner Mutter; dann zu deinem Ehepartner; Schließlich zu Ihrer Tochter (die Mathematikerin ist). Jedes Mal ist die nächste Person weniger ein Laie. So könnte das Gespräch verlaufen.

Urgroßmutter: Ich habe gehört, Sie studieren "Pee-See-Ay". Ich frage mich, was das ist ...

Sie: Ah, es ist nur eine Methode, um einige Daten zusammenzufassen. Schau, wir haben ein paar Weinflaschen hier auf dem Tisch. Wir können jeden Wein durch seine Farbe beschreiben, durch , wie stark es ist, durch , wie alt er ist, und so weiter (siehe diese sehr schöne Visualisierung von Wein Eigenschaften genommen von hier ). Wir können für jeden Wein in unserem Keller eine ganze Liste verschiedener Merkmale zusammenstellen. Viele von ihnen messen jedoch verwandte Eigenschaften und sind daher überflüssig. In diesem Fall sollten wir jeden Wein mit weniger Merkmalen zusammenfassen können! Das macht PCA.

Großmutter: Das ist interessant! Also prüft dieses PCA-Ding, welche Eigenschaften überflüssig sind und verwirft sie?

Sie: Ausgezeichnete Frage, Oma! Nein, PCA wählt einige Merkmale nicht aus und verwirft die anderen. Stattdessen werden einige neue Merkmale konstruiert , die unsere Weinliste gut zusammenfassen. Natürlich werden diese neuen Eigenschaften unter Verwendung der alten konstruiert; Zum Beispiel könnte ein neues Merkmal berechnet werden als Weinalter minus Weinsäuregehalt oder eine andere Kombination wie diese (wir nennen sie lineare Kombinationen ).

Tatsächlich findet PCA die bestmöglichen Eigenschaften, die die Liste der Weine so gut wie nur möglich zusammenfassen (unter allen denkbaren linearen Kombinationen). Deshalb ist es so nützlich.

Mutter: Hmmm, das hört sich sicher gut an, aber ich bin mir nicht sicher, ob ich das verstehe. Was meinen Sie eigentlich, wenn Sie sagen, dass diese neuen PCA-Merkmale die Liste der Weine "zusammenfassen"?

Sie: Ich denke, ich kann auf diese Frage zwei verschiedene Antworten geben. Die erste Antwort ist, dass Sie einige Weineigenschaften (Merkmale) suchen, die sich stark von Wein zu Wein unterscheiden. Stellen Sie sich vor, Sie hätten eine Eigenschaft, die für die meisten Weine gleich ist. Das wäre nicht sehr nützlich, nicht wahr? Weine sind sehr unterschiedlich, aber Ihr neues Anwesen lässt sie alle gleich aussehen! Dies wäre sicherlich eine schlechte Zusammenfassung. Stattdessen sucht PCA nach Eigenschaften, bei denen die Unterschiede zwischen den Weinen möglichst groß sind.

Die zweite Antwort ist, dass Sie nach den Eigenschaften suchen, mit denen Sie die ursprünglichen Weineigenschaften vorhersagen oder "rekonstruieren" können. Stellen Sie sich erneut vor, Sie hätten eine Eigenschaft, die in keiner Beziehung zu den ursprünglichen Merkmalen steht. Wenn Sie nur diese neue Eigenschaft verwenden, können Sie die ursprünglichen Eigenschaften auf keinen Fall wiederherstellen! Dies wäre wiederum eine schlechte Zusammenfassung. Daher sucht PCA nach Eigenschaften, mit denen die ursprünglichen Eigenschaften so gut wie möglich wiederhergestellt werden können.

Überraschenderweise stellt sich heraus, dass diese beiden Ziele gleichwertig sind und PCA zwei Fliegen mit einer Klappe schlagen kann.

Ehepartner: Aber Liebling, diese beiden "Ziele" von PCA klingen so unterschiedlich! Warum sollten sie gleichwertig sein?

Sie: Hmmm. Vielleicht sollte ich ein wenig zeichnen (nimmt eine Serviette und beginnt zu kritzeln) . Lassen Sie uns zwei Weinmerkmale auswählen, vielleicht die Dunkelheit des Weins und den Alkoholgehalt - ich weiß nicht, ob sie miteinander korrelieren, aber stellen wir uns vor, dass dies der Fall ist. So könnte ein Streudiagramm verschiedener Weine aussehen:

PCA-Beispieldaten

Jeder Punkt in dieser "Weinwolke" zeigt einen bestimmten Wein. Sie sehen, dass die beiden Eigenschaften ( und in dieser Abbildung) korreliert sind. Eine neue Eigenschaft kann erstellt werden, indem eine Linie durch die Mitte dieser Weinwolke gezogen und alle Punkte auf diese Linie projiziert werden. Diese neue Eigenschaft wird durch eine lineare Kombination , wobei jede Zeile einigen bestimmten Werten von und .xyw1x+w2yw1w2

Schauen Sie sich das hier genau an - so sehen diese Projektionen für verschiedene Linien aus (rote Punkte sind Projektionen der blauen Punkte):

PCA-Animation: Varianz- und Rekonstruktionsfehler

Wie ich bereits sagte, wird PCA die "beste" Linie nach zwei verschiedenen Kriterien für die "beste" finden. Erstens sollte die Variation der Werte entlang dieser Linie maximal sein. Achten Sie darauf, wie sich die "Streuung" (wir nennen sie "Varianz") der roten Punkte ändert, während sich die Linie dreht. Kannst du sehen, wann es das Maximum erreicht? Zweitens, wenn wir die beiden ursprünglichen Merkmale (Position eines blauen Punkts) aus dem neuen Merkmal (Position eines roten Punkts) rekonstruieren, ergibt sich der Rekonstruktionsfehler aus der Länge der verbindenden roten Linie. Beobachten Sie, wie sich die Länge dieser roten Linien ändert, während sich die Linie dreht. können Sie sehen, wann die Gesamtlänge das Minimum erreicht?

Wenn Sie diese Animation für einige Zeit anstarren, werden Sie feststellen, dass "die maximale Varianz" und "der minimale Fehler" gleichzeitig erreicht werden, nämlich wenn die Linie auf die Magenta-Häkchen zeigt, die ich auf beiden Seiten der Weinwolke markiert habe . Diese Linie entspricht dem neuen Weingut, das von PCA errichtet wird.

PCA steht übrigens für "Hauptkomponentenanalyse" und diese neue Eigenschaft wird als "erste Hauptkomponente" bezeichnet. Und anstatt "Eigenschaft" oder "Merkmal" zu sagen, sagen wir normalerweise "Merkmal" oder "Variable".

Tochter: Sehr schön, Papa! Ich denke, ich kann sehen, warum die beiden Ziele das gleiche Ergebnis liefern: Es liegt im Wesentlichen am Satz von Pythagoras, nicht wahr? Wie auch immer, ich habe gehört, dass PCA irgendwie mit Eigenvektoren und Eigenwerten zusammenhängt; Wo sind sie auf diesem Bild?

Sie: Geniale Beobachtung. Mathematisch wird die Ausbreitung der roten Punkte als der durchschnittliche quadratische Abstand vom Zentrum der Weinwolke zu jedem roten Punkt gemessen; Wie Sie wissen, nennt man es die Varianz . Andererseits wird der Gesamtrekonstruktionsfehler als die durchschnittliche quadratische Länge der entsprechenden roten Linien gemessen. Da der Winkel zwischen roten und schwarzen Linien jedoch immer ° beträgt , entspricht die Summe dieser beiden Größen dem durchschnittlichen quadratischen Abstand zwischen dem Mittelpunkt der Weinwolke und jedem blauen Punkt. das ist genau der Satz von Pythagoras. Natürlich hängt dieser durchschnittliche Abstand nicht von der Ausrichtung der schwarzen Linie ab. Je höher die Varianz, desto geringer der Fehler (weil ihre Summe konstant ist). Dieses von Hand gewellte Argument kann präzisiert werden (90siehe hier ).

Sie können sich übrigens vorstellen, dass die schwarze Linie ein massiver Stab und jede rote Linie eine Feder ist. Die Energie der Feder ist proportional zu ihrer quadratischen Länge (dies ist in der Physik als das Hookesche Gesetz bekannt), sodass sich der Stab so ausrichtet, dass die Summe dieser quadratischen Abstände minimiert wird. Ich habe eine Simulation erstellt, wie es bei viskoser Reibung aussehen wird:

PCA-Animation: Pendel

In Bezug auf Eigenvektoren und Eigenwerte. Sie wissen, was eine Kovarianzmatrix ist. In meinem Beispiel ist es eine Matrix, die durchDies bedeutet, dass die Varianz der Variablen beträgt , die Varianz der Variablen beträgt und die Kovarianz zwischen ihnen beträgt . Da es sich um eine quadratische symmetrische Matrix handelt, kann sie durch Auswahl eines neuen orthogonalen Koordinatensystems diagonalisiert werden, das durch ihre Eigenvektoren gegeben ist (dies wird übrigens als Spektralsatz bezeichnet)2×2

(1.070.630.630.64).
x1.07y0.640.63( 1,52 0 0 0,19 ) , 1,52); entsprechende Eigenwerte liegen dann auf der Diagonale. In diesem neuen Koordinatensystem ist die Kovarianzmatrix diagonal und sieht folgendermaßen aus: was bedeutet, dass die Korrelation zwischen Punkten jetzt Null ist. Es wird klar, dass die Varianz jeder Projektion durch einen gewichteten Durchschnitt der Eigenwerte gegeben ist (ich skizziere hier nur die Intuition). Folglich wird die maximal mögliche Varianz ( ) erreicht, wenn wir einfach die Projektion auf die erste Koordinatenachse nehmen. Daraus folgt, dass die Richtung der ersten Hauptkomponente durch den ersten Eigenvektor der Kovarianzmatrix gegeben ist. ( Weitere Details hier. )
(1.52000.19),
1.52

Sie können dies auch auf der rotierenden Figur sehen: Es gibt dort eine graue Linie orthogonal zu der schwarzen; zusammen bilden sie einen rotierenden Koordinatenrahmen. Versuchen Sie zu bemerken, wenn die blauen Punkte in diesem rotierenden Rahmen nicht mehr korrelieren. Die Antwort ist wiederum, dass es genau dann geschieht, wenn die schwarze Linie auf die Magenta-Ticks zeigt. Jetzt kann ich Ihnen sagen, wie ich sie gefunden habe: Sie markieren die Richtung des ersten Eigenvektors der Kovarianzmatrix, die in diesem Fall gleich .(0.81,0.58)


Auf vielfachen Wunsch habe ich den Matlab-Code geteilt, um die obigen Animationen zu erstellen .


79
+1 Schöne Geschichte und Illustrationen. ...then to your mother; then to your wife; finally, to your daughter (who is a mathematician)...Ich würde weitermachen: und nach dem Abendessen - für dich. Und hier hast du plötzlich stecken ...
ttnphns

68
Ich liebe die Illustrationen, die Sie für diese Antworten machen.
shadowtalker

57
Normalerweise gehe ich einfach durch Cross Validated, um mich über die Dinge zu informieren, aber ich hatte nie Grund, ein Konto zu eröffnen ... hauptsächlich, weil die Art der Fragen hier außerhalb meines Fachwissens liegt und ich keine wirklich beantworten kann. Normalerweise bin ich nur bei StackOverflow und seit ungefähr einem Jahr im StackExchange-Netzwerk. Ich habe mich heute jedoch nur dazu entschlossen, ein Konto zu erstellen, um Ihren Beitrag zu verbessern. Dies ist wahrscheinlich die beste Ausstellung von PCA, die ich je gelesen habe, und ich habe viele gelesen. Vielen Dank für diesen wundervollen Beitrag - das hervorragende Geschichtenerzählen, die Grafiken und die einfache Lesbarkeit! +1
rayryeng

14
Anmerkung für mich: Meine Antwort hat derzeit 100 positive Stimmen, die von JDLong 220 positive Stimmen. Wenn wir von einem konstanten Wachstum ausgehen, hat meine 100 positive Stimmen / Jahr und seine 40 positive Stimmen / Jahr. Oder besser gesagt 55 / Jahr, wenn es berechnet wurde, seit es im Januar 2014 100 Upvotes [mit einem goldenen Abzeichen] bestanden hat. Dies bedeutet, dass ich in 2,5 bis 3 Jahren, gegen Ende 2018, aufholen werde. Mal sehen :-)
Amöbe

3
Hinweis für mich weiter: Ich muss meinen Kostenvoranschlag aktualisieren. Einen Monat später erhielt diese Antwort 18 Gegenstimmen für JDLong's. Dies deutet darauf hin, dass ich in weniger als einem Jahr aufholen könnte. Interessanterweise liegt 5 / Monat sehr nahe an meiner obigen Schätzung von 55 / Jahr, aber 18 / Monat ist mehr als doppelt so hoch wie 100 / Jahr. Da sich meine Antwort nicht geändert hat, scheint es, dass das Erreichen des zweiten Platzes die Abstimmung beschleunigte (wahrscheinlich aufgrund der erhöhten Sichtbarkeit).
Amöbe

376

Das Manuskript "Ein Tutorial zur Hauptkomponentenanalyse" von Lindsay I Smith hat mir wirklich geholfen, PCA zu erlangen. Ich denke, es ist immer noch zu komplex, um es deiner Großmutter zu erklären, aber es ist nicht schlecht. Sie sollten die ersten paar Bits zur Berechnung von Eigenen usw. überspringen. Gehen Sie zum Beispiel in Kapitel 3 und sehen Sie sich die Diagramme an.

Ich habe einige Beispiele, in denen ich einige Spielzeugbeispiele durchgearbeitet habe, damit ich die lineare PCA vs. OLS-Regression verstehen kann. Ich werde versuchen, diese auszugraben und sie auch zu posten.

edit: Sie haben nicht wirklich nach dem Unterschied zwischen Ordinary Least Squares (OLS) und PCA gefragt, aber da ich meine Notizen ausgegraben habe, habe ich einen Blog-Beitrag darüber verfasst . Die sehr kurze Version ist OLS von y ~ x minimiert den Fehler senkrecht zur unabhängigen Achse wie folgt (gelbe Linien sind Beispiele für zwei Fehler):

Alt-Text

Wenn Sie x ~ y regressieren würden (im Gegensatz zu y ~ x im ersten Beispiel), würde dies den Fehler wie folgt minimieren:

Alt-Text

und PCA minimiert effektiv Fehler orthogonal zum Modell selbst, wie folgt:

Alt-Text

Wichtiger noch, wie andere bereits gesagt haben, hilft Ihnen PCA in einer Situation, in der Sie ein GANZES BÜNDEL unabhängiger Variablen haben, herauszufinden, welche linearen Kombinationen dieser Variablen am wichtigsten sind. Die obigen Beispiele veranschaulichen nur, wie die erste Hauptkomponente in einem wirklich einfachen Fall aussieht.

In meinem Blog-Beitrag habe ich den R-Code zum Erstellen der obigen Grafiken und zum Berechnen der ersten Hauptkomponente. Es könnte sich lohnen, damit zu spielen, um Ihre Intuition rund um PCA aufzubauen. Ich neige dazu, etwas nicht wirklich zu besitzen , bis ich Code schreibe, der es reproduziert. 


9
Guter Anruf beim Manuskript von Lindsay I Smith - lesen Sie es noch heute; sehr hilfreich.
Stedy

7
Entspricht PCA also den kleinsten Quadraten, wenn orthogonale Abstände von Punkten zur Anpassungslinie optimiert werden?
Marcin

3
@Marcin - das ist richtig. Sie können PCA erneut Phrase als die besten Rang zu finden , Schätzung ( 1 m p ) des ursprünglichen p Variablen ( x i jm1mpp ), mit einer Zielfunktion von Σ n i = 1 Σ p j = 1 ( x i j - x i j ) 2 . Die Wahl der Anzahl der PCs entspricht der Wahl des Vorhersagerangs. x^iji=1,,nj=1,,pi=1nj=1p(xijx^ij)2
Wahrscheinlichkeitslogik

3
Kleiner mathematischer Fehler in Smith: "Alle Eigenvektoren einer Matrix sind senkrecht ... egal wie viele Dimensionen Sie haben" gilt nur für symmetrische Matrizen, hier eine mit einem Abstand von 45 Grad . Smith bemerkt die Symmetrie der Kovarianzmatrizen früher, aber nicht die Implikationssymmetrie sichert nsenkrechte Eigenvektoren. Tatsächlich haben nicht alle reellen n x nMatrizen sogar reelle Eigenwerte (z. B. {{0,1}, {- 1,0}}) und von denen, die dies tun, haben nicht alle nunabhängige Eigenvektoren (z. B. {{1,1}, {0) , 1}})! Symmetrie ist wichtig!
Silberfischchen

8
Als Mathematiker, der Eigenvektoren unterrichtet, muss ich beim Lesen dieses Lindsay-Smith-Manuskripts zusammenzucken. "... der resultierende Vektor ist ein ganzzahliges Vielfaches des Originals ..." - was spricht für eine Ganzzahl ? Ein Eigenvektor der Matrix A ist ein beliebiger Vektor X, so dass AX ein Vielfaches von X ist. Kein ganzzahliges Vielfaches, nur ein Vielfaches! Ein nicht ganzzahliges Vielfaches ist auch in Ordnung! Meine Güte, warum unnötige Verwirrung schaffen, wo keine ist?
Dmitri Zaitsev

144

Lassen Sie uns zuerst (2) tun. PCA passt ein Ellipsoid an die Daten an. Ein Ellipsoid ist eine mehrdimensionale Verallgemeinerung verzerrter kugelförmiger Formen wie Zigarren, Pfannkuchen und Eier. Diese werden alle sauber durch die Richtungen und Längen ihrer Hauptachsen (Halbachsen) beschrieben, z. B. die Achse der Zigarre oder des Eies oder die Ebene des Pfannkuchens. Unabhängig davon, wie das Ellipsoid gedreht wird, zeigen die Eigenvektoren in diese Hauptrichtungen, und die Eigenwerte geben die Längen an. Die kleinsten Eigenwerte entsprechen den dünnsten Richtungen mit der geringsten Abweichung. Wenn Sie sie also ignorieren (wodurch sie flach zusammenfallen), verlieren Sie relativ wenig Informationen. Das ist PCA.

(1) Abgesehen von der Vereinfachung (oben) benötigen wir eine genaue Beschreibung, Visualisierung und Einsicht. Das Reduzieren von Dimensionen ist eine gute Sache: Es erleichtert das Beschreiben der Daten und lässt uns ein Bild zeichnen, wenn wir das Glück haben, sie auf drei oder weniger zu reduzieren. Manchmal können wir sogar nützliche Wege finden, um die durch die Koordinaten im Bild dargestellten Datenkombinationen zu interpretieren, die einen Einblick in das gemeinsame Verhalten der Variablen gewähren.


200

Figuren

Jede 3D-Punktwolke, die in dem Sinne "kohärent" ist, dass sie keine Cluster, Ranken oder Ausreißer aufweist, sieht wie eine dieser aus. Jede 3D - Punktwolke überhaupt --provided nicht alle Punkte zusammenfallen - kann durch eine dieser Figuren beschrieben werden als ein Anfangspunkt für die Identifizierung weiterer clustering oder Musterung.

Die Intuition, die Sie aus der Betrachtung solcher Konfigurationen entwickeln, kann auf höhere Dimensionen angewendet werden, obwohl es schwierig oder unmöglich ist, diese Dimensionen zu visualisieren.


2
Wenn Sie (nahezu) gleiche Halbachsen haben (dh das Ellipsoid hat eine (nahezu) kreisförmige Schicht), zeigt dies an, dass die beiden Daten, die diesen Achsen entsprechen, (nahezu) abhängig sind. man kann für eine Ellipse von Hauptachsen sprechen, aber Kreise haben nur einen Radius. :)
JM ist kein Statistiker

6
Ich wäre hier vorsichtiger, JM. Zunächst einmal, um zu verdeutlichen, dass Sie mit "nahezu abhängig" "nahezu unabhängig" meinen müssen. Dies würde für eine multinormale Variable zutreffen, aber in vielen Fällen wird PCA mit Daten durchgeführt, die ausgesprochen nicht normal sind. Tatsächlich können die Clustering-Analysen, die einigen PCA-Berechnungen folgen, als eine Möglichkeit angesehen werden, eine starke Form der Nicht-Normalität zu bewerten. Mathematisch Kreise tun haben Hauptachsen, aber sie sind einfach nicht eindeutig bestimmt: Sie können beliebige orthogonale Paar von Radien als ihre Hauptachsen wählen können.
whuber

1
Ja, tut mir leid, ich nehme an, "die Hauptachsen eines Kreises sind unbestimmt" wäre ein besserer Weg gewesen, es auszudrücken.
JM ist kein Statistiker

2
Sehr schöne Interpretation! Versuchen Sie es besser zu verstehen. Wo in der PCA-Mathematik kann man sehen, dass "PCA ein Ellipsoid an Daten anpasst"?
Kochede

4
@Kochede Ein Ellipsoid ist eine Kontur einer quadratischen Form. Die Kovarianzmatrix ist eine quadratische Form. PCA identifiziert seine Achsen und ihre Längen.
Whuber

106

Hmm, hier geht es um eine völlig unmathematische Sicht auf PCA ...

Stellen Sie sich vor, Sie haben gerade einen Apfelweinladen eröffnet. Sie haben 50 Cidre-Sorten und möchten herausfinden, wie sie in Regale eingeteilt werden, damit Cidre mit ähnlichem Geschmack in dasselbe Regal gestellt werden. Es gibt viele verschiedene Geschmäcker und Texturen im Apfelwein - Süße, Herbheit, Bitterkeit, Hefe, Fruchtigkeit, Klarheit, Sprudel usw. usw. Um die Flaschen in Kategorien einzuteilen, müssen Sie also zwei Fragen beantworten:

1) Welche Eigenschaften sind für die Identifizierung von Apfelweingruppen am wichtigsten? ZB macht es das Klassifizieren anhand der Süße einfacher, Ihre Apfelweine in Gruppen mit ähnlichem Geschmack einzuteilen, als das Klassifizieren anhand der Fruchtigkeit?

2) Können wir unsere Liste der Variablen reduzieren, indem wir einige davon kombinieren? zB gibt es tatsächlich eine Variable, die eine Kombination aus "Hefe und Klarheit und Sprudeligkeit" ist und die eine wirklich gute Skala für die Klassifizierung von Sorten darstellt?

Dies ist im Wesentlichen das, was PCA tut. Hauptbestandteile sind Variablen, die die Variation in einem Datensatz sinnvoll erklären - in diesem Fall, die sinnvoll zwischen Gruppen unterscheiden. Jede Hauptkomponente ist eine Ihrer ursprünglichen erklärenden Variablen oder eine Kombination einiger Ihrer ursprünglichen erklärenden Variablen.


4
Was ist mit den Eigenvektoren & Eigenwerten?
Ηλίας

3
Okay: Der Eigenwert, der mit jeder Hauptkomponente verknüpft ist, gibt an, wie stark der Datensatz variiert (in meinem Beispiel, wie klar Ihre Flaschen in Gruppen unterteilt sind). Sie werden normalerweise als Prozentsatz der gesamten Variation im Datensatz ausgedrückt. Was die Eigenvektoren angeht, so verfolge ich, wie Klauen sagten, die Ergebnisse einer Analyse wie eine Maschine;) In meinem Kopf hängen sie davon ab, wie Sie das Vince-Handy in die "beste" Ausrichtung drehen, aber dies ist möglicherweise nicht die richtige Art, an sie zu denken.
Freya Harrison

17
Eigenvektoren sind nur die linearen Kombinationen der ursprünglichen Variablen (im einfachen oder gedrehten Faktorraum); Sie beschrieben, wie Variablen zu jeder Faktorachse "beitragen". Stellen Sie sich PCA grundsätzlich als einen Weg vor, um neue Achsen zu konstruieren, die auf die Richtungen der maximalen Varianz (im ursprünglichen Variablenraum) zeigen, ausgedrückt durch den Eigenwert, und wie Variablenbeiträge in diesem neuen Raum gewichtet oder linear transformiert werden.
CHL

Wie würde die Kovarianzmatrix dieses Problems aussehen? Was sagt es über die Variablen aus (Süße, Herbheit, Bitterkeit, Hefe, Fruchtigkeit, Klarheit, Sprudel usw. usw.)?
JustCurious

1
Ich weiß nicht, was es mit Statistikern und alkoholischen Getränken auf sich hat, aber Whiskey Classified macht genau das für schottische Whiskys ...
nekomatic

96

Ich würde in "Laienbegriffen" antworten, indem ich sage, dass PCA darauf abzielt, gerade Linien an die Datenpunkte anzupassen (jeder weiß, was eine gerade Linie ist). Wir nennen diese Geraden "Hauptkomponenten". Es gibt so viele Hauptkomponenten wie Variablen. Die erste Hauptkomponente ist die beste gerade Linie, die Sie an die Daten anpassen können. Die zweite Hauptkomponente ist die beste gerade Linie, die Sie an die Fehler der ersten Hauptkomponente anpassen können. Die dritte Hauptkomponente ist die beste gerade Linie, die Sie an die Fehler der ersten und zweiten Hauptkomponente usw. anpassen können.

Wenn jemand fragt, was Sie mit "am besten" oder "fehlerhaft" meinen, dann sagt dies, dass er kein "Laie" ist, also kann er auf etwas technischere Details wie senkrechte Fehler eingehen und weiß nicht, wo der Fehler liegt x- oder y-Richtung, mehr als zwei oder drei Dimensionen usw. Wenn Sie außerdem vermeiden, auf die OLS-Regression zu verweisen (die der "Laie" wahrscheinlich auch nicht versteht), ist die Erklärung einfacher.

Die Eigenvektoren und Eigenwerte sind an sich keine benötigten Konzepte, sondern mathematische Konzepte, die es bereits gab. Wenn Sie das mathematische Problem von PCA lösen, ist es gleichbedeutend mit dem Finden der Eigenwerte und Eigenvektoren der Kovarianzmatrix.


8
+1, das ist wirklich in "Laienbegriffen", und ich weiß, dass Sie es sehr rigoros ableiten könnten, wenn Sie wollten!
gung

2
Die beste Antwort, würde ich sagen. Und ich benutze PCA oft.
a11msp

2
Wow - das ist wirklich eine großartige und einfache Erklärung! Danke!
Nick

52

Ich kann Ihnen meine eigene Erklärung / meinen Beweis für die PCA geben, die ich für sehr einfach und elegant halte und für die nichts anderes als Grundkenntnisse der linearen Algebra erforderlich sind. Es kam ziemlich lange heraus, weil ich in einer einfach zugänglichen Sprache schreiben wollte.

Mnn

βββi=1Mxiμ2μ0M i = 1x ' i2xi=xiμi=1Mxi2 .

Nun die Wahl der Leitung. Wir können jede Linie als Punktmenge beschreiben, die die Gleichung für einige Vektoren erfüllt . Beachten Sie, dass, wenn wir die Linie um einen zu orthogonalen Vektor , alle Projektionen auf der Linie ebenfalls um verschoben werden , daher wird der Mittelwert der Projektionen um verschoben , daher die Varianz der Projektionen bleibt unverändert. Das heißt, wir können die Linie parallel zu sich selbst verschieben und die Varianz der Projektionen auf dieser Linie nicht ändern. Beschränken wir uns der Einfachheit halber wieder auf die Linien, die durch den Nullpunkt verlaufen (dh Linien, die durch ).x=αv+wv,wγvγγx=αv

Angenommen, wir haben einen Vektor , der die Richtung einer Linie beschreibt, die ein möglicher Kandidat für die gesuchte Linie ist. Wir müssen die Varianz der Projektionen auf der Linie berechnen . Was wir brauchen werden, sind Projektionspunkte und ihre Mittelwerte. Aus der linearen Algebra wissen wir, dass die Projektion der in diesem einfachen Fall auf ist . Beschränken wir uns von nun an nur noch auf Einheitsvektoren . Das heißt, wir können die Länge der Projektion von Punkt auf einfach als schreiben .vαvxiαvxi,v/v2vxivxi,v

In einigen der vorherigen Antworten sagte jemand, dass PCA die Summe der Quadrate der Abstände von der gewählten Linie minimiert. Wir können jetzt sehen, dass es wahr ist, weil die Summe der Quadrate der Projektionen plus der Summe der Quadrate der Abstände von der gewählten Linie gleich der Summe der Quadrate der Abstände von Punkt . Indem wir die Summe der Quadrate der Projektionen maximieren, minimieren wir die Summe der Quadrate der Abstände und umgekehrt, aber dies war nur ein nachdenklicher Exkurs, zurück zum Beweis.0

Was den Mittelwert der Projektionen anbelangt, so ist zu beachten, dass Teil einer orthogonalen Basis unseres Raums ist und dass, wenn wir unsere Datenpunkte auf jeden Vektor dieser Basis projizieren, sich ihre Summe aufhebt (das ist so, weil auf die Basis projiziert wird) Vektoren von der Basis sind wie das Schreiben der Datenpunkte auf die neue orthogonale Basis. Die Summe aller Projektionen auf dem Vektor (nennen wir die Summe ) und die Summe der Projektionen auf anderen Vektoren von der Basis (nennen wir sie ) ist 0, weil es der Mittelwert der Datenpunkte ist. Aber ist orthogonal zu ! Das heißt .vvSvSoSvSoSo=Sv=0

Der Mittelwert unserer Projektionen ist also . 0Gut, das ist praktisch, denn das bedeutet, dass die Varianz nur die Summe der Quadrate der Längen der Projektionen ist, oder in Symbolen

i=1M(xiv)2=i=1MvTxiTxiv=vT(i=1MxiTxi)v.

Nun gut, plötzlich tauchte die Kovarianzmatrix auf. Sagen wir es einfach durch bezeichnen . Das heißt, wir suchen jetzt nach einem Einheitsvektor , der für eine semipositive definite Matrix maximiert .XvvTXvX

Nehmen wir nun die Eigenvektoren und Eigenwerte der Matrix und bezeichnen sie mit und , so dass . Wenn die Werte nicht duplizieren, bilden Eigenvektoren eine orthonormale Basis. Wenn ja, wählen wir die Eigenvektoren so aus, dass sie eine orthonormale Basis bilden.Xe1,e2,,enλ1,,λnλ1λ2,λ3λ

Berechnen wir nun für einen Eigenvektor . Wir habenvTXvei

eiTXei=eiT(λiei)=λi(ei2)2=λi.

Ziemlich gut, das gibt uns für . Nehmen wir nun einen beliebigen Vektor . Da Eigenvektoren eine orthonormale Basis bilden, können wir schreiben: , und wir haben . Wir bezeichnen .λ1e1vv=i=1neiv,eii=1nv,ei2=1βi=v,ei

Zählen wir nun . Wir schreiben als lineare Kombination von und erhalten:vTXvvei

(i=1nβiei)TX(i=1nβiei)=(i=1nβiei)(i=1nλiβiei)=i=1nλi(βi)2(ei2)2.

Die letzte Gleichung ergibt sich aus der Tatsache, dass die Eigenvektoren paarweise orthogonal gewählt wurden, sodass ihre Punktprodukte Null sind. Da nun alle Eigenvektoren ebenfalls eine Einheitslänge haben, können wir schreiben: , wobei alle positiv sind, und Summe zu .vTXv=i=1nλiβi2βi21

Das heißt, die Varianz der Projektion ist ein gewichtetes Mittel der Eigenwerte. Sicher ist es immer weniger als der größte Eigenwert, weshalb wir den ersten PCA-Vektor wählen sollten.

Nehmen wir nun an, wir wollen einen anderen Vektor. Wir sollten es aus dem orthogonalen Raum zum bereits gewählten auswählen, das heißt aus dem Unterraum . Durch analoge Folgerung kommen wir zu dem Schluss, dass der beste Vektor, auf den projiziert werden kann, . Und so weiter und so fort ...lin(e2,e3,,en)e2

Übrigens sollte jetzt klar sein, warum die erhaltene Varianz ausgedrückt werden kann durch .i=1kλi/i=1nλi

Wir sollten auch die gierige Wahl der Vektoren rechtfertigen. Wenn wir Vektoren auswählen möchten, auf die projiziert werden soll, ist es möglicherweise nicht die beste Idee, zuerst den besten Vektor auszuwählen, dann den besten aus dem, was übrig bleibt, und so weiter. Ich möchte argumentieren, dass es in diesem Fall gerechtfertigt ist und keinen Unterschied macht. Bezeichnen wir den Vektor, auf den wir projizieren möchten, mit . Angenommen, die Vektoren sind paarweise orthogonal. Wie wir bereits wissen, kann die Gesamtvarianz der Projektionen auf diesen Vektoren ausgedrückt werden durch wobeikkv1,,vk

j=1ki=1nλiβij2=i=1nλiγi
γi=j=1kβij2.

Schreiben wir nun auf einer orthonormalen Basis, die . Bezeichnen wir den Rest der Basis als . Wir können sehen, dass . Da , haben wir und daher für alle .eiv1,,vku1,,unkei=j=1kβijvj+j=1nkθjei,ujei2=1j=1kβij2+j=1nkθj2=1γi1i

Jetzt haben wir einen ähnlichen Fall wie nur ein Vektor. Jetzt wissen wir, dass die Gesamtvarianz der Projektionen mit und . Dies ist ein weiterer gewichteter Mittelwert und ist sicherlich nicht mehr als , was der Projektion auf Eigenvektoren entspricht, die den größten Eigenwerten entsprechen.γ i1 Σ n i = 1 γi=1nλiγiγi1i=1nγi=ki=1kλik


2
+1 Sehr schöne Antwort! Ich habe es noch nicht vollständig gelesen, aber deine Antwort ist die Art, nach der ich gesucht habe. Alle Schritte erklärt =)
jjepsuomi

9
Zeigen Sie mir einen Laien, der sich mit linearer Algebra auskennt, und ich zeige Ihnen einen Studenten der Mathematik.
Wahrscheinlichkeitsrechnung

Aus der linearen Algebra wissen wir, dass die Projektion der in diesem einfachen Fall auf istxiαvxi,v/v2 (5. Absatz). Sollte es nicht? Mit anderen Worten, die Skalarprojektion? xi,v/v
Antoni Parellada

1
Ich denke, dies ist bei weitem die beste Erklärung für PCA, die ich je gesehen habe. Danke.
Nimitz14

1
Das ist meine Lieblingserklärung, die auch zeigt, warum die Eigenvektoren die Varianz maximieren.
Romwell

47

Okay, ich werde es versuchen. Vor ein paar Monaten habe ich eine Menge Literatur durchgearbeitet, um eine intuitive Erklärung zu finden, die ich einem Nicht-Statistiker erklären könnte. Ich fand die Ableitungen, die Lagrange-Multiplikatoren verwenden, am intuitivsten.

Nehmen wir an, wir haben hochdimensionale Daten - sagen wir 30 Messungen an einem Insekt. Die Käfer haben in einigen dieser Dimensionen unterschiedliche Genotypen und leicht unterschiedliche physikalische Merkmale, aber bei so hohen Dimensionsdaten ist es schwer zu sagen, welche Insekten zu welcher Gruppe gehören.

PCA ist eine Technik zur Dimensionsreduzierung durch:

  1. Nehmen linearer Kombinationen der ursprünglichen Variablen.
  2. Jede Linearkombination erklärt die größtmögliche Abweichung der Daten.
  3. Jede Linearkombination ist nicht mit den anderen korreliert

Oder mathematisch ausgedrückt:

  1. Für (Linearkombination für j-te Komponente)Yj=ajx
  2. Für gilt (erste Komponenten erläutern weitere Variationen)k>jV(Yk)<V(Yj)
  3. akaj=0 (Orthogonalität)

Die Suche nach linearen Kombinationen, die diese Bedingungen erfüllen, führt zu Eigenwerten. Warum?

Ich empfehle, das Buch Eine Einführung in die multivariate Datenanalyse für die vollständige Herleitung (S. 50) zu lesen , aber die Grundidee besteht darin, die Probleme der sukzessiven Optimierung (Maximierung der Varianz) so zu beschränken, dass a'a = 1 für die Koeffizienten a (um den Fall zu verhindern) wenn die Varianz unendlich sein könnte) und eingeschränkt werden, um sicherzustellen, dass die Koeffizienten orthogonal sind.

Dies führt zu einer Optimierung mit Lagrange-Multiplikatoren, was wiederum zeigt, warum Eigenwerte verwendet werden. Ich bin zu faul, um es abzutippen (sorry!), Aber dieses PDF geht von diesem Punkt an ziemlich gut durch den Proof.

Ich würde niemals versuchen, dies meiner Großmutter zu erklären, aber wenn ich allgemein über Techniken zur Dimensionsreduzierung sprechen müsste, würde ich auf dieses triviale Projektionsbeispiel verweisen (nicht auf PCA). Angenommen, Sie haben ein Calder-Handy, das sehr komplex ist. Einige Punkte im 3D-Raum sind nahe beieinander, andere nicht. Wenn wir dieses Handy an die Decke hängen und es von einem Winkel aus beleuchten, erhalten wir eine Projektion auf eine niedrigere Dimensionsebene (eine 2D-Wand). Wenn dieses Mobiltelefon hauptsächlich in einer Richtung breit und in der anderen Richtung dünn ist, können wir es drehen, um Projektionen zu erhalten, die sich in der Nützlichkeit unterscheiden. Intuitiv ist eine dünne Form in einer Dimension, die auf eine Wand projiziert wird, weniger nützlich - alle Schatten überlappen sich und geben uns nicht viele Informationen. Wenn wir es jedoch so drehen, dass das Licht auf die breite Seite scheint, Wir erhalten ein besseres Bild der reduzierten Maßdaten - die Punkte sind weiter verteilt. Das wollen wir oft. Ich denke, meine Großmutter könnte das verstehen :-)


6
Das ist sehr Laie ;-)

2
Es ist ein wenig mathematisch, aber der beste Weg, etwas zu verstehen, besteht darin, es abzuleiten.
Vince

29
Sie haben eine außergewöhnlich gut ausgebildete Großmutter :-).
Whuber

7
Ich mag die Erklärung mit dem Licht auf eine 3-D-Struktur
Neil McGuigan

(+1) Alle sind großartige Antworten, aber dies ist die, die ich auch geben würde.
Digio

37

Der Versuch, nicht technisch zu sein ... Stellen Sie sich vor, Sie haben multivariate Daten, eine mehrdimensionale Punktewolke. Wenn Sie die Kovarianzmatrix derjenigen berechnen, die Sie tatsächlich (a) zentrieren, dh den Ursprung als mehrdimensionalen Mittelwert setzen, kreuzen sich die Achsen des Koordinatensystems nun in der Mitte der Wolke. (B) Verschlüsseln Sie die Informationen über die Form der Wolke und wie es durch Varianz-Kovarianz-Einträge im Raum orientiert wird. Daher werden die meisten wichtigen Informationen über die Form der Daten insgesamt in der Kovarianzmatrix gespeichert.

Dann führen Sie eine Eigenzerlegung dieser Matrix durch und erhalten die Liste der Eigenwerte und die entsprechende Anzahl von Eigenvektoren. Die erste Hauptkomponente ist nun die neue latente Variable, die als Achse durch den Ursprung angezeigt und entlang der Richtung der maximalen Varianz (Dicke) der Wolke ausgerichtet werden kann. Die Varianz entlang dieser Achse, dh die Varianz der Koordinaten aller darauf befindlichen Punkte, beträgtDer erste Eigenwert und die Ausrichtung der Achse im Raum in Bezug auf die ursprünglichen Achsen (die Variablen) werden durch den ersten Eigenvektor definiert: Seine Einträge sind die Kosinusse zwischen ihm und diesen ursprünglichen Achsen. Die zuvor genannten Koordinaten von Datenpunkten auf der 1. Komponente sind die Werte der 1. Hauptkomponente oder die Komponentenbewertungen; Sie werden als Produkt aus (zentrierter) Datenmatrix und Eigenvektor berechnet.

"Nach" dem 1. pr. Die gemessene Komponente wird sozusagen mit der gesamten Varianz, die sie ausmacht, aus der Wolke "entfernt", und die Dimensionalität der Wolke nimmt um eins ab. Als nächstes wird alles mit dem zweiten Eigenwert und dem zweiten Eigenvektor - dem 2. Pr - wiederholt. Komponente wird aufgezeichnet und dann "entfernt". Usw.

Also noch einmal: Eigenvektoren sind Richtungskosinusse für Hauptkomponenten, während Eigenwerte die Größe (die Varianz) in den Hauptkomponenten sind. Die Summe aller Eigenwerte ist gleich der Summe der Varianzen, die sich auf der Diagonale der Varianz-Kovarianz-Matrix befinden. Wenn Sie die „Größe“ gespeicherten Informationen in Eigenwerte überEigenVektoren übertragen es auf die „Orientierungs“ darin gespeicherten Informationen hinzuzufügen , die Sie bekommen , was Hauptbestandteil genannt wird Belastungen ; Diese Ladungen sind - da sie beide Arten von Informationen enthalten - die Kovarianzen zwischen den ursprünglichen Variablen und den Hauptkomponenten.

Später möchte ich hier vor allem noch zweimal auf den terminologischen Unterschied zwischen Eigenvektoren und Belastungen eingehen . Viele Leute und einige Pakete (einschließlich einiger R) verwenden die beiden Begriffe synonym. Es ist eine schlechte Praxis, weil die Objekte und ihre Bedeutungen unterschiedlich sind. Eigenvektoren sind die Richtungskosinusse, der Winkel der orthogonalen "Drehung", die PCA beträgt. Ladungen sind Eigenvektoren, die mit der Information über die Variabilität oder Größe der gedrehten Daten geimpft sind. Die Belastungen sind die Assoziationskoeffizienten zwischen den Komponenten und den Variablen und sie sind direkt vergleichbar mit den Assoziationskoeffizienten, die zwischen den Variablen berechnet wurden - Kovarianzen, Korrelationen oder andere Skalarprodukte, auf denen Sie Ihren PCA aufbauen. Sowohl Eigenvektoren als auch Ladungen sind ähnlich, da sie Regressionskoeffizienten für die Vorhersage der Variablen durch die Komponenten dienen (nicht umgekehrt!1). Eigenvektoren sind die Koeffizienten zur Vorhersage von Variablen durch Rohkomponentenbewertungen. Belastungen sind die Koeffizienten zur Vorhersage von Variablen durch skalierte (normalisierte) Komponentenbewertungen (kein Wunder: Belastungen haben Informationen über die Variabilität präzipitiert, weshalb die verwendeten Komponenten nicht berücksichtigt werden müssen). Ein weiterer Grund, Eigenvektoren und Ladungen nicht zu mischen, ist, dass einige andere Techniken zur Dimensionsreduktion neben PCA - wie zum Beispiel einige Formen der Faktoranalyse - Ladungen direkt unter Umgehung von Eigenvektoren berechnen. Eigenvektoren sind das Produkt der Eigenzerlegung oder der Singulärwertzerlegung; Einige Formen der Faktoranalyse verwenden diese Zerlegungen nicht und kommen zu anderen Ergebnissen. Schließlich sind es Ladungen, nicht Eigenvektoren, nach denen Sie die Komponenten oder Faktoren interpretieren (wenn Sie sie interpretieren müssen). Beim Laden geht es um einen Beitrag der Komponente in eine Variable: In der PCA (oder Faktoranalyse) lädt sich die Komponente / der Faktor in die Variable und nicht umgekehrt. In umfassenden PCA-Ergebnissen sollten sowohl Eigenvektoren als auch Belastungen angegeben werden, wie zhier oder hier .

Siehe auch über Ladungen gegen Eigenvektoren.


1 Da die Eigenvektormatrix in PCA orthonormal ist und ihre Umkehrung ihre Transponierung ist, können wir sagen, dass dieselben Eigenvektoren auch die Koeffizienten sind, um die Komponenten durch die Variablen zurückzusagen. Dies gilt jedoch nicht für Ladungen.


@amoeba, ich bestehe nicht darauf und Sie können jede Terminologie verwenden, die Sie gewohnt sind. Ich habe klar erklärt, warum ich denke, dass die Begriffe "Ladungen" und "Eigenvektoren" besser zu trennen sind. Ich folge der klassischen Tradition, wie in Harman. Moderne Faktorenanalyse, wenn ich mich nur richtig an die Tradition erinnere.
TTNPHNS

(Forts.) Wie auch immer, Sie wissen selbst, dass der Begriff "Ladungen", auch wenn er sehr zweifelhaft ist, in anderen multivariaten Analysen, wie zum Beispiel der Diskriminanzanalyse, nicht mit "Eigenvektor" verwechselt wird. Noch einmal, wie ich es ausdrückte, in PCA-Ladungen 1) Informationen über die Größe der Variation enthalten; 2) Sind die Kovarianzen / Korrelationen und werden daher zur Interpretation herangezogen. Eigenvektorwerte - sind es nicht.
ttnphns

2
+1 Ich habe Ihre Beiträge zu PCA und anderen verwandten Themen gelesen und viel gelernt.
Antoni Parellada

29

OK, eine völlig nicht-mathematische Antwort:

Wenn Sie eine Reihe von Variablen zu einer Reihe von Themen haben und diese auf eine kleinere Anzahl von Variablen zu denselben Themen reduzieren möchten, während Sie so wenig Informationen wie möglich verlieren, ist PCA ein Werkzeug, um dies zu tun.

Sie unterscheidet sich von der Faktorenanalyse, obwohl sie oft ähnliche Ergebnisse liefert, darin, dass FA versucht, eine kleine Anzahl latenter Variablen aus einer größeren Anzahl beobachteter Variablen zu gewinnen, von denen angenommen wird, dass sie mit den latenten Variablen zusammenhängen.


Hallo Peter! Schön, dich hier zu sehen. Dies ist eine wirklich gute, einfache, keine mathematische Antwort.
JD Long

3
+1 für die Erwähnung von FA, über die sonst niemand zu sprechen scheint und auf die sich die Erklärungen einiger Leute zu beziehen scheinen.
gung

Scheint kein Unterschied in den Zielen von PCA und FA zu sein - beide zielen darauf ab, sich zu drehen, so dass Sie die wichtigsten Faktoren sehen können (latente Vektoren oder eigendimensions oder singuläre Vektoren oder was auch immer). Aber FA scheint kein Algorithmus zu sein, sondern eine Familie verwandter Techniken (zueinander und zu SVD und PCA) mit entsprechend schlecht definierten Zielen (das heißt, verschiedene und inkonsequente, also unterschiedliche Varianten "optimieren" verschiedene Dinge).
David MW Powers

Wäre es richtig zu sagen, dass PCA eine von vielen Möglichkeiten zur Faktoranalyse ist?
Abalter

Die Terminologie in diesem Bereich ist bekanntermaßen inkonsistent.
Peter Flom

29

Am einfachsten ist es, in 2-D zu rechnen.

Jede Matrix entspricht einer linearen Transformation. Lineare Transformationen können visualisiert werden, indem Sie eine denkwürdige Figur in der Ebene nehmen und sehen, wie diese Figur durch die lineare Transformation verzerrt wird:

lineare Transformationen (Bild: Flanigan & Kazdan )

  • Eigenvektoren sind die gleich bleibenden Vektoren. Sie zeigen nach der Transformation in dieselbe Richtung wie früher. Mona Lisa Eigenvektoren(Blau ist gleich geblieben, also ist diese Richtung ein Eigenvektor von.)shear
  • Eigenwerte geben an, um wie viel die gleichbleibenden Vektoren wachsen oder schrumpfen. (Blau ist gleich groß geblieben, der Eigenwert wäre also )×1
  • PCA dreht Ihre Achsen, um eine bessere Ausrichtung mit Ihren Daten zu erzielen. (Quelle: weigend.com ) PCA verwendet die Eigenvektoren der Kovarianzmatrix, um herauszufinden, wie Sie die Daten drehen sollten. Da Rotation eine Art lineare Transformation ist , sind Ihre neuen Dimensionen Summen der alten wie .PCA Fußball
    1=23%[1]+46%[2]+39%[3]

Der Grund, warum Menschen, die mit realen Daten arbeiten, an Eigenvektoren und linearen Transformationen interessiert sind, ist, dass in verschiedenen Kontexten "linear" ( ) kann wirklich interessante Dinge abdecken. Stellen Sie sich zum Beispiel vor, was diese Eigenschaft bedeutet, wenn und neue Bedeutungen erhalten oder wenn und aus einem interessanten Feld oder und aus einem interessanten Raum stammen. Zum Beispiel :f(ax+by)=af(x)+bf(y)+abxy

Gesichter

PCA selbst ist ein weiteres Beispiel, das den Statistikern am vertrautesten ist. Einige der anderen Antworten wie Freyas geben reale PCA - Anwendungen .

Ich finde es total überraschend, dass etwas so Einfaches wie "Rotation" so viele Dinge in verschiedenen Bereichen , wie die Aufstellung von Produkten für ein Empfehlungssystem erklärt den geopolitischen Konflikt. Aber vielleicht ist es nicht so überraschend, wenn Sie über die Physik nachdenken, wo Sie eine bessere Basis wählen (z. B. die -Achse als Bewegungsrichtung anstatt wandelt unergründliche Gleichungen in einfache Gleichungen um.similar how? x42,8%[x]57,2%[y]x42.8%[x]57.2%[y]


2
Tatsächlich ist es eine Art Zufall, dass Rotationen linear sind und somit eine bequeme Möglichkeit darstellen, was bei nicht geometrischen Daten vor sich geht. Der Zufall bezieht sich sowohl auf die quadratische Natur des kartesischen / euklidischen Raums als auch auf den zentralen Grenzwertsatz / Gaußschen. Nämlich. Sigmas addieren sich quadratisch wie orthogonale Dimensionen. Hier entsteht unsere ND-Rotations- / Orthogonal-Terminologie in Analogie zum 2D- und 3D-Raum.
David MW Powers

@DavidMWPowers Interessant. Ich denke über Rotationen von einem linear-algebraischen Standpunkt aus nach.
Isomorphismen

27

Nach dem hervorragenden Beitrag von JD Long in diesem Thread suchte ich nach einem einfachen Beispiel und dem R-Code, der zur Erstellung der PCA erforderlich ist, und kehrte dann zu den Originaldaten zurück. Es gab mir eine geometrische Intuition aus erster Hand, und ich möchte teilen, was ich bekam. Der Datensatz und der Code können direkt kopiert und in R-Form Github eingefügt werden .

Ich habe einen Datensatz verwendet, den ich hier online auf Halbleitern gefunden habe , und ihn auf nur zwei Dimensionen - "Ordnungszahl" und "Schmelzpunkt" - getrimmt, um das Plotten zu erleichtern.


Als Einschränkung dient die Idee lediglich der Veranschaulichung des Berechnungsprozesses: PCA wird verwendet, um mehr als zwei Variablen auf einige abgeleitete Hauptkomponenten zu reduzieren oder die Kollinearität auch bei mehreren Merkmalen zu identifizieren. Daher würde es bei zwei Variablen keine große Anwendung finden, und es würde auch keine Notwendigkeit bestehen, Eigenvektoren von Korrelationsmatrizen zu berechnen, wie von @amoeba ausgeführt.


Außerdem habe ich die Beobachtungen von 44 auf 15 gekürzt, um die Verfolgung einzelner Punkte zu vereinfachen. Das Endergebnis war ein Skelett-Datenrahmen ( dat1):

compounds   atomic.no      melting.point
AIN         10             498.0
AIP         14             625.0
AIAs        23             1011.5
...         ...            ... 

Die Spalte "Verbindungen" gibt die chemische Konstitution des Halbleiters an und spielt die Rolle des Zeilennamens.

Dies kann wie folgt reproduziert werden (fertig zum Kopieren und Einfügen auf der R-Konsole):

dat              <- read.csv(url("http://rinterested.github.io/datasets/semiconductors"))
colnames(dat)[2] <- "atomic.no"
dat1             <- subset(dat[1:15,1:3])
row.names(dat1)  <- dat1$compounds
dat1             <- dat1[,-1]

Die Daten wurden dann skaliert:

X <- apply(dat1, 2, function(x) (x - mean(x)) / sd(x))
# This centers data points around the mean and standardizes by dividing by SD.
# It is the equivalent to `X <- scale(dat1, center = T, scale = T)`  

Die linearen Algebra-Schritte folgten:

C <- cov(X)                                           # Covariance matrix (centered data)

[at_nomelt_pat_no10.296melt_p0.2961]

Die Korrelationsfunktion cor(dat1)gibt die gleiche Ausgabe für die nicht skalierten Daten aus wie die Funktion cov(X)für die skalierten Daten.

lambda        <- eigen(C)$values                      # Eigenvalues
lambda_matrix <- diag(2)*eigen(C)$values              # Eigenvalues matrix

[λPC1λPC21.296422000.7035783]

e_vectors     <- eigen(C)$vectors                     # Eigenvectors

12[PC1PC21111]

Da der erste Eigenvektor anfänglich als zurückgibt , ändern wir ihn in , um ihn mit den eingebauten Formeln in Einklang zu bringen:[0.7,0.7][0.7,0.7]

e_vectors[,1] = - e_vectors[,1]; colnames(e_vectors) <- c("PC1","PC2")

Die resultierenden Eigenwerte waren und . Unter weniger minimalistischen Bedingungen hätte dieses Ergebnis dazu beigetragen, zu entscheiden, welche Eigenvektoren einbezogen werden sollen (größte Eigenwerte). Zum Beispiel ist der relative Beitrag des ersten Eigenwerts : Dies bedeutet , dass es für Konten der Variabilität in den Daten. Die Variabilität in Richtung des zweiten Eigenvektors beträgt . Dies wird typischerweise in einem Geröllplot gezeigt, das den Wert der Eigenwerte darstellt:1.29642170.703578364.8%eigen(C)$values[1]/sum(eigen(C)$values) * 10065%35.2%

Bildbeschreibung hier eingeben

In Anbetracht der geringen Größe dieses Beispiels für einen Spielzeugdatensatz schließen wir beide Eigenvektoren ein, wobei wir verstehen, dass das Ausschließen eines der Eigenvektoren zu einer Verringerung der Dimensionalität führen würde - die Idee hinter PCA.

Die Punktematrix wurde als Matrixmultiplikation der skalierten Daten ( X) mit der Matrix der Eigenvektoren (oder "Rotationen") bestimmt :

score_matrix <-  X %*% e_vectors    
# Identical to the often found operation: t(t(e_vectors) %*% t(X))

Das Konzept beinhaltet eine lineare Kombination jedes Eintrags (in diesem Fall Zeile / Subjekt / Beobachtung / Supraleiter) der zentrierten (und in diesem Fall skalierten) Daten, gewichtet mit den Zeilen jedes Eigenvektors , so dass in jeder der letzten Spalten des Punktematrix, wir werden einen Beitrag von jeder Variablen (Spalte) der Daten (der gesamten X) finden, ABER nur der entsprechende Eigenvektor wird an der Berechnung teilgenommen haben (dh der erste Eigenvektor wird trage zu (Hauptkomponente 1) und zu , wie in: PC[0.7,0.7]T[ 0,7 , - 0,7 ] T PCPC1[0.7,0.7]TPC2

Bildbeschreibung hier eingeben

Daher wird jeder Eigenvektor jede Variable unterschiedlich beeinflussen, und dies wird sich in den "Ladungen" der PCA widerspiegeln. In unserem Fall ändert das negative Vorzeichen in der zweiten Komponente des zweiten Eigenvektors das Vorzeichen der Schmelzpunktwerte in den linearen Kombinationen, die PC2 erzeugen, während der Effekt des ersten Eigenvektors durchgehend positiv ist: [0.7,0.7]

Bildbeschreibung hier eingeben

Die Eigenvektoren sind auf skaliert :1

> apply(e_vectors, 2, function(x) sum(x^2))
PC1 PC2 
  1   1 

wohingegen die ( Ladungen ) die mit den Eigenwerten skalierten Eigenvektoren sind (trotz der verwirrenden Terminologie in den unten gezeigten eingebauten R-Funktionen). Folglich können die Belastungen berechnet werden als:

> e_vectors          %*% lambda_matrix
          [,1]      [,2]
[1,] 0.9167086  0.497505
[2,] 0.9167086 -0.497505

> prcomp(X)$rotation %*% diag(princomp(covmat = C)$sd^2)
                   [,1]      [,2]
atomic.no     0.9167086  0.497505
melting.point 0.9167086 -0.497505

Es ist interessant festzustellen, dass die gedrehte Datenwolke (das Score-Diagramm) entlang jeder Komponente (PC) eine Varianz aufweist, die den Eigenwerten entspricht:

> apply(score_matrix, 2, function(x) var(x))
       PC1        PC2 
53829.7896   110.8414 
> lambda
[1] 53829.7896   110.8414

Mithilfe der integrierten Funktionen können die Ergebnisse repliziert werden:

# For the SCORE MATRIX:
  prcomp(X)$x
# or...
  princomp(X)$scores # The signs of the PC 1 column will be reversed.

# and for EIGENVECTOR MATRIX:
  prcomp(X)$rotation
# or...
  princomp(X)$loadings

# and for EIGENVALUES:
  prcomp(X)$sdev^2
# or...
  princomp(covmat = C)$sd^2

Alternativ kann die Singularwertzerlegungsmethode ( ) angewendet werden, um die PCA manuell zu berechnen. in der Tat ist dies die Methode, die in verwendet wird . Die Schritte können wie folgt geschrieben werden:UΣVTprcomp()

svd_scaled_dat <-svd(scale(dat1))
eigen_vectors <- svd_scaled_dat$v
eigen_values <- (svd_scaled_dat$d/sqrt(nrow(dat1) - 1))^2
scores<-scale(dat1) %*% eigen_vectors

Das Ergebnis ist unten gezeigt, wobei zunächst die Abstände von den einzelnen Punkten zum ersten Eigenvektor und in einer zweiten Auftragung die orthogonalen Abstände zum zweiten Eigenvektor angegeben sind:

Bildbeschreibung hier eingeben

Wenn wir stattdessen die Werte der Punktematrix (PC1 und PC2) aufzeichnen würden - nicht mehr "Schmelzpunkt" und "atomic.no", sondern tatsächlich eine Änderung der Basis der Punktkoordinaten mit den Eigenvektoren als Basis, wären diese Abstände erhalten, würde aber natürlich senkrecht zur xy-Achse werden:

Bildbeschreibung hier eingeben

Der Trick bestand nun darin , die ursprünglichen Daten wiederherzustellen . Die Punkte wurden durch eine einfache Matrixmultiplikation der Eigenvektoren transformiert. Nun wurden die Daten durch Multiplikation mit der Inversen der Matrix der Eigenvektoren zurückgedreht, was zu einer deutlichen Änderung der Position der Datenpunkte führte. Beachten Sie zum Beispiel die Änderung des rosa Punkts "GaN" im linken oberen Quadranten (schwarzer Kreis im linken Diagramm unten) und kehren Sie in die Ausgangsposition im linken unteren Quadranten (schwarzer Kreis im rechten Diagramm unten) zurück.

Jetzt hatten wir endlich die ursprünglichen Daten in dieser "de-gedreht" Matrix wiederhergestellt:

Bildbeschreibung hier eingeben

Über die Änderung der Rotationskoordinaten der Daten in PCA hinaus müssen die Ergebnisse interpretiert werden, und dieser Prozess beinhaltet tendenziell eine biplot, auf der die Datenpunkte in Bezug auf die neuen Eigenvektorkoordinaten aufgetragen werden und die ursprünglichen Variablen nun als überlagert werden Vektoren. Es ist interessant, die Äquivalenz in der Position der Punkte zwischen den Diagrammen in der zweiten Reihe der obigen Rotationsgraphen ("Scores with xy Axis = Eigenvectors") (links in den folgenden Diagrammen) und dem biplot(nach dem ) zu beachten richtig):

Bildbeschreibung hier eingeben

Die Überlagerung der ursprünglichen Variablen als rote Pfeile bietet einen Weg zur Interpretation PC1als Vektor in der Richtung (oder mit einer positiven Korrelation) mit beiden atomic nound melting point; und von PC2als Komponente entlang ansteigender Werte von, atomic noaber negativ korreliert mit melting point, konsistent mit den Werten der Eigenvektoren:

PCA$rotation
                    PC1        PC2
atomic.no     0.7071068  0.7071068
melting.point 0.7071068 -0.7071068

Dieses interaktive Tutorial von Victor Powell gibt sofort ein Feedback zu den Änderungen in den Eigenvektoren, wenn die Datenwolke geändert wird.


1
+1 für den Aufwand und insbesondere für die Animation! Man sollte jedoch bedenken, dass PCA auf der Korrelationsmatrix zweier Variablen ein Sonderfall ist, da alle Korrelationsmatrizen zweier Variablen identische Eigenvektoren haben : Eine von ihnen wird immer [0,7 0,7] sein (0,7 ist 1 / sqrt) (2)). Dies ist nicht der Fall für Kovarianzmatrizen oder für Korrelationsmatrizen in höheren Dimensionen.
Amöbe

14

Von jemandem, der PCA häufig verwendet hat (und versucht hat, es auch einigen Leuten zu erklären), hier ein Beispiel aus meinem eigenen Gebiet der Neurowissenschaften.

Wenn wir von der Kopfhaut einer Person aufnehmen, machen wir das mit 64 Elektroden. Wir haben also 64 Zahlen in einer Liste, die die von der Kopfhaut abgegebene Spannung darstellen. Jetzt, da wir mit Mikrosekundengenauigkeit aufzeichnen, ergibt ein einstündiges Experiment (oft sind es 4 Stunden) 1e6 * 60 ^ 2 == 3.600.000.000 Zeitpunkte, an denen an jeder Elektrode eine Spannung aufgezeichnet wurde, sodass wir jetzt haben eine 3.600.000.000 x 64-Matrix. Da PCA in erster Linie davon ausgeht, dass Ihre Variablen korreliert sind, ist es eine großartige Technik, diese lächerliche Datenmenge auf eine Menge zu reduzieren, die nachvollziehbar ist. Wie bereits mehrfach gesagt, geben die Eigenwerte den Betrag der Varianz wieder, der durch die Variablen (Spalten) erklärt wird. In diesem Fall repräsentiert ein Eigenwert die Varianz der Spannung zu einem bestimmten Zeitpunkt, die von einer bestimmten Elektrode geliefert wird. Jetzt können wir also sagen: "Oh, gut, ElektrodexZu diesem Zeitpunkt ysollten wir uns auf das konzentrieren, worauf wir uns für die weitere Analyse konzentrieren sollten, da hier die meisten Veränderungen stattfinden.


12

Ich könnte eine schlechte Person sein, um das zu beantworten, weil ich die sprichwörtliche Großmutter bin, die mir das Konzept erklärt hat und nicht viel mehr, aber hier ist:

Angenommen, Sie haben eine Bevölkerung. Ein großer Teil der Bevölkerung erkrankt an Herzinfarkten. Sie versuchen herauszufinden, was die Herzinfarkte verursacht.

Sie haben zwei Daten: Größe und Gewicht.

Nun ist es klar, dass es eine gewisse Beziehung zwischen Gewicht und Herzinfarkt gibt, aber die Korrelation ist nicht wirklich stark. Es gibt einige schwere Menschen, die viele Herzinfarkte haben, aber manche nicht.

Wenn Sie jetzt eine PCA durchführen, ist das Gewicht geteilt durch die Körpergröße ("Körpermasse") ein viel wahrscheinlicherer Prädiktor für Herzinfarkte als entweder das Gewicht oder die Körpergröße, denn die "Realität" ist, dass dies der Fall ist Körpermasse, die den Herzinfarkt verursacht.

Im Wesentlichen machen Sie PCA, weil Sie eine Reihe von Dingen messen und nicht wirklich wissen, ob dies wirklich die Hauptkomponenten sind oder ob es eine tiefere zugrunde liegende Komponente gibt, die Sie nicht gemessen haben.

[Bitte editieren Sie diese Datei, wenn sie nicht in der Basis ist. Ich verstehe das Konzept wirklich nicht tiefer].


1
Willkommen auf der Statistikseite @Joel! Wenn Sie eine Chance haben, können Sie auch einen Beitrag zur Diskussion über unser vorgeschlagenes verteiltes StackExchange-Datenanalyseprojekt leisten : stats.stackexchange.com/questions/2512/… .
Shane

9
Exzellentes Beispiel, aber technisch kann PCA die Erklärung der Körpermasse nicht finden, da es nur lineare Erklärungen finden kann, dh gewichtete Summen der ursprünglichen Variablen. Wenn Sie jedoch Ihre Eingabevariablen protokollieren, wird das Verhältnis zu einem Unterschied, und wenn es die richtige Erklärung ist, kann PCA es finden.
David MW Powers

10

Hier ist eine für Oma:

In unserer Stadt gibt es Straßen nach Norden und Süden, einige nach Osten und Westen und sogar einige nach Nordwesten und Südosten, einige nach Nordosten und Südwesten. Eines Tages misst ein Typ den gesamten Verkehr auf allen Straßen. Er stellt fest, dass der größte Verkehr diagonal von Nordwesten nach Südosten verläuft, der zweitgrößte senkrecht dazu von Nordosten nach Südwesten, und der Rest ist ziemlich klein. Also zeichnet er ein großes Quadrat und setzt eine große Linie von links nach rechts und sagt, das ist NW nach SE, dann zeichnet er eine weitere Linie vertikal durch die Mitte auf und ab. Er sagt, dass dies die zweitgrößte Verkehrsrichtung ist (NE nach SW). Der Rest ist klein und kann ignoriert werden.

Die linke rechte Linie ist der erste Eigenvektor und die Auf-Ab-Linie ist der zweite Eigenvektor. Die Gesamtzahl der nach links und rechts fahrenden Autos ist der erste Eigenwert und die nach oben und unten fahrenden Autos sind der zweite Eigenwert.


1
Diese Analogie scheint in der Prüfung zusammenzubrechen. Was ist, wenn die größte und zweitgrößte Verkehrsrichtung nicht orthogonal sind? Wie hilft uns Ihre Analogie dabei, eine PCA in einem solchen Fall zu verstehen?
Whuber

Ich denke, Oma versteht, was orthogonal bedeutet? Ja, einige Mängel, aber es ist ein Anfang. Ich finde es toll, dass es hier so viele Antworten gegeben hat.
BajaBob

2
Ob "Oma" einen Beitrag versteht oder nicht, es muss einigermaßen klar und richtig sein. Ihre Analogie scheint keines dieser Ziele zu erreichen. Das kann daran liegen, dass ich die Analogie nicht verstehe: Ich kann sie nicht mit dem verbinden, was PCA ist oder tut. Vielleicht könnten Sie klären, wie die Analogie funktioniert, damit andere Leser nicht so verwirrt sind wie ich.
whuber

Die Tatsache, dass sie nicht orthogonal sind, bedeutet, dass Sie ICA oder FA nicht PCA benötigen. Wenn Oma Star Trek beobachtete (ja, sie ist diese Generation), wenn sie das behinderte Schiff in einem Winkel zeigte - PCA würde dazu neigen, die Bezugsebene wiederherzustellen, die für Maßstab und Ansicht relevant ist (die galaktische Ebene oder die Schiffsachsen).
David MW Powers

-1. Ich stimme @whuber zu, dass diese Analogie nicht funktioniert. Was sollen die Daten hier sein, von welcher Kovarianzmatrix sind diese "Eigenvektoren"? Ich verstehe das überhaupt nicht.
Amöbe

10

Diese Antwort liefert eine intuitive und nicht mathematische Interpretation:

Die PCA gibt Ihnen eine Reihe von orthogonalen Vektoren in einer hochdimensionalen Punktwolke. Die Reihenfolge der Vektoren wird durch die Informationen bestimmt, die nach dem Projizieren aller Punkte auf die Vektoren übermittelt werden.

Mit anderen Worten: Der erste Hauptkomponentenvektor sagt Ihnen am meisten über die Punktwolke aus, nachdem Sie alle Punkte auf den Vektor projiziert haben. Dies ist natürlich eine intuitive Interpretation.

Schauen Sie sich dieses Ellipsoid an (folgen Sie dem Link für ein 3D-Modell) :

Bildbeschreibung hier eingeben

Wenn Sie einen Vektor auswählen müssten, der einen eindimensionalen Unterraum bildet, auf den die Punkte der Ellipsoide projiziert werden. Welches würdest du wählen, weil es die meisten Informationen über das Originalset in 3 Dimensionen liefert?

Ich denke der rote entlang der längsten Achse. Und das ist eigentlich die berechnete 1. Hauptkomponente! Welches als nächstes - ich würde das blaue entlang der nächstlängsten Achse wählen.

Normalerweise wollen Sie einen Satz von Punkten von einem hochdimensionalen Raum auf eine zweidimensionale Ebene oder in einen projizieren dreidimensionalen Raum .

Bildbeschreibung hier eingeben


http://www.joyofdata.de/blog/illustration-der-principal-component-analysis-pca/


10

Obwohl es viele Beispiele gibt, die ein intuitives Verständnis von PCA vermitteln, kann diese Tatsache es fast erschweren, es am Anfang zu erfassen, zumindest war es für mich so.

"Was war das einzige an PCA, das all diese verschiedenen Beispiele aus verschiedenen Disziplinen gemeinsam haben?"

Was mir beim intuitiven Verstehen geholfen hat, waren ein paar mathematische Parallelen, da es offensichtlich ist, dass die Mathematik der einfache Teil für Sie ist, obwohl dies Ihrer Großmutter nicht hilft, sie zu erklären ...

Denken Sie an ein Regularisierungsproblem und versuchen Sie es zu bekommen

||XBY||=0

YY

YYXkBYXBkSVSVT

AA


9

Hier ist eine mathematische Antwort: Die erste Hauptkomponente ist die längste Dimension der Daten. Schauen Sie es sich an und fragen Sie: Wo sind die Daten am breitesten? Das ist die erste Komponente. Die nächste Komponente ist die Senkrechte. Eine Zigarre mit Daten hat also eine Länge und eine Breite. Es macht Sinn für alles, was irgendwie länglich ist.


6
Leider hängt die Richtigkeit dieser Antwort davon ab, wie der vage Ausdruck "längste" interpretiert wird. Viele natürliche und relevante Interpretationen, wie der Durchmesser , wären falsch.
Whuber

PCA funktioniert tatsächlich ziemlich gut mit verschiedenen Arten von natürlichen Methoden zum Messen der Abmessung / Größe. Sie müssen nur die Kovarianzmatrix durch eine Matrix ersetzen, um "Bemaßung" in eine beliebige Richtung zu messen (die Matrix muss nur positiv definiert oder symmetrisch sein.) Dies ist genau so, als würde QuickSort für verschiedene Ordnungsoperatoren funktionieren, Sie erhalten jedoch unterschiedliche Ergebnisse für verschiedene Besteller.
James LI

9

Ich verstehe die Hauptkomponenten folgendermaßen: Daten mit mehreren Variablen (Größe, Gewicht, Alter, Temperatur, Wellenlänge, prozentuales Überleben usw.) können dreidimensional dargestellt werden, um die Beziehung zueinander darzustellen.

Wenn Sie nun irgendwie einen Sinn für "3D-Daten" haben möchten, möchten Sie vielleicht wissen, welche 2D-Ebenen (Querschnitte) dieser 3D-Daten die meisten Informationen für eine gegebene Reihe von Variablen enthalten. Diese 2D-Ebenen sind die Hauptkomponenten, die einen Anteil jeder Variablen enthalten.

Stellen Sie sich Hauptkomponenten selbst als Variablen vor, mit zusammengesetzten Merkmalen aus den ursprünglichen Variablen (diese neue Variable könnte als Teilegewicht, Teilehöhe, Teilealter usw. beschrieben werden). Wenn Sie eine Hauptkomponente (X) gegen eine andere (Y) plotten, erstellen Sie eine 2D-Karte, die geometrische Korrelationen zwischen Originalvariablen beschreiben kann. Nun der nützliche Teil: Da jedes zu vergleichende Subjekt (Beobachtung) mit Werten für jede Variable verknüpft ist, befinden sich die Subjekte (Beobachtungen) auch irgendwo auf dieser XY-Karte. Ihre Position basiert auf den relativen Beiträgen jeder zugrunde liegenden Variablen (dh eine Beobachtung kann stark von Alter und Temperatur beeinflusst werden, während eine andere stärker von Größe und Gewicht beeinflusst wird).


8

Ich werde eine nicht-mathematische Antwort und eine detailliertere Vogelperspektive der Motivation durch Mathematik im zweiten Teil geben.


Nicht-Mathy:

Die nicht-mathematische Erklärung ist, dass PCA bei hochdimensionalen Daten hilft, indem Sie sehen, in welche Richtungen Ihre Daten die größte Varianz aufweisen. Diese Richtungen sind die Hauptkomponenten . Sobald Sie über diese Informationen verfügen, können Sie in einigen Fällen entscheiden, die Hauptkomponenten selbst als aussagekräftige Variablen zu verwenden, und die Dimensionalität Ihrer Daten erheblich reduzieren, indem Sie nur die Hauptkomponenten mit der größten Varianz beibehalten ( erklärende Kraft ).

Angenommen, Sie geben einen Fragebogen für politische Umfragen mit 30 Fragen aus. Jeder Frage kann eine Antwort von 1 ( trifft überhaupt nicht zu ) bis 5 ( trifft voll zu ) zugewiesen werden . Sie erhalten Unmengen von Antworten und haben jetzt 30-dimensionale Daten, aus denen Sie weder Kopf noch Zahl machen können. Dann denken Sie verzweifelt, dass Sie PCA ausführen und entdecken, dass 90% Ihrer Varianz aus einer Richtung stammen und diese Richtung keiner Ihrer Achsen entspricht. Nach weiterer Prüfung der Daten kommen Sie zu dem Schluss, dass diese neue hybride Achse dem politischen Spektrum von links nach rechts, dh dem Spektrum von Demokraten und Republikanern, entspricht, und betrachten die subtileren Aspekte der Daten.


Mathy:

Manchmal hilft es, herauszuzoomen und die mathematische Motivation zu betrachten, um etwas Licht auf die Bedeutung zu werfen.

Es gibt eine spezielle Matrizenfamilie, die einfach durch Ändern der Koordinatenachse in diagonale Matrizen umgewandelt werden kann . Natürlich nennt man sie die diagonalisierbaren Matrizen und eleganterweise sind die neuen Koordinatenachsen, die dazu benötigt werden, die Eigenvektoren.

Wie sich herausstellt, ist die Kovarianzmatrix symmetrisch und immer diagonalisierbar ! In diesem Fall heißen die Eigenvektoren die Hauptkomponenten, und wenn Sie die Kovarianzmatrix in Eigenvektorkoordinaten ausschreiben, entsprechen die diagonalen Einträge (die einzigen verbleibenden) der Varianz in Richtung Ihrer Eigenvektoren. Dadurch können wir wissen, welche Richtungen die größte Varianz aufweisen. Da die Kovarianzmatrix in diesen Koordinaten diagonal ist, haben Sie außerdem alle Korrelationen zwischen Ihren Variablen geschickt eliminiert.

Wie in der Praxis üblich, gehen wir davon aus, dass unsere Variablen normal verteilt sind, und es ist daher ganz natürlich, zu versuchen, unsere Koordinaten zu ändern, um das einfachste Bild zu erhalten. Wenn Sie Ihre Hauptkomponenten und ihre jeweiligen Eigenwerte (Varianz) kennen, können Sie die Dimensionalität Ihrer Daten bei Bedarf reduzieren und eine schnelle allgemeine Übersicht darüber erhalten, wo die Variation Ihrer Daten liegt.

Aber am Ende des Tages kommt die Wurzel all diese Wünschbarkeit von der Tatsache , dass Diagonalmatrizen ist Art und Weise leichter mit ihren Messier im Vergleich zu beschäftigen, allgemeinere Cousins.


2
Danke für Ihren Beitrag. Es scheint sich jedoch um eine unnötig enge Auslegung der PCA zu handeln. (1) PCA wurde erfolgreich auf hochgradig nicht-Gaußsche Datensätze angewendet. (2) PCA ist kein formales parametrisches Verfahren; es ist vielleicht besser, es als im Geiste erforschend zu betrachten. (3) Alle Kovarianzmatrizen jeglicher Art multivariater Verteilung oder Daten sind diagonalisierbar. Weder Gaussianität (Normalität) noch Nicht-Entartung sind Voraussetzungen. (Die Symmetrie der Matrix und das
Vorhandensein

Ich muss zugeben, es ist mir peinlich, vergessen zu haben, aber es ist ein guter Punkt, dass Kovarianzmatrizen im Allgemeinen diagonalisierbar sind. Ich werde nachbearbeiten, um das zu reflektieren. Könnten Sie auch auf Punkt (2) näher eingehen? Ich kenne den Unterschied zwischen parametrischen und nicht parametrischen Prozeduren nicht.
Christian Bueno

7

Ich betrachte PCA als geometrisches Werkzeug. Wenn Sie eine Reihe von Punkten im 3-Raum erhalten, die so ziemlich alle auf einer geraden Linie liegen, und Sie die Gleichung dieser Linie herausfinden möchten, erhalten Sie sie über PCA (nehmen Sie die erste Komponente). Wenn Sie eine Reihe von Punkten im 3-Raum haben, die größtenteils planar sind, und die Gleichung dieser Ebene ermitteln möchten, führen Sie dies über PCA aus (nehmen Sie den niedrigstwertigen Komponentenvektor und dieser sollte normal zur Ebene sein).


7

Warum so Eigenwerte / Eigenvektoren?

Wenn Sie PCA ausführen, möchten Sie eine orthogonale Basis berechnen, indem Sie die projizierte Varianz für jeden Basisvektor maximieren.

Nach der Berechnung der vorherigen Basisvektoren soll der nächste sein:

  • orthogonal zum vorherigen
  • Norm 1
  • Maximierung der projizierten Varianz, dh mit maximaler Kovarianznorm

Dies ist ein eingeschränktes Optimierungsproblem, und die Lagrange-Multiplikatoren (für die geometrische Intuition siehe Wikipedia-Seite) geben an, dass die Gradienten des Objektivs (projizierte Varianz) und der Einschränkung (Einheitennorm) im Optimium "parallel" sein sollten.

Dies ist das Gleiche wie zu sagen, dass der nächste Basisvektor ein Eigenvektor der Kovarianzmatrix sein sollte. Die beste Wahl bei jedem Schritt ist, den mit dem größten Eigenwert unter den verbleibenden auszuwählen.


5
Definitiv keine Erklärung für einen Laien - orthogonale Basisvektoren? Projektionsvarianz maximieren? eingeschränktes Optimierungsproblem? Lagrange-Multiplikator? Dies sind sehr "umgangssprachliche" Begriffe. Zeigen Sie einem Laien, der versteht, was dies bedeutet, und ich zeige Ihnen einen Mathematiker / Statistiker
Wahrscheinlichkeitsrechnung

6

Grundsätzlich findet PCA neue Variablen, die lineare Kombinationen der ursprünglichen Variablen sind, so dass die Daten im neuen Raum weniger Dimensionen haben. Stellen Sie sich einen Datensatz vor, der aus den dreidimensionalen Punkten auf der Oberfläche einer in einem Winkel hochgehaltenen flachen Platte besteht. In den ursprünglichen x-, y- und z-Achsen benötigen Sie 3 Dimensionen, um die Daten darzustellen, aber mit der richtigen linearen Transformation benötigen Sie nur 2.

Grundsätzlich hat @Joel gesagt, aber nur lineare Kombinationen der Eingangsvariablen.


6

Vor einiger Zeit habe ich versucht, diesen PCA-Algorithmus zu verstehen und wollte mir Notizen über Eigenvektoren und Eigenwerte machen. In diesem Dokument heißt es, dass der Zweck von Elektrofahrzeugen darin besteht, ein Modell des großen Modells in ein sehr kleines Modell umzuwandeln.

Anstatt zum Beispiel zuerst die Brücke in voller Größe zu konstruieren und dann Experimente und Tests daran durchzuführen, ist es möglich, EVs zu verwenden, um eine Brücke in sehr kleiner Größe zu erstellen, bei der alle Faktoren / Mengen um den gleichen Spielraum reduziert werden und darüber hinaus Das tatsächliche Ergebnis von Tests und Belastungstests, die mit diesem durchgeführt wurden, kann entsprechend den Anforderungen des ursprünglichen Modells berechnet und vergrößert werden. In gewisser Weise helfen EVs dabei, Zusammenfassungen des Originals zu erstellen .

Für mich hatte diese Erklärung eine tiefgreifende Bedeutung für das, was ich zu tun versuchte! Hoffe es hilft dir auch!


-1. Vielleicht habe ich die Analogie nicht richtig eingeschätzt, aber sie sieht für mich ziemlich irreführend aus. PCA erlaubt es zwar (in gewisser Weise), ein "großes" Modell in ein "kleines" Modell "umzuwandeln", dies jedoch, indem die Dimensionalität des Datensatzes verringert wird. Aber wie ist die kleine Brücke von geringerer Dimension als die große ?! Sie sind beide 3D, nicht wahr?
Amöbe

@amoeba: Dieser Auszug stammt aus einer Zeitung, die ich gelesen habe. Dies sind nicht genau meine Worte. Ich habe dieses Thema schon lange nicht mehr studiert und habe die Spur verloren.
Rorschach

6

Stellen Sie sich vor, Oma hat gerade ihre ersten Fotos und Filme mit der Digitalkamera aufgenommen, die Sie ihr zu Weihnachten geschenkt haben. Leider lässt sie ihre rechte Hand fallen, als sie auf den Knopf für Fotos drückt, und sie zittert auch während der Filme. Sie bemerkt, dass die Menschen, Bäume, Zäune, Gebäude, Türen, Möbel usw. nicht gerade auf und ab sind, nicht vertikal, und dass der Boden, der Boden, das Meer, der Horizont nicht gut horizontal sind. und auch die filme sind ziemlich wackelig. Sie fragt, ob Sie ihr helfen können, alle 3000 Urlaubsfotos und etwa 100 Videos zu Hause und am Strand (sie ist Australierin) zu reparieren, Geschenke zu öffnen und auf dem Land spazieren zu gehen. Sie hat diese Foto-Software, mit der Sie das tun können, was sie sagt. Du sagst ihr, dass das Tage dauern würde und dass die Videos sowieso nicht funktionieren würden, Sie kennen jedoch Techniken, die als PCA und ICA bezeichnet werden und möglicherweise hilfreich sind. Sie erklären, dass Ihre Forschung tatsächlich nur diese Art der Rotation von Daten in die natürlichen Dimensionen umfasst, dass diese Techniken die wichtigsten Richtungen in den Daten, in diesem Fall das Foto, finden und rotieren, sodass die wichtigste horizontal ist, die zweite ist vertikal (und es kann sogar für mehr Dimensionen weitergehen, die wir uns nicht sehr gut vorstellen können, obwohl Zeit auch eine Dimension in den Filmen ist).

-

Technik beiseite. In der Tat könnten Sie wahrscheinlich Ihren Doktortitel für sie verdienen, und es gibt einen wichtigen Artikel von Bell und Sejnowski (1997) über unabhängige Komponenten von Bildern, die Kanten entsprechen. Um dies mit PCA in Verbindung zu bringen: ICA verwendet PCA oder SVD als ersten Schritt, um die Dimensionalität und die anfänglichen Approximationen zu reduzieren, verbessert sie dann jedoch, um nicht nur Fehler zweiter Ordnung (SSE) wie PCA, sondern auch Fehler höherer Ordnung zu berücksichtigen - sofern dies zutrifft ICA, alle höheren Ordnungen, obwohl sich viele Algorithmen auf den 3. oder 4. beschränken. Die PCA-Komponenten niedriger Ordnung werden in der Regel stark von den Horizontalen und Vertikalen beeinflusst. Der Umgang mit Kamerabewegungen für die Filme kann auch von PCA / ICA Gebrauch machen. Sowohl für die 2D-Fotos als auch für die 2½D-Filme benötigen Sie einige repräsentative Tricks, um dies zu erreichen.

Eine andere Anwendung, die Sie Oma erklären könnten, sind Eigengesichter - Eigenvektoren höherer Ordnung können die '7 Grundemotionen' approximieren (die durchschnittliche Fläche für jede von ihnen und die 'skalierte Rotation' oder Linearkombination, um diese Mittelung durchzuführen), aber häufig finden wir Komponenten, die sind geschlechts- und rassenspezifisch, und einige können Personen oder einzelne Merkmale (Brille, Bart usw.) unterscheiden. Dies ist der Fall, wenn Sie nur wenige Fotos von einer Person und viele Emotionen / Ausdrücke haben. Wenn Sie jedoch viele Gesichter mit neutralen Ausdrücken haben, kommt es zu einer anderen Tendenz. Die Verwendung von ICA anstelle von PCA scheint für grundlegende Emotionen nicht wirklich hilfreich zu sein, aber Bartlett und Sejnowsiki (1997) haben gezeigt, dass es nützliche Funktionen für die Gesichtserkennung bietet.


1
Ich schätze die Bemühungen, mit Beispielen und in Analogie zu kommunizieren. Die Verwendung von Bildern ist jedoch unglücklich, da Oma mit hoher Wahrscheinlichkeit nicht versteht, dass Ihr Drehsinn wenig mit dem tatsächlichen Drehen der Achsen eines Bildes zu tun hat , und sie wird wahrscheinlich auch nicht verstehen, dass Sie die Dimension "verwenden" "in einem abstrakten Sinne, in dem die Fotos Millionen von Dimensionen haben und nicht nur zwei.
whuber

Ja, Sie müssen es wie die Bilder in anderen Antworten als Punktwolke darstellen. Eine Vorverarbeitung mit irgendeiner Form von Kantenerkennung und / oder Schwellenwertbildung wäre wahrscheinlich Teil der "Tricks", die ich erwähnt habe. Um ein komplexes Foto zu bearbeiten, sind jedoch viele Tricks eines Doktors erforderlich.
David MW Powers

@whuber Ich habe tatsächlich PCA (auch SVD) verwendet, um diese Rotationen bei der Stereobildkalibrierung zu finden! Es ist definitiv der gleiche Drehsinn.
David MW Powers

2

Ich denke, dass jeder anfängt, PCA vom falschen Ende zu erklären: von den Eigenvektoren. Meine Antwort beginnt am richtigen Ort: Koordinatensystem. Eigenvektoren und das Eigenproblem im Allgemeinen sind das mathematische Werkzeug, mit dem das eigentliche Problem angegangen wird, bei dem es sich um ein falsches Koordinatensystem handelt. Ich erkläre es.

Beginnen wir mit einer Zeile. Was ist eine Linie? Es ist ein eindimensionales Objekt. Sie benötigen also nur eine Dimension, um von einem Punkt zum anderen zu gelangen. In einer Ebene fügen Sie zwei Koordinaten an einen beliebigen Punkt einer Linie an. Das liegt daran, dass in Bezug auf eine Linie selbst das Koordinatensystem willkürlich gewählt wird. Das Koordinatensystem spiegelt nicht die innere eindimensionale Natur der Linie wider. Wenn ich nur immer den Ursprung meines kartesischen Koordinatensystems auf die Linie setzen und es so drehen würde, dass seine x-Achse auf der Linie liegt, dann würde ich keine y-Achse mehr brauchen! Alle meine Punkte liegen auf einer Achse, weil eine Linie ein eindimensionales Objekt ist.

Hier sollten die PCA-Erklärungen beginnen. Das Eigenproblem ist ein Werkzeug, das die von mir beschriebene Rotation ausführt, und die Abwertung von Variablen bringt den Ursprung auf die Linie. PCA hilft dabei, die tatsächlichen Dimensionen der Daten zu ermitteln , solange die Beziehungen zwischen den Variablen linear sind .


1

Denken Sie daran, dass ein Eigenvektor ein Vektor ist, dessen Transformation parallel zum gleichen Eingangsvektor verläuft. Ein Eigenvektor mit einem hohen Eigenwert bedeutet also, dass der Eigenvektor einen hohen Grad an "Parallelität" zu den Daten aufweist, dh Sie können die Daten nur mit diesem Vektor darstellen und in der neuen Darstellung einen geringen Fehler erwarten. Wenn Sie zusätzliche Eigenvektoren mit niedrigeren Eigenwerten auswählen, können Sie mehr Details der Daten darstellen, da Sie andere 'Parallelitäten' darstellen, die aufgrund niedrigerer Eigenwerte nicht so wichtig sind wie die erste.


0

PCA ist im Grunde eine Projektion eines höherdimensionalen Raums in einen niederdimensionalen Raum, wobei so viele Informationen wie möglich erhalten bleiben.

Ich habe einen Blogbeitrag geschrieben, in dem ich PCA über die Projektion einer 3D-Teekanne erkläre ...

Bildbeschreibung hier eingeben

... auf eine 2D-Ebene unter Beibehaltung möglichst vieler Informationen:

Bildbeschreibung hier eingeben

Details und den vollständigen R-Code finden Sie im Beitrag:
http://blog.ephorie.de/intuition-for-principal-component-analysis-pca


1
Ungeachtet der Bilder ist dies derzeit eher ein Kommentar als eine Antwort. Könnten Sie es erweitern, indem Sie vielleicht eine Zusammenfassung der Informationen unter dem Link geben? Beiträge im SE-Netz sollen eigenständig stehen können.
gung

@gung: Das Wichtigste ist, dass PCA im Grunde eine Projektion eines höherdimensionalen Raums (in diesem Fall einer 3D-Teekanne) auf einen tieferdimensionalen Raum (in diesem Fall eine 2D-Ebene) ist, wobei so viele Informationen wie möglich erhalten bleiben möglich. Wird es in der Antwort ändern.
vonjd

Das ist sicherlich wahr (& erklärt in vielen anderen existierenden Antworten in diesem Thread), aber es sollte im Allgemeinen mehr zu Antworten geben, die im SE-System gepostet werden, und sie sollten in der Lage sein, für sich selbst zu stehen, wenn z. B. der Link tot ist.
gung

1
Das Beispiel der Teekanne ist interessant. Sie sagen, PCA sei eine Projektion in den unteren Raum, während so viele Informationen erhalten bleiben. Aber ... was ist Information? Bei PCA bedeutet dies, die Gesamtvarianz so hoch wie möglich zu halten. Das Beispiel der Teekanne ähnelt eher der Aussage, dass die Informationen durch die Verwendung einer Projektion in einer bestimmten Ebene "am besten erhalten" werden. Dies erklärt jedoch wenig, wie PCA dies tut und ob es sich auch um die "beste" Auswahl von "Informationen" handelt. Zum Beispiel ist LDA auch eine Projektion, die beabsichtigt, Informationen zu bewahren, aber nicht dasselbe wie PCA.
Martijn Weterings

Wenn Ihre Teekanne runder / kreisförmiger (weniger hoch) gewesen wäre als PCA, hätte Sie eine andere Kreuzung "gewählt", um die meisten "Informationen" zu bewahren.
Martijn Weterings

-4

Vielleicht ist spät in diesen Analysen die implizite Annahme, dass sich Daten aus Gruppe I von denen aus Gruppe II unterscheiden, und man versucht herauszufinden, welche Komponente wahrscheinlich den Hauptfaktor für den Unterschied darstellt.

Wenn Sie eine PCA-Analyse durchführen, die identische Ellipsoide für 2 verschiedene Sätze ergibt, werden Sie darauf hingewiesen, dass sich die beiden Sätze durch keinen der von Ihnen gemessenen Parameter unterscheiden.


2
Ich frage mich, ob Sie an MANOVA denken. Wenn Sie zwei separate PCAs ausführen, zeigen Sie nur, dass die Korrelationsstruktur ähnlich ist.
gung

2
-1. Dies ist aus dem von @gung genannten Grund eine völlig irreführende Antwort. Es wird auch nicht einmal versucht zu erklären, was PCA ist.
Amöbe
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.