Hauptkomponentenanalyse

Hauptkomponentenanalyse als Faktorenanalyse: Zwei Hauptkomponenten einer zweidimensionalen Punktwolke (orthogonal rotiert)

Die Hauptkomponentenanalyse (kurz: HKA, englisch Principal Component Analysis, kurz: PCA; das mathematische Verfahren ist auch als Hauptachsentransformation oder Singulärwertzerlegung bekannt) ist ein Verfahren der multivariaten Statistik. Sie dient dazu, umfangreiche Datensätze zu strukturieren, zu vereinfachen und zu veranschaulichen, indem eine Vielzahl statistischer Variablen durch eine geringere Zahl möglichst aussagekräftiger Linearkombinationen (die Hauptkomponenten) genähert wird. Speziell in der Bildverarbeitung wird die Hauptkomponentenanalyse, auch Karhunen-Loève-Transformation genannt, benutzt. Sie ist von der Faktorenanalyse zu unterscheiden, mit der sie formale Ähnlichkeit hat und in der sie als Näherungsmethode zur Faktorenextraktion verwendet werden kann (der Unterschied der beiden Verfahren wird im Artikel Faktorenanalyse erläutert).

Es gibt verschiedene Verallgemeinerungen der Hauptkomponentenanalyse, z.B. die Principal Curves, die Principal Surfaces oder die Kernbasierte Hauptkomponentenanalyse (kernel principal component analysis, kurz: kernel PCA).

Geschichte

Die Hauptkomponentenanalyse wurde von Karl Pearson 1901 eingeführt und in den 1930er Jahren von Harold Hotelling weiterentwickelt. Wie andere statistische Analysemethoden erlangte sie weite Verbreitung erst mit der zunehmenden Verfügbarkeit von Computern im dritten Viertel des 20. Jahrhunderts. Die ersten Anwendungen entstammten der Biologie.

Konzeption der Hauptkomponentenanalyse

Der zugrundeliegende Datensatz hat typischerweise die Struktur einer Matrix: An n Versuchspersonen oder Gegenständen wurden jeweils p Merkmale gemessen. Ein solcher Datensatz kann als Menge von n Punkten im p-dimensionalen Raum \mathbb {R} ^{p} veranschaulicht werden. Ziel der Hauptkomponentenanalyse ist es, diese Datenpunkte so in einen q-dimensionalen Unterraum \mathbb {R} ^{q} (q<p) zu projizieren, dass dabei möglichst wenig Information verloren geht und vorliegende Redundanz in Form von Korrelation in den Datenpunkten zusammengefasst wird.

Mathematisch wird eine Hauptachsentransformation durchgeführt: Man minimiert die Korrelation mehrdimensionaler Merkmale durch Überführung in einen Vektorraum mit neuer Basis. Die Hauptachsentransformation lässt sich durch eine orthogonale Matrix angeben, die aus den Eigenvektoren der Kovarianzmatrix gebildet wird. Die Hauptkomponentenanalyse ist damit problemabhängig, weil für jeden Datensatz eine eigene Transformationsmatrix berechnet werden muss. Die Rotation des Koordinatensystems wird so ausgeführt, dass die Kovarianzmatrix diagonalisiert wird, d.h. die Daten werden dekorreliert (die Korrelationen sind die Außerdiagonaleinträge der Kovarianzmatrix). Für normalverteilte Datensätze bedeutet dies, dass die einzelnen Komponenten jedes Datensatzes nach der PCA voneinander statistisch unabhängig sind, da die Normalverteilung durch das nullte (Normierung), erste (Erwartungswert) und zweite Moment (Kovarianzen) vollständig charakterisiert wird. Sind die Datensätze nicht normalverteilt, werden die Daten auch nach der PCA – obwohl nun dekorreliert – noch immer statistisch abhängig sein. Die PCA ist also nur für normalverteilte Datensätze eine „optimale“ Methode.

Anwendungsbeispiel

Betrachtet werden Artillerieschiffe des Zweiten Weltkriegs. Sie sind eingeteilt in die Klassen Schlachtschiffe, schwere Kreuzer, leichte Kreuzer und Zerstörer. Es liegen Daten für ca. 200 Schiffe vor. Es wurden die Merkmale Länge, Breite, Wasserverdrängung, Tiefgang, Leistung der Maschinen, Geschwindigkeit (längerfristig mögliche Höchstgeschwindigkeit), Aktionsradius und Mannschaftsstärke erfasst. Die Merkmale Länge, Breite, Wasserverdrängung und Tiefgang können so aufgefasst werden, dass sie alle einen ähnlichen Sachverhalt messen, den man als den Faktor „Größe“ beschreiben könnte. Die Frage ist, ob noch andere Faktoren die Daten bestimmen. Es gibt tatsächlich noch einen zweiten deutlichen Faktor, der vor allem durch die Leistung der Maschinen und die Höchstgeschwindigkeit bestimmt wird. Man könnte ihn zu einem Faktor „Geschwindigkeit“ zusammenfassen.

Andere Beispiele für Anwendungen der Hauptkomponentenanalyse sind:

Verfahren

Erste Hauptkomponente der Daten (schwarz-dunkelrote Linie) und der Mittelpunkt der Daten (dicker schwarzer Punkt)

Idee

Die Daten liegen als Punktwolke in einem p-dimensionalen kartesischen Koordinatensystem vor.

Beste lineare Approximation an den Datensatz

Das Berechnen der Hauptkomponenten kann man als iterativen Prozess auffassen. In der rechten Grafik wird für die Datenpunkte (nicht ausgefüllte Kreise) diejenige Gerade gesucht, die die Daten am besten approximiert. Der Fehler eines Datenpunktes ist der euklidische Abstand zwischen der Geraden und den Datenpunkten. Für den Datenpunkt rechts oben ist der Fehler die rote Linie, die senkrecht auf der schwarzen Geraden steht. Die erste Hauptkomponente ist die Gerade, bei der die Summe der Quadrate dieser Fehler minimal ist.

Danach wird eine weitere Gerade gesucht, die auch durch den Mittelwert der Datenpunkte geht und orthogonal zur ersten Geraden ist: die zweite Hauptkomponente. Im Falle zweidimensionaler Daten ist dies einfach die senkrecht auf der ersten Hauptkomponente stehende Gerade. Ansonsten ist die jeweils nächste Hauptkomponente senkrecht zu allen bisherigen Hauptkomponenten; mit dieser Bedingung wird wieder die Gerade bestimmt, bei der die Quadratsumme der Abstände minimal ist. So können die weiteren Geraden bis zur p-ten Hauptkomponente bestimmt werden.

Maximierung der Varianz

Die Distanz zwischen dem Zentrum der Daten und einem Datenpunkt ist unabhängig davon, welche Gerade durch das Zentrum als „Referenz“ betrachtet wird (siehe die rote Line vom Zentrum der Daten zum Datenpunkt rechts oben). Mittels des Satzes von Pythagoras können wir aber den Abstand zerlegen in den Anteil in Richtung der schwarzen Geraden und einen weiteren Anteil rechtwinklig dazu. Eine Minimierung der Abstände rechtwinklig zur Geraden (unter Beibehaltung des Abstands zum Datenzentrum, Länge der roten Linie) bedeutet also eine Maximierung der Abstände in Richtung der schwarzen Geraden (a^{2}+b^{2}=c^{2} muss erhalten bleiben). Die aufsummierten Quadrate der Abstände in Richtung der schwarzen Geraden bilden die Varianz der Daten in dieser Richtung.

Dies führt zum folgenden Algorithmus: Die erste Achse soll so durch die Punktwolke gelegt werden, dass die Varianz der Daten in dieser Richtung maximal wird. Die zweite Achse steht auf der ersten Achse senkrecht. In ihrer Richtung ist die Varianz am zweitgrößten usw.

Für die p-dimensionalen Daten gibt es also grundsätzlich p Achsen, die aufeinander senkrecht stehen, sie sind orthogonal. Die totale Varianz der Daten ist die Summe dieser „Achsenvarianzen“. Mit den p Achsen wird nun ein neues Koordinatensystem in die Punktwolke gelegt. Das neue Koordinatensystem kann als Rotation der Variablenachsen dargestellt werden.

Wird nun durch die ersten r' (r'<p) Achsen ein hinreichend großer Prozentsatz der totalen Varianz abgedeckt, erscheinen die Hauptkomponenten, die durch die neuen Achsen repräsentiert werden, ausreichend für den Informationsgehalt der Daten. Die totale Varianz der Daten ist also ein Maß für ihren Informationsgehalt.

Häufig können die Hauptkomponenten inhaltlich nicht interpretiert werden. In der Statistik spricht man davon, dass ihnen keine verständliche Hypothese zugeschrieben werden kann (siehe Faktorenanalyse).

Statistisches Modell

Man betrachtet p Zufallsvariablen X_{j}, die bezüglich ihrer Erwartungswerte zentriert sind. Das heißt, ihre Erwartungswerte wurden von der Zufallsvariablen subtrahiert. Diese Zufallsvariablen werden in einem p-dimensionalen Zufallsvektor {\displaystyle \mathbf {X} } zusammengefasst. Dieser hat als Erwartungswertvektor den Nullvektor und die (p\times p)-Kovarianzmatrix {\displaystyle \mathbf {\Sigma } }, die symmetrisch und positiv semidefinit ist. Die Eigenwerte \lambda _{j}, j=1,\dots ,p, der Matrix {\displaystyle \mathbf {\Sigma } } sind absteigend der Größe nach geordnet. Sie werden als Diagonalelemente in der Diagonalmatrix {\displaystyle \mathbf {\Lambda } } aufgeführt. Die zu ihnen gehörenden Eigenvektoren bilden die orthogonale Matrix {\displaystyle \mathbf {\Gamma } }. Es gilt dann {\displaystyle \mathbf {\Lambda } =\mathbf {\Gamma } ^{T}\mathbf {\Sigma } \mathbf {\Gamma } .}

Wird der Zufallsvektor {\displaystyle \mathbf {X} } linear transformiert zu {\displaystyle \mathbf {X} \mapsto \mathbf {Y} =\mathbf {\Gamma } ^{T}\mathbf {X} }, dann ist die Kovarianzmatrix von {\mathbf  Y} gerade die Diagonalmatrix {\displaystyle \mathbf {\Lambda } }.

Zur Verdeutlichung betrachten wir einen dreidimensionalen Zufallsvektor

{\displaystyle \mathbf {X} ={\begin{pmatrix}X_{1}\\X_{2}\\X_{3}\end{pmatrix}}}.

Die Matrix der Eigenwerte der Kovarianzmatrix {\displaystyle \mathbf {\Sigma } } von {\displaystyle \mathbf {X} } ist

{\displaystyle \mathbf {\Lambda } ={\begin{pmatrix}\lambda _{A}&0&0\\0&\lambda _{B}&0\\0&0&\lambda _{C}\end{pmatrix}},}

wobei {\displaystyle \lambda _{A}\geq \lambda _{B}\geq \lambda _{C}} ist.

Die normierten (3\times 1)-Eigenvektoren {\displaystyle {\boldsymbol {\gamma }}_{j}} lassen sich als Spalten der Matrix {\displaystyle \mathbf {\Gamma } } zusammenfassen:

{\displaystyle \mathbf {\Gamma } ={\begin{pmatrix}{\boldsymbol {\gamma }}_{A}&{\boldsymbol {\gamma }}_{B}&{\boldsymbol {\gamma }}_{C}\end{pmatrix}}}
={\begin{pmatrix}\gamma _{1A}&\gamma _{1B}&\gamma _{1C}\\\gamma _{2A}&\gamma _{2B}&\gamma _{2C}\\\gamma _{3A}&\gamma _{3B}&\gamma _{3C}\end{pmatrix}}.

Die Matrix-Vektor-Multiplikation

{\displaystyle \mathbf {X} \rightarrow \mathbf {Y} =\mathbf {\Gamma } ^{T}\mathbf {X} }

ergibt die Gleichungen

Y_{A}=\gamma _{1A}X_{1}+\gamma _{2A}X_{2}+\gamma _{3A}X_{3}
Y_{B}=\gamma _{1B}X_{1}+\gamma _{2B}X_{2}+\gamma _{3B}X_{3}
Y_{C}=\gamma _{1C}X_{1}+\gamma _{2C}X_{2}+\gamma _{3C}X_{3}.

Die Varianz von Y_{A} ist

\operatorname {Var} (Y_{A})=\lambda _{A}.

Also hat die Hauptkomponente Y_{A} den größten Anteil an der Gesamtvarianz der Daten, Y_{B} den zweitgrößten Anteil usw. Die Elemente \gamma _{jk}, j=1,2,3; k=A,B,C, könnte man als Beitrag der Variablen X_{j} am Faktor k bezeichnen. Die Matrix {\displaystyle \mathbf {\Gamma } } bezeichnet man in diesem Zusammenhang als Ladungsmatrix, sie gibt an, „wie hoch eine Variable X auf einen Faktor Y lädt“.

Schätzung der Modellparameter

Liegen konkret erhobene Daten mit p Merkmalen vor (d.h. jeder Datenpunkt ist ein p-dimensionaler Vektor), wird aus den Merkmalswerten die Stichproben-Korrelationsmatrix errechnet. Aus dieser Matrix bestimmt man dann die Eigenwerte und Eigenvektoren für die Hauptkomponentenanalyse. Da die Kovarianzmatrix eine symmetrische p\times p-Matrix ist, sind für ihre Berechnung insgesamt (p^{2}+p)/2 Parameter zu schätzen. Dies ist nur dann sinnvoll, wenn die Anzahl N der Datenpunkte im Datensatz deutlich größer ist, d.h. wenn N\gg (p^{2}+p)/2. Anderenfalls ist die Bestimmung der Kovarianzmatrix stark fehlerbehaftet, und diese Methode sollte nicht angewandt werden.

Beispiel mit drei Variablen

Das oben genannte Anwendungsbeispiel wird jetzt in Zahlen verdeutlicht:

Wir betrachten die Variablen Länge, Breite und Geschwindigkeit. Die Streudiagramme geben einen Eindruck über die gemeinsame Verteilung der Variablen wieder.

Streudiagramm Länge - Geschwindigkeit von Artillerieschiffen Länge - Breite von Artillerieschiffen

Mit diesen drei Variablen wurde mithilfe eines Statistikprogramms eine Hauptkomponentenanalyse durchgeführt. Die Ladungsmatrix \Gamma ist

Faktor A B C
Länge 0,862 0,481 −0,159
Breite 0,977 0,083 0,198
Geschwindigkeit −0,679 0,730 0,082

Der Faktor y_{A} setzt sich also zusammen aus

Y_{A}=0{,}862\cdot {\text{Länge}}+0{,}977\cdot {\text{Breite}}-0{,}679\cdot {\text{Geschwindigkeit}}.

Vor allem die Beiträge von Länge und Breite zum ersten Faktor sind groß. Beim zweiten Faktor ist vor allem der Beitrag der Geschwindigkeit groß. Der dritte Faktor ist unklar und wohl auch unerheblich.

Die Gesamtvarianz der Daten verteilt sich wie folgt auf die Hauptkomponenten:

Faktor Eigenwert \lambda _{j} Prozent der Gesamtvarianz Prozentualer Anteil der
Kumulierten Varianz
an Gesamtvarianz
A 2,16 71,97 71,97
B 0,77 25,67 97,64
C 0,07 2,36 100,00

Es werden also durch die ersten zwei Hauptkomponenten bereits 97,64 % der gesamten Varianz der Daten abgedeckt. Der dritte Faktor trägt nichts Nennenswertes zum Informationsgehalt bei.

Beispiel mit acht Variablen

Es wurden nun acht Merkmale der Artillerieschiffe einer Hauptkomponentenanalyse unterzogen. Die Tabelle der Ladungsmatrix, hier „Komponentenmatrix“ genannt, zeigt, dass vor allem die Variablen Länge, Breite, Tiefgang, Wasserverdrängung und Mannschaftsstärke hoch auf die erste Hauptkomponente laden. Diese Komponente könnte man als „Größe“ bezeichnen. Die zweite Komponente wird zum größten Teil durch PS und Knoten erklärt. Sie könnte „Geschwindigkeit“ genannt werden. Eine dritte Komponente lädt noch hoch auf Aktionsradius.

Die beiden ersten Faktoren decken bereits ca. 84 % der Information der Schiffsdaten ab, der dritte Faktor erfasst noch einmal ca. 10 %. Der zusätzliche Beitrag der restlichen Komponenten ist unerheblich.

Komponentenmatrix
  Komponente
1 2 3 4 5 6 7 8
Wasserverdrängung BRT 0,948 −0,094 −0,129 0,228 0,040 0,036 0,136 0,055
Länge m 0,906 0,302 −0,064 −0,209 0,128 −0,144 −0,007 −0,050
Breite m 0,977 −0,128 −0,031 0,032 0,103 −0,017 −0,014 0,129
Tiefgang m 0,934 −0,276 −0,061 0,014 0,074 0,129 0,154 −0,038
1000 PS 0,552 0,779 −0,196 −0,133 −0,099 0,143 −0,038 0,018
Knoten sm/h −0,520 0,798 −0,157 0,222 0,109 −0,038 0,071 0,004
Aktionsradius 100 sm 0,398 0,311 0,862 0,038 0,008 0,022 −0,002 −0,005
Mannschaftsstärke 0,955 0,063 −0,052 0,108 −0,226 −0,121 0,067 0,002
Extraktionsmethode: Hauptkomponentenanalyse
  Acht Komponenten extrahiert
Varianz der Komponenten
Komponente Eigenwerte
Total % der Varianz Kumulativ
1 5,19 64,88 64,88
2 1,54 19,22 84,10
3 0,83 10,43 94,53
4 0,18 2,22 96,74
5 0,11 1,34 98,08
6 0,08 0,95 99,03
7 0,05 0,67 99,70
8 0,02 0,30 100,00

Anwendung in der Clusteranalyse und Dimensionsreduktion

Zweidimensionales Beispiel für eine PCA. Die beiden Cluster haben eine geringe interne Streuung. Die erste Hauptkomponente wird x_1 sein, die zweite x_2. Der Hauptanteil der Gesamtstreuung liegt zwischen den Clustern (Signalvarianz bzw. englisch signal variance).
Zweidimensionales Beispiel für eine PCA. Die beiden Cluster haben eine sehr große interne Streuung. Die erste Hauptkomponente wird x_2 sein, die zweite x_1. Der Hauptanteil der Gesamtstreuung liegt innerhalb der Cluster (Rauschvarianz bzw. englisch noise variance).

Die Hauptkomponentenanalyse (PCA) wird auch häufig in der Clusteranalyse und zur Reduzierung der Dimension des Parameterraums verwendet, insbesondere dann, wenn man noch keinerlei Vorstellung (Modell) von der Struktur der Daten hat. Dabei macht man sich zunutze, dass die PCA das (orthogonale) Koordinatensystem so dreht, dass die Kovarianzmatrix diagonalisiert wird. Außerdem sortiert die PCA die Reihenfolge der Koordinatenachsen (die Hauptkomponenten) so um, dass die erste Hauptkomponente den größten Anteil der Gesamtstreuung (Totale Varianz) im Datensatz enthält, die zweite Hauptkomponente den zweitgrößten Anteil usw. Wie an den Beispielen im vorigen Abschnitt illustriert wurde, kann man meist die hinteren Hauptkomponenten (also diejenigen, welche nur einen geringen Anteil an der Gesamtstreuung enthalten) ersatzlos streichen, ohne dass dadurch ein nennenswerter Informationsverlust entsteht.

Die Grundannahme für die Verwendung der PCA zur Clusteranalyse und Dimensionsreduktion lautet: Die Richtungen mit der größten Streuung (Varianz) beinhalten die meiste Information.

In diesem Zusammenhang ist sehr wichtig, dass diese Grundannahme lediglich eine Arbeitshypothese ist, welche nicht immer zutreffen muss. Um diesen Sachverhalt zu veranschaulichen, folgen zwei Beispiele:

Diese beiden Beispiele zeigen, wie man die PCA zur Reduzierung der Dimension und zur Clusteranalyse einsetzen kann bzw., dass dies nicht immer möglich ist. Ob die Grundannahme, dass die Richtungen der größten Streuung auch wirklich die interessantesten sind, zutrifft oder nicht, hängt vom jeweils gegebenen Datensatz ab und lässt sich oft nicht überprüfen – gerade dann, wenn die Anzahl der Dimensionen sehr hoch ist und sich die Daten demzufolge nicht mehr vollständig visualisieren lassen.

Zusammenhang mit der Multidimensionalen Skalierung

Sowohl die multidimensionale Skalierung als auch die Hauptkomponentenanalyse verdichten die Daten. Werden in der (metrischen) multidimensionalen Skalierung euklidische Distanzen verwendet und ist die Dimension der Konfiguration gleich der Zahl der Hauptkomponenten, so liefern beide Verfahren die gleiche Lösung. Dies liegt daran, dass die Diagonalisierung der Kovarianzmatrix (bzw. Korrelationsmatrix, falls mit standardisierten Daten gearbeitet wird) bei der Hauptkomponentenanalyse einer Rotation des Koordinatensystems entspricht. Dadurch bleiben die Distanzen zwischen den Beobachtungen, die den Ausgangspunkt in der multidimensionalen Skalierung bilden, gleich.

In der multidimensionalen Skalierung können jedoch auch andere Distanzen verwendet werden; insofern kann die Hauptkomponentenanalyse als Spezialfall der multidimensionalen Skalierung betrachtet werden.

Literatur

Trenner
Basierend auf einem Artikel in: Wikipedia.de
Seitenende
Seite zurück
© biancahoegel.de
Datum der letzten Änderung: Jena, den: 07.04. 2023