Die meisten Artikel zu Wahrscheinlichkeit und Statistik setzen ein grundlegendes Verständnis von covariance und Korrelation voraus, aber was bedeuten diese Konzepte eigentlich?
Covariance und Korrelation sind zwei unterschiedliche Konzepte in der Statistik und Wahrscheinlichkeitstheorie . Doch was bedeuten sie eigentlich in der Praxis? Und was noch wichtiger ist: Wann verwenden wir sie?
Einfach ausgedrückt: Wir verwenden beide Konzepte, um die Beziehungen zwischen Datenvariablen und -werten zu verstehen. Wir können die Beziehung zwischen Variablen quantifizieren und diese Erkenntnisse dann nutzen, um Variablen für prädiktive Modellierung, Erkenntnisgewinnung oder sogar Storytelling mithilfe von Daten auszuwählen, hinzuzufügen oder zu ändern. Daher sind sowohl Korrelation als auch covariance beim maschinellen Lernen und bei der Datenanalyse von großem Nutzen . Lassen Sie uns eintauchen, um mehr zu erfahren!
Covariance und Korrelation: Was ist der Unterschied?
Vereinfacht ausgedrückt messen sowohl covariance als auch Korrelation die Beziehung und die Abhängigkeit zwischen zwei Variablen. covariance gibt die Richtung der linearen Beziehung zwischen Variablen an, während Korrelation sowohl die Stärke als auch die Richtung der linearen Beziehung zwischen zwei Variablen misst. Korrelation ist eine Funktion der covariance.
Der Unterschied zwischen diesen beiden Konzepten besteht darin, dass Korrelationswerte standardisiert sind, covariancewerte hingegen nicht.
Den Korrelationskoeffizienten zweier Variablen erhält man, indem man die covariance dieser Variablen durch das Produkt der Standardabweichungen derselben Werte dividiert. Was das in der Praxis bedeutet, erfahren Sie weiter unten.
Vergessen Sie nicht, dass die Standardabweichung die absolute Variabilität der Verteilung eines Datensatzes misst. Wenn Sie die covariancewerte durch die Standardabweichung teilen, wird der Wert im Wesentlichen auf einen begrenzten Bereich von -1 bis +1 herunterskaliert. Dies ist genau der Bereich der Korrelationswerte.
So berechnen Sie covariance und Korrelation
Um den Unterschied zwischen covariance und Korrelation vollständig zu verstehen, müssen wir die Begriffe mathematisch definieren.
So berechnen Sie die Covariance
Die covariance zweier Variablen (x und y) kann als cov(x,y) dargestellt werden. Wenn E[x] der erwartete Wert oder Mittelwert einer Stichprobe „x“ ist, kann cov(x,y) folgendermaßen dargestellt werden:
Wie wir im obigen Bild sehen, ist „s²“ oder abgetastete Varianz im Grunde die covariance einer Variablen mit sich selbst. Wir können diesen Begriff auch folgendermaßen definieren:
In der obigen Formel ist der Zähler der Gleichung (A) die Summe der quadrierten Abweichungen. In Gleichung (B) mit zwei Variablen x und y wird er als Summe der Kreuzprodukte bezeichnet. In der obigen Formel ist n die Anzahl der Stichproben im Datensatz. Der Wert (n-1) gibt die Freiheitsgrade an.
Um die Freiheitsgrade zu erklären, sehen wir uns ein Beispiel an. In einem Satz von drei Zahlen ist der Mittelwert 10 und zwei von drei Variablen sind fünf und 15. Das bedeutet, dass es nur eine Möglichkeit für den dritten Wert gibt: 10. Bei jedem Satz von drei Zahlen mit demselben Mittelwert, zum Beispiel 12, acht und 10 oder neun, 10 und 11, gibt es nur einen Wert für zwei beliebige Werte im Satz. Im Wesentlichen können Sie die beiden Werte ändern und der dritte Wert fixiert sich von selbst. Der Freiheitsgrad beträgt hier zwei.
Anders ausgedrückt ist der Freiheitsgrad die Anzahl der unabhängigen Datenpunkte, die in die Berechnung der Schätzung einfließen. Wie wir im obigen Beispiel sehen, ist er nicht unbedingt gleich der Anzahl der Elemente in der Stichprobe (n).
So berechnen Sie die Korrelation
Den Korrelationskoeffizienten (auch bekannt als Pearson-Produkt-Moment-Korrelationskoeffizient oder Pearson-Korrelationskoeffizient) erhalten wir, indem wir die covariance der beiden Variablen durch das Produkt ihrer Standardabweichungen dividieren. Mathematisch sieht das so aus:
Die Werte des Korrelationskoeffizienten können zwischen -1 und +1 liegen. Je näher er bei +1 oder -1 liegt, desto enger sind die beiden Variablen miteinander verbunden. Das positive Vorzeichen gibt die Richtung der Korrelation an (d. h. wenn eine der Variablen zunimmt, nimmt auch die andere Variable zu).
Datenmatrixdarstellung von covariance und Korrelation
Lassen Sie uns etwas tiefer eintauchen und uns die Matrixdarstellung der covariance ansehen.
Für eine Datenmatrix X stellen wir X folgendermaßen dar:
Ein Vektor ‘xj’ würde im Grunde einen (n × 1)-Vektor bedeuten, der aus der j-ten Spalte von X extrahiert wird, wobei j zur Menge (1,2,….,p) gehört. In ähnlicher Weise stellt ‘xi`’ den (1 × p)-Vektor aus der i-ten Zeile von X dar. Hier kann ‘i’ einen Wert aus der Menge (1,2,…,n) annehmen.
Sie können X auch als eine Matrix von Variablen interpretieren, wobei „xij“ die j-te Variable (Spalte) ist, die aus dem i-ten Element (Zeile) gesammelt wurde.
Der Einfachheit halber nennen wir Zeilen Elemente/Themen und Spalten Variablen. Schauen wir uns den Mittelwert einer Spalte der obigen Datenmatrix an:
Mithilfe des obigen Konzepts definieren wir nun den Zeilenmittelwert (also den Durchschnitt der in der angegebenen Zeile vorhandenen Elemente).
Da wir nun über die oben genannten Messwerte verfügen, ist es einfacher, die covariancematrix (S) zu definieren:
In der obigen Matrix sehen wir, dass die Dimension der covariancematrix p × p ist. Dies ist im Grunde eine symmetrische Matrix (d. h. eine quadratische Matrix t gleich ihrer Transponierten [S`]). Die Terme, aus denen die covariancematrix besteht, werden als Varianzen einer gegebenen Variablen bezeichnet, die die Diagonale der Matrix bilden, oder als covariance zweier Variablen, die den restlichen Raum ausfüllen. Die covariance der j-ten Variablen mit der k-ten Variablen ist äquivalent zur covariance der k-ten Variablen mit der j-ten Variablen (d. h. „sjk“ = „skj“).
Wir können die covariancematrix aus der Datenmatrix folgendermaßen erstellen:
Hier ist „Xc“ eine zentrierte Matrix, von der die jeweiligen Spaltenmittelwerte von jedem Element abgezogen werden. Mit dieser als zentraler Komponente ist die covariancematrix „S“ das Produkt der Transponierten von „Xc“ und „Xc“ selbst, das wir dann durch die Anzahl der Elemente oder Zeilen („n“) in der Datenmatrix dividieren.
Bevor wir fortfahren, sollten wir uns noch einmal mit dem Konzept der Stichprobenvarianz oder des s-Quadrats (s²) befassen. Aus diesem Wert können wir die Standardabweichung eines Datensatzes ableiten.
In der Mathematik wird der Wert „s“ als Standardabweichung eines Standarddatensatzes definiert. Er gibt grundsätzlich den Grad der Streuung oder Streuung der Daten um ihren Mittelwert an.
Definieren wir unter Verwendung derselben Datenmatrix und der covariancematrix die Korrelationsmatrix (R):
Wie wir hier sehen, ist die Dimension der Korrelationsmatrix wieder p × p. Wenn wir uns nun die einzelnen Elemente der Korrelationsmatrix ansehen, besteht die Hauptdiagonale aus eins. Dies zeigt an, dass die Korrelation eines Elements mit sich selbst eins oder den höchstmöglichen Wert beträgt. Die anderen Elemente, „rjk“, sind der Korrelationskoeffizient nach Pearson zwischen zwei Werten: „xj“ und „xk“. Wie wir bereits gesehen haben, bezeichnet „xj“ die j-te Spalte der Datenmatrix, X.
Sehen wir uns nun an, wie die Korrelationsmatrix aus der Datenmatrix ermittelt werden kann:
In der obigen Definition nennen wir „Xs“ die skalierte (oder standardisierte) Matrix. Hier sehen wir, dass die Korrelationsmatrix als Produkt der Transponierten der skalierten Matrix mit sich selbst, geteilt durch „n“, definiert ist.
Wenn wir uns die Definition der Standardabweichung oben noch einmal ansehen, wird klar, dass wir jedes Element der standardisierten Matrix „Xs“ durch die Standardabweichung der jeweiligen Spalte teilen (ähnlich wie bei der covariancematrix oben). Dies bekräftigt unser Verständnis, dass die Korrelationsmatrix eine standardisierte (oder skalierte) Ableitung der covariancematrix ist. (Wenn Sie nach komplexeren Arbeits- und Mathematikoperationen suchen, die Sie erkunden können, finden Sie diese online .)
Unterscheidungsmerkmale zwischen covariance und Korrelation
Bei der covariance werden die Einheiten aus dem Produkt der Einheiten der beiden in der Formel enthaltenen Variablen angenommen.
Andererseits ist die Korrelation dimensionslos. Sie ist ein einheitenfreies Maß für die Beziehung zwischen Variablen. Dies liegt daran, dass wir den Wert der covariance durch das Produkt der Standardabweichungen teilen, die dieselben Einheiten haben.
Die Änderung der Skalierung der Variablen beeinflusst den Wert der covariance. Wenn wir alle Werte der gegebenen Variablen mit einer Konstanten und alle Werte einer anderen Variablen mit einer ähnlichen oder anderen Konstanten multiplizieren, ändert sich auch der Wert der covariance. Wenn wir dies jedoch tun, wird der Wert der Korrelation nicht durch die Änderung der Skalierung der Werte beeinflusst.
Ein weiterer Unterschied zwischen covariance und Korrelation ist der Wertebereich, den sie annehmen können. Während Korrelationskoeffizienten zwischen -1 und +1 liegen, kann die covariance jeden Wert zwischen -∞ und +∞ annehmen.
Anwendung von covariance vs. Korrelation in der Analytik
Nachdem wir nun mit der mathematischen Theorie fertig sind, wollen wir untersuchen, wie und wo wir diese Arbeit in der Datenanalyse anwenden können .
Wie viele Analysten wissen, ist die Korrelationsanalyse ein wichtiges Werkzeug für die Merkmalsauswahl und multivariate Analyse bei der Vorverarbeitung und Exploration von Daten. Die Korrelation hilft uns, Beziehungen zwischen Variablen zu untersuchen und herzustellen. Diese Strategie wenden wir bei der Merkmalsauswahl vor jeder Art statistischer Modellierung oder Datenanalyse an.
PCA (Hauptkomponentenanalyse) ist eine wichtige Anwendung für Korrelationen zwischen Variablen. Wir müssen die Beziehungen zwischen den in einem Datensatz enthaltenen Variablen untersuchen, um neue Variablen erstellen zu können, die die Anzahl der ursprünglichen Werte reduzieren können, ohne die darin enthaltenen Informationen zu beeinträchtigen. Die neuen Variablen, auch Hauptkomponenten genannt, werden auf der Grundlage von Korrelationen zwischen den vorhandenen ursprünglichen Variablen gebildet. Wie entscheiden wir also, was wir verwenden: die Korrelationsmatrix oder die covariancematrix? Einfach ausgedrückt sollten Sie die covariancematrix verwenden, wenn die Variablen auf ähnlichen Skalen liegen, und die Korrelationsmatrix, wenn die Skalen der Variablen unterschiedlich sind.
Schauen wir uns nun einige Beispiele an. Um Ihnen bei der Implementierung zu helfen, werde ich Beispiele sowohl in R als auch in Python behandeln .
Sehen wir uns zunächst an, wie sich die PCA-Ergebnisse unterscheiden, wenn sie mit der Korrelationsmatrix oder mit der covariancematrix berechnet werden.
Als erstes Beispiel betrachten wir hier den Datensatz „mtcars“ in R.
Wir sehen, dass alle Spalten numerisch sind und können daher mit der Analyse fortfahren. Wir verwenden die Funktion prcomp() aus dem Paket „stats“, um die PCA durchzuführen.
PCA mit covariancematrix
Zunächst führen wir die PCA mit der covariancematrix durch . Dazu setzen wir die Option scale auf false:
Hier ist cars.PC.cov das Ergebnis der Hauptkomponentenanalyse des mtcars-Datensatzes unter Verwendung der covariancematrix. Daher gibt prcomp() fünf Schlüsselmaße zurück: sdev, Rotation, Mitte, Skalierung und x.
Lassen Sie uns hier alle Maßnahmen kurz durchgehen:
- Mittelpunkt und Skala geben den jeweiligen Mittelwert und die Standardabweichung der Variablen an, die wir vor der Implementierung der PCA zur Normalisierung verwendet haben.
- sdev zeigt die Standardabweichung der Hauptkomponenten. Mit anderen Worten zeigt sdev die Quadratwurzeln der Eigenwerte.
- Die Rotationsmatrix enthält die Hauptkomponentenladung. Dies ist das wichtigste Ergebnis der Funktion. Jede Spalte der Rotationsmatrix enthält den Hauptkomponentenladungsvektor. Wir können die Komponentenladung als Korrelation einer bestimmten Variablen mit der jeweiligen PC (Hauptkomponente) darstellen. Sie kann sowohl positiv als auch negativ sein. Je höher der Ladungswert, desto höher die Korrelation. Mit den Informationen zur Komponentenladung können Sie die Schlüsselvariable der PC leicht interpretieren.
- Matrix x hat die Hauptkomponenten-Score-Vektoren.
Wenn Sie sich die Funktion „prcomp“ ansehen, werden Sie feststellen, dass das Argument „scale“ hier auf „false“ gesetzt ist, wie wir es in den Eingabeargumenten angegeben haben.
Schauen wir uns nun die Ladevektoren der Hauptkomponenten an:
Um uns die Interpretation dessen, was wir hier sehen, zu erleichtern, stellen wir diese Ergebnisse grafisch dar.
Um dieses Diagramm zu lesen, schauen Sie auf die äußersten Enden (oben, unten, links und rechts). Die erste Hauptkomponente (links und rechts) entspricht dem Maß von „disp“ und „hp“. Die zweite Hauptkomponente (PC2) scheint kein starkes Maß zu haben.
Wir können diese Analyse mit einer Zusammenfassung der PCA mit der covariancematrix abschließen :
Aus dieser Tabelle geht hervor, dass PC1 den größten Beitrag zur verursachten Variation leistete (~92,7 %). Alle anderen Hauptkomponenten weisen einen zunehmend geringeren Beitrag auf.
Einfacher ausgedrückt bedeutet dies, dass wir fast 93 Prozent der Varianz im Datensatz mithilfe der ersten Hauptkomponente mit den Maßen „disp“ und „hp“ erklären können. Dies steht im Einklang mit unseren Beobachtungen aus der Rotationsmatrix und dem obigen Diagramm. Daher können wir aus der PCA auf der Grundlage der covariancematrix nicht viele wichtige Erkenntnisse ziehen.
PCA mit Korrelationsmatrix
Konzentrieren wir uns nun auf die PCA mit der Korrelationsmatrix . Dazu müssen wir lediglich das Skalierungsargument auf „true“ setzen.
Wenn wir für alle oben genannten Maße dieselben Definitionen verwenden, sehen wir nun, dass das Skalenmaß Werte hat, die jeder Variable entsprechen. Wir können die Rotationsmatrix auf ähnliche Weise zusammen mit dem Diagramm beobachten chatgpt.
Dieses Diagramm sieht informativer aus. Es besagt, dass Variablen wie „disp“, „cyl“, „hp“, „wt“, „mpg“, „drat“ und „vs“ erheblich zu PC1 (erste Hauptkomponente) beitragen. „qsec“, „gear“ und „am“ tragen hingegen erheblich zu PC2 bei. Sehen wir uns die Zusammenfassung dieser Analyse an.
Eine signifikante Änderung, die wir sehen, ist der Rückgang des Beitrags von PC1 zur Gesamtvariation. Er sank von 92,7 Prozent auf 63,5 Prozent. Der Beitrag von PC2 hingegen stieg von 7 Prozent auf 22 Prozent. Darüber hinaus zeigen die Komponentenladewerte, dass die Beziehung zwischen den Variablen im Datensatz viel strukturierter und verteilter ist. Wir können einen weiteren signifikanten Unterschied erkennen, wenn Sie sich die Standardabweichungswerte in beiden obigen Ergebnissen ansehen. Die Werte der PCA bei Verwendung der Korrelationsmatrix liegen näher beieinander und sind einheitlicher als bei der Analyse mit der covariancematrix.
Die Analyse mit der Korrelationsmatrix deckt definitiv eine bessere Struktur in den Daten und Beziehungen zwischen Variablen auf. Anhand des obigen Beispiels können wir schlussfolgern, dass die Ergebnisse erheblich abweichen, wenn man versucht, Variablenbeziehungen mithilfe von covariance vs. Korrelation zu definieren. Dies wiederum wirkt sich auf die Bedeutung der Variablen aus, die wir für weitere Analysen berechnen. Die Auswahl von Prädiktoren und unabhängigen Variablen ist eine wichtige Anwendung solcher Übungen.
Schauen wir uns nun ein weiteres Beispiel an, um zu prüfen, ob die Standardisierung des Datensatzes vor der Durchführung der PCA tatsächlich dieselben Ergebnisse liefert. Um die Flexibilität der Implementierung über verschiedene Technologien hinweg zu demonstrieren, führe ich dieses Beispiel in Python aus. Wir betrachten den Datensatz „Iris“ .
Jetzt standardisieren wir den Datensatz mit der integrierten Funktion .
Ich habe jetzt drei Matrizen berechnet:
- covariancematrix auf standardisierten Daten
- Korrelationsmatrix für standardisierte Daten
- Korrelationsmatrix für nicht standardisierte Daten
Schauen wir uns die Ergebnisse an:
Hier scheinen die Ergebnisse ähnlich zu sein.
Die Ähnlichkeiten (fraktionelle Unterschiede) untermauern unser Verständnis, dass die Korrelationsmatrix nur eine skalierte Ableitung der covariancematrix ist. Jede Berechnung dieser Matrizen sollte nun dieselben oder ähnliche Ergebnisse liefern.
Um eine PCA auf diesen Matrizen von Grund auf durchzuführen, müssen wir die Eigenvektoren und Eigenwerte berechnen:
Wie erwartet sind die Ergebnisse aus allen drei Beziehungsmatrizen gleich. Wir werden nun die erklärten Varianzdiagramme aus den erhaltenen Eigenwerten zeichnen:
Die Diagramme ähneln einander. Beide Diagramme zeigen, dass PC1 den größten Beitrag von etwa 71 Prozent hat. Diese Analyse belegt, dass die Standardisierung des Datensatzes und die anschließende Berechnung der covariance- und Korrelationsmatrizen dieselben Ergebnisse liefern.
Wir können diese Strategien nutzen, um das Konzept der Variablenbeziehungen umsichtig anzuwenden, bevor wir einen Vorhersagealgorithmus verwenden.