Der Zusammenhang zwischen Korrelations- und Kovarianzmatrizen
Früher im Kurs hast du .cov() verwendet, um die Kovarianzmatrix zu erhalten, und .corr(), um die Korrelationsmatrix zu erhalten. Die beiden werden leicht miteinander verwechselt und dann in Simulationen falsch genutzt. Klären wir das!
Eine Korrelationsmatrix ist eine standardisierte Kovarianzmatrix, wobei die Korrelationskoeffizienten in der Korrelationsmatrix Werte zwischen 0 und 1 enthalten.
\(cov(x,y) = corr(x,y) \times std(x) \times std(y)\)
Die obige Gleichung sagt uns, dass \(cov(x,y)\), der Kovarianzwert, berechnet werden kann, indem man den Korrelationskoeffizienten \(corr(x,y)\) mit der Standardabweichung von \(x\), \(std(x)\), und der Standardabweichung von \(y\), \(std(y)\), multipliziert. Diese Beziehung testest du in dieser Übung!
Der Diabetes-Datensatz wurde als DataFrame dia geladen, und sowohl pandas als pd als auch numpy als np wurden für dich importiert.
Diese Übung ist Teil des Kurses
<Kurs>Monte-Carlo-Simulationen in Python</Kurs>Übungsanweisungen
- Berechne die Kovarianzmatrix von
dia[["bmi", "tc"]]und speichere sie alscov_dia2. - Berechne die Korrelationsmatrix von
dia[["bmi", "tc"]]und speichere sie alscorr_dia2.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Calculate the covariance matrix of bmi and tc
cov_dia2 = ____
# Calculate the correlation matrix of bmi and tc
corr_dia2 = ____
std_dia2 = dia[["bmi","tc"]].std()
print(f'Covariance of bmi and tc from covariance matrix :{cov_dia2.iloc[0,1]}')
print(f'Covariance of bmi and tc from correlation matrix :{corr_dia2.iloc[0,1] * std_dia2[0] * std_dia2[1]}')