Zacznij terazZacznij za darmo

Związek między macierzą korelacji a macierzą kowariancji

Wcześniej w kursie korzystałeś z .cov() do wyznaczania macierzy kowariancji oraz z .corr() do wyznaczania macierzy korelacji. Łatwo je ze sobą pomylić i błędnie zastosować w symulacjach. Wyjaśnijmy to!

Macierz korelacji to ustandaryzowana macierz kowariancji, w której współczynniki korelacji przyjmują wartości od 0 do 1.

\(cov(x,y) = corr(x,y) \times std(x) \times std(y)\)

Powyższe równanie mówi, że \(cov(x,y)\), czyli wartość kowariancji, można obliczyć jako iloczyn współczynnika korelacji \(corr(x,y)\), odchylenia standardowego \(x\), czyli \(std(x)\), oraz odchylenia standardowego \(y\), czyli \(std(y)\). W tym ćwiczeniu sprawdzisz tę zależność w praktyce!

Zbiór danych dotyczący cukrzycy został wczytany jako DataFrame dia, a biblioteki pandas jako pd i numpy jako np są już zaimportowane.

To ćwiczenie jest częścią kursu

Symulacje Monte Carlo w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Oblicz macierz kowariancji dla dia[["bmi", "tc"]] i zapisz wynik jako cov_dia2.
  • Oblicz macierz korelacji dla dia[["bmi", "tc"]] i zapisz wynik jako corr_dia2.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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]}')
Edytuj i uruchom kod