Vztah mezi korelační a kovarianční maticí
Dříve v kurzu jsi používal/a .cov() k získání kovarianční matice a .corr() k získání korelační matice. Tyto dvě metody se snadno pletou a při simulacích je lze použít nesprávně. Pojďme si to ujasnit!
Korelační matice je standardizovaná kovarianční matice, kde korelační koeficienty nabývají hodnot od 0 do 1.
\(cov(x,y) = corr(x,y) \times std(x) \times std(y)\)
Výše uvedený vzorec říká, že \(cov(x,y)\), tedy hodnota kovariance, se vypočítá vynásobením korelačního koeficientu \(corr(x,y)\) směrodatnou odchylkou \(x\), \(std(x)\), a směrodatnou odchylkou \(y\), \(std(y)\). V tomto cvičení si tento vztah vyzkoušíš v praxi!
Dataset diabetes je načten jako DataFrame dia a jsou pro tebe naimportovány pandas jako pd a numpy jako np.
Toto cvičení je součástí kurzu
Monte Carlo simulace v Pythonu
Pokyny k cvičení
- Vypočítej kovarianční matici
dia[["bmi", "tc"]]a ulož ji jakocov_dia2. - Vypočítej korelační matici
dia[["bmi", "tc"]]a ulož ji jakocorr_dia2.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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]}')