So erstellen Sie eine Kovarianzmatrix in Python

Von Fabian
Kategorie: Python
Lesezeit: 3 Minuten

Die Kovarianz ist ein Maß dafür, wie Änderungen in einer Variablen mit Änderungen in einer zweiten Variablen verbunden sind. Insbesondere ist dies ein Maß für den Grad, in dem zwei Variablen linear miteinander verbunden sind.

Eine Kovarianzmatrix ist eine quadratische Matrix, die die Kovarianz zwischen vielen verschiedenen Variablen zeigt. Dies kann eine nützliche Methode sein, um zu verstehen, wie verschiedene Variablen in einem Dataset zusammenhängen.

Das folgende Beispiel zeigt, wie Sie eine Kovarianzmatrix in Python erstellen.

So erstellen Sie eine Kovarianzmatrix in Python

Führen Sie die folgenden Schritte aus, um eine Kovarianzmatrix in Python zu erstellen.

Schritt 1: Erstellen Sie den Datensatz.

Zunächst erstellen wir einen Datensatz, der die Testergebnisse von 10 verschiedenen Schülern für drei Fächer enthält: Mathematik, Naturwissenschaften und Geschichte.

import numpy as np

math = [84, 82, 81, 89, 73, 94, 92, 70, 88, 95]
science = [85, 82, 72, 77, 75, 89, 95, 84, 77, 94]
history = [97, 94, 93, 95, 88, 82, 78, 84, 69, 78]

data = np.array([math, science, history])

Schritt 2: Erstellen Sie die Kovarianzmatrix.

Als Nächstes erstellen wir die Kovarianzmatrix für diesen Datensatz mithilfe der Numpy-Funktion cov() und geben an, dass Bias=True, damit wir die Populationskovarianzmatrix berechnen können.

np.cov(data, bias=True)
array([[ 64.96,  33.2 , -24.44],
       [ 33.2 ,  56.4 , -24.1 ],
       [-24.44, -24.1 ,  75.56]])

Schritt 3: Interpretieren Sie die Kovarianzmatrix.

Die Werte entlang der Diagonalen der Matrix sind einfach die Varianzen jedes Subjekts. Beispielsweise:

  • Die Varianz der mathematischen Ergebnisse beträgt 64,96
  • Die Varianz der wissenschaftlichen Ergebnisse beträgt 56,4
  • Die Varianz der Verlaufswerte beträgt 75,56

Die anderen Werte in der Matrix repräsentieren die Kovarianzen zwischen den verschiedenen Subjekten. Beispielsweise:

  • Die Kovarianz zwischen den Ergebnissen für Mathematik und Naturwissenschaften beträgt 33,2
  • Die Kovarianz zwischen den Ergebnissen für Mathematik und Geschichte beträgt -24,44
  • Die Kovarianz zwischen den Ergebnissen für Wissenschaft und Geschichte beträgt -24,1

Eine positive Zahl für die Kovarianz zeigt an, dass zwei Variablen dazu neigen, im Tandem zuzunehmen oder abzunehmen. Beispielsweise weisen Mathematik und Naturwissenschaften eine positive Kovarianz auf (33,2), was darauf hinweist, dass Schüler, die in Mathematik hohe Punktzahlen erzielen, auch in Naturwissenschaften tendenziell hohe Punktzahlen erzielen. Umgekehrt tendieren Schüler, die in Mathematik schlecht abschneiden, auch dazu, in Naturwissenschaften schlecht abzuschneiden.

Eine negative Zahl für die Kovarianz zeigt an, dass eine zweite Variable mit zunehmender einer Variablen tendenziell abnimmt. Zum Beispiel haben Mathematik und Geschichte eine negative Kovarianz (-24,44), was darauf hinweist, dass Schüler, die in Mathematik eine hohe Punktzahl erzielen, in der Geschichte tendenziell eine niedrige Punktzahl erzielen. Umgekehrt neigen Schüler, die in Mathe schlecht abschneiden, dazu, in der Geschichte hoch zu punkten.

Schritt 4: Visualisieren Sie die Kovarianzmatrix (optional).

Sie können die Kovarianzmatrix mithilfe der Funktion heatmap() aus dem Seaborn-Paket visualisieren:

import seaborn as sns
import matplotlib.pyplot as plt

cov = np.cov(data, bias=True)
labs = ['math', 'science', 'history']

sns.heatmap(cov, annot=True, fmt='g', xticklabels=labs, yticklabels=labs)
plt.show()

Kovarianzmatrix in Python

Sie können die Farbkarte auch ändern, indem Sie das cmap Argument angeben:

sns.heatmap(cov, annot=True, fmt='g', xticklabels=labs, yticklabels=labs, cmap='YlGnBu')
plt.show()

Kovarianzmatrix in Python

Weitere Informationen zum Stylen dieser Heatmap finden Sie in der Dokumentation zu Seaborn.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: