Kennzahlen verdichten · Verständlich erklärt

Die Hauptkomponentenanalyse verständlich erklärt

Wer für jede Lieferroute zwölf Kennzahlen vor sich hat, sieht kaum, welche Touren sich ähneln. Die Hauptkomponentenanalyse verdichtet die Kennzahlen auf wenige neue Werte je Tour. Diese Seite erklärt zuerst ohne Formeln, was dabei erhalten bleibt und was verloren geht, und danach für Fachleute mit Modell, Formeln, Messwerten und Grenzen.

Zuletzt aktualisiert:

Teil 1 · Für Einsteiger

Ein Wort unbekannt? Das Begriffsverzeichnis erklärt es in wenigen Sätzen.

Zwölf Kennzahlen, aber wenige gemeinsame Treiber

Stellen Sie sich vor, Sie bekommen für jede Lieferroute zwölf Kennzahlen: Distanz, Zahl der Stopps, Ladegewicht, Verspätung, Überstunden und weitere. Zwölf Zahlen je Tour kann niemand überblicken. Sie sind aber nicht unabhängig voneinander, denn dahinter stecken wenige gemeinsame Treiber. In der Demo sind das zum Beispiel die Größe einer Tour und ihr Zeitdruck. Je größer eine Tour ist, desto mehr Stopps, Ladung und Distanz hat sie in diesem Beispiel: Ihre Kennzahlen steigen und fallen gemeinsam.

Die Hauptkomponentenanalyse, kurz PCA (englisch Principal Component Analysis), nutzt genau das. Sie verdichtet die zwölf Kennzahlen auf wenige neue Werte je Tour. Fachleute nennen das Dimensionsreduktion.

Das Bild: eine Gerade durch die Punktwolke

Nehmen wir nur zwei Kennzahlen, etwa Distanz und Zahl der Stopps. Jede Tour ist ein Punkt in einem Diagramm: Die Distanz bestimmt die Lage nach rechts, die Stopps die Lage nach oben. Weil lange Touren mehr Stopps haben, bilden die Punkte eine schmale, schräg liegende Wolke.

Jetzt legen wir eine Gerade durch die Wolke und übertragen jeden Punkt auf sie: Man geht senkrecht auf die Gerade zu und setzt den Punkt dort ab, wo er ihr am nächsten liegt. Diese Stelle ist der neue Wert der Tour. Aus zwei Kennzahlen wird eine Zahl. Fachleute nennen das eine Projektion.

Dreht man die Gerade, ändert sich, wie weit die neuen Positionen auseinanderliegen. Diese Ausdehnung heißt Streuung. Steht die Gerade quer zur Wolke, liegen die Positionen eng beieinander, und die Unterschiede zwischen den Touren verschwinden. Läuft sie längs der Wolke, sind die Positionen weit verteilt. Die PCA wählt diese Richtung, die mit der größten Streuung. Die Demo lässt Sie die Gerade mit einem Regler drehen.

Was bleibt und was verloren geht

Jeder Punkt hat einen Abstand zur Geraden. Das ist der Teil seiner Kennzahlen, den der neue Wert nicht mehr enthält; er geht verloren. Läuft die Gerade längs der Wolke, liegen die Punkte nah an ihr, der Rest ist klein, und fast die ganze Streuung steckt in den neuen Positionen. Steht sie quer, ist es umgekehrt.

Bei senkrechter Abbildung, wie hier, ergeben die Streuung auf der Geraden und der Rest neben ihr bei jeder Richtung zusammen dieselbe Gesamtstreuung. Was die eine Seite gewinnt, verliert die andere. Deshalb hat die Richtung mit der größten Streuung zugleich den kleinsten verlorenen Rest.

Bei zwölf Kennzahlen wiederholt man das. Die zweite Richtung trägt die größte Streuung, die dann noch übrig ist, und steht senkrecht zur ersten, die dritte senkrecht zu beiden, bis zu zwölf Richtungen. Zeichnen lässt sich das nicht, denn „senkrecht“ ist bei zwölf Kennzahlen eine Rechenregel. Die Rechnung übernimmt der Computer. Man behält nur die ersten Richtungen.

Wie viele? Die Demo zeigt ein Balkendiagramm (den Scree-Plot) mit einem Balken je Richtung, von hoch nach niedrig. Im günstigen Fall stehen links wenige hohe Balken, dann fällt es abrupt auf kleine Balken ab, die nur Rauschen tragen, also kleine zufällige Schwankungen. Man behält so viele Richtungen, wie hohe Balken stehen. In der Demo, mit geraden Zusammenhängen und wenig Rauschen, entspricht diese Zahl den eingebauten Treibern. Ist der Abfall nicht eindeutig, bleibt die Wahl eine Ermessensfrage.

Wann das Verfahren täuscht

Die Demo zeigt vier Fälle, in denen das Verfahren in die Irre führt, jeden mit einem Regler.

  • Unterschiedliche Maßstäbe: Misst man die Distanz in Metern und die Stopps in Stück, hat die Distanz größere Zahlenwerte, und die Gerade richtet sich in der Demo dann fast nur nach ihr. Abhilfe: jede Kennzahl vorher auf einen gemeinsamen Maßstab umrechnen.
  • Sonderfahrten: Einzelne ungewöhnliche Touren ziehen die Gerade zu sich, weil ein Ausreißer überproportional wirkt. Schon ein Zehntel Sonderfahrten dreht sie in der Demo; die Gradzahl steht im Fachteil.
  • Rauschen: Zufällige Schwankungen verwischen den Abfall im Balkendiagramm.
  • Gebogene Zusammenhänge: Eine Gerade passt nur zu Wolken, die gerade verlaufen. Liegen die Touren auf einem Bogen, ähnlich einer Banane, braucht die PCA in der Demo mehr Richtungen, als es Treiber gibt.

Dazu kommt: Die PCA behält, was am meisten streut, und das ist nicht automatisch, was für Ihre Aufgabe wichtig ist.

Wie ernst ist das Modell zu nehmen?

Die Demo arbeitet mit künstlich erzeugten Lieferrouten, deren versteckte Treiber bekannt sind, nicht mit echten Betriebsdaten. Sie zeigt, wie die PCA arbeitet und wo sie versagt, nicht wie sich Ihre Touren verhalten.

Was Sie mitnehmen: Wenn Ihr Planer oder ein Anbieter Kennzahlen zu wenigen Werten verdichtet, fragen Sie zweierlei. Wurden die Kennzahlen vorher auf einen gemeinsamen Maßstab gebracht? Und welcher Anteil der Streuung bleibt in den behaltenen Richtungen erhalten? Die Verdichtung erhält die Unterschiede zwischen den Touren, solange die Zusammenhänge annähernd gerade sind. Ist der Anteil klein, lohnt die Nachfrage, ob die Zusammenhänge gebogen sind oder ob Sonderfahrten und Rauschen das Bild verzerren.

Hinweis: Alle Demos rechnen mit synthetischen oder frei verfügbaren Beispieldaten und laufen auf einem externen Anbieter (Datenschutz). Bitte geben Sie darin keine vertraulichen oder personenbezogenen Daten ein. Die Ergebnisse gelten für die jeweilige Demo-Instanz und lassen sich nicht ungeprüft auf reale Fälle übertragen; für darauf gestützte Entscheidungen übernehme ich keine Gewähr.

Teil 2 · Für Fachleute

Modell und Annahmen

Dieser Teil ist eigenständig lesbar. Er fasst die formale Beschreibung der Demo zusammen; die vollständige Fassung steht im Expander „📐 Mathematische Formulierung“ der Demo.

  • Daten: 12 Kennzahlen je Lieferroute (Distanz, Stopps, Ladegewicht, Zeitfenster-Enge, Verspätung, Überstunden, Fahrzeit je km, Stop-and-go-Anteil, Parkzeit, Retourenquote, Sonderwünsche, Zustellversuche), erzeugt aus \(q\) versteckten Faktoren \(z \sim N(0, I_q)\). Jedes Merkmal lädt auf den Faktor seiner Gruppe (Größe, Zeitdruck, Verkehr, Sonderfälle; bei \(q < 4\) teilen sich mehrere Gruppen einen Faktor) plus kleine Querladungen. Die wahre Dimension \(q\) ist damit bekannt und prüfbar.
  • Schwierigkeitsregler: Krümmung \(\kappa\) fügt \(\kappa\,B\,h(z)\) hinzu (Sinus, Cosinus, Quadrate und Produkte der Faktoren). Rauschen und Sonderfahrten kommen zuletzt hinzu, sodass dieselben Touren mit und ohne Ausreißer vergleichbar sind. Die Matrizen sind fest, nur Touren und Rauschen hängen vom Zufalls-Seed ab.
  • Verfahren: Zentrieren, optional Standardisieren (Streuung 1 je Merkmal, also PCA auf der Korrelationsmatrix), dann Singulärwertzerlegung \(X = U \Sigma V^\top\). Die Zeilen von \(V^\top\) sind die Hauptkomponenten, \(\lambda_i = \sigma_i^2 / (n-1)\); die Vorzeichen sind deterministisch festgelegt (größte Ladung positiv). Die Singulärwertzerlegung ist numerisch stabiler als die Eigenzerlegung der Kovarianzmatrix.
  • Kennzahlen der Auswertung: \(k_{90}\) ist die kleinste Komponentenzahl, deren kumulierte Varianz 90 % erreicht (Schätzung der Dimension). Die Trustworthiness (Venna und Kaski) bewertet eine Projektion über falsche Nachbarn: Wer in der Projektion unter den nächsten Nachbarn steht, im Originalraum aber nicht, wird mit dem Originalrang bestraft; 1 heißt keine falschen Nachbarn.

Die Formeln

Die Zielfunktion: Für zentrierte Daten \(X \in \mathbb{R}^{n \times d}\) wird eine Richtung \(u\) mit \(\lVert u \rVert = 1\) gesucht, die die Varianz der Projektion maximiert.

\[\max_{\lVert u \rVert = 1} \ \frac{1}{n-1} \lVert X u \rVert^2 \;=\; \max_{\lVert u \rVert = 1} \ u^\top C\, u, \qquad C = \frac{1}{n-1} X^\top X\]

Das ist ein Rayleigh-Quotient. Sein Maximum ist der größte Eigenwert \(\lambda_1\) der Kovarianzmatrix \(C\), angenommen beim zugehörigen Eigenvektor, der ersten Hauptkomponente. Die Kurve im ersten Abschnitt der Demo ist \(u(\theta)^\top C\, u(\theta)\): Maximum \(\lambda_1\) bei \(\theta^*\), Minimum \(\lambda_2\) bei \(\theta^* + 90^\circ\). Jede weitere Komponente maximiert dieselbe Größe unter der Nebenbedingung, senkrecht zu den vorigen zu stehen.

Die Rekonstruktion mit den ersten \(k\) Komponenten \(V_k\) ist \(\hat X = X V_k V_k^\top\). Der mittlere quadratische Fehler ist exakt \((n-1)/n\) mal die Summe der verworfenen Eigenwerte:

\[\frac{1}{n} \lVert X - \hat X \rVert_F^2 \;=\; \frac{n-1}{n} \sum_{i > k} \lambda_i\]

Nach dem Satz von Eckart und Young ist das der kleinstmögliche Fehler unter allen Projektionen auf einen \(k\)-dimensionalen linearen Unterraum. Die PCA ist in diesem Sinn optimal, aber nur für lineare Unterräume. Für die Einheiten gilt: Skaliert man ein Merkmal um den Faktor \(c\), wächst seine Varianz um \(c^2\), und die erste Komponente richtet sich nach ihm. Standardisieren macht das Ergebnis einheitenunabhängig.

Befunde

Alle Zahlen stammen aus der README der Demo. Die Werte der Presets gelten für Zufalls-Seed 7 und \(q = 2\). Der Krümmungs-Sweep nutzt feste Seeds ab 100000, unabhängig vom Zufalls-Seed der Demo: 5 Seeds mit je 250 Touren, \(q = 2\), Rauschen 0,25, standardisiert, ohne Ausreißer.

FrageBefund
Was kostet die Krümmung? (Preset, Seed 7)\(k_{90}\) steigt von 2 auf 5. Die ersten 2 Komponenten behalten nur 54 % statt 93 % der Varianz, die Trustworthiness fällt auf 0,86 statt 0,99.
Wie wirkt wachsende Krümmung im Sweep?Von Krümmung 0 auf 1 steigt \(k_{90}\) von 2,0 auf 5,0, der Varianzanteil der ersten zwei Komponenten fällt von 94 % auf 54 %. Die Trustworthiness sinkt (0,99 auf 0,86) erst bei starker Krümmung; \(k_{90}\) und der Varianzanteil reagieren früher.
Was richten Rohdaten in Meter und Kilogramm an? (Preset, Seed 7)Die erste Komponente erklärt 99,98 % der Varianz, davon 99,9 % auf „Distanz [m]“. Standardisiert sind es nur 53 %.
Wie stark ziehen Ausreißer die Achse? (Preset, Seed 7)10 % Sonderfahrten drehen die erste Komponente um etwa 15° gegenüber denselben Touren ohne sie.
Wie verwischt Rauschen den Knick? (Preset, Seed 7)Bei Rauschen 0,6 ist \(k_{90}\) = 8 statt 2.
Stimmt die Umsetzung mit einer Referenz überein?Eigenwerte, Varianzanteile und Komponenten stimmen mit sklearn.decomposition.PCA überein (bis auf das Vorzeichen, mit und ohne Standardisierung). Die Trustworthiness weicht von sklearn.manifold.trustworthiness um weniger als 1e-9 ab. Der Rekonstruktionsfehler entspricht exakt der Formel oben, und kein zufälliger Unterraum schlägt die PCA.

Grenzen

  • Linearität: Gerade Achsen beschreiben eine gebogene Fläche nicht mit wenigen Koordinaten. Das ist die Schwäche, an der weitere Verfahren der Dimensionsreduktion ansetzen; die Demo selbst zeigt sie nur an der PCA.
  • Varianz ist nicht Signal: Die PCA behält, was stark streut, nicht unbedingt, was für eine Aufgabe zählt (etwa Klassentrennung oder Vorhersage).
  • Einheiten und Ausreißer: Beides lässt sich durch Standardisieren bzw. robuste Varianten mildern, aber nicht durch die PCA selbst beheben.
  • Künstliche Daten: Die Kennzahlen stammen aus einem Generator mit bekannter Struktur, nicht aus einem Betrieb. Die Befunde gelten für diese Einstellungen und Zufalls-Seeds; wie sich echte Touren verhalten, zeigt die Demo nicht.
  • Schwelle von 90 %: \(k_{90}\) hängt an dieser gesetzten Schwelle; eine andere Schwelle ergäbe andere Komponentenzahlen.
  • Nicht enthalten: nichtlineare Verfahren, robuste PCA-Varianten und eine Auswahl der Komponenten nach Vorhersagekraft.

Quellen

  • Pearson, K. (1901): On lines and planes of closest fit to systems of points in space. Philosophical Magazine 2(11), 559–572.
  • Hotelling, H. (1933): Analysis of a complex of statistical variables into principal components. Journal of Educational Psychology 24, 417–441 und 498–520.
  • Eckart, C., Young, G. (1936): The approximation of one matrix by another of lower rank. Psychometrika 1(3), 211–218.
  • Venna, J., Kaski, S. (2001): Neighborhood preservation in nonlinear projection methods: An experimental study. ICANN 2001, Lecture Notes in Computer Science 2130, 485–491.
  • Quelltext, Beispiele und Tests der Demo: github.com/sebastian-hanisch/pca-demo.

Die genannten Arbeiten wurden für diese Seite nicht nachgeschlagen; die Angaben stammen aus dem Gedächtnis des Autors und sind nicht gegen die Originale geprüft. Die Namen Eckart und Young sowie Venna und Kaski nennt die Demo selbst. Der Rayleigh-Quotient und die Wirkung der Skalierung sind Standardwissen der linearen Algebra und stehen so im Expander der Demo.