De relatie tussen correlatie- en covariantiematrices
Eerder in de cursus heb je .cov() gebruikt om de covariantiematrix te krijgen en .corr() voor de correlatiematrix. Die twee worden makkelijk door elkaar gehaald en verkeerd gebruikt in simulaties. Laten we dit verduidelijken!
Een correlatiematrix is een gestandaardiseerde covariantiematrix, waarbij de correlatiecoëfficiënten in de correlatiematrix waarden tussen 0 en 1 aannemen.
\(cov(x,y) = corr(x,y) \times std(x) \times std(y)\)
De vergelijking hierboven laat zien dat \(cov(x,y)\), de covariantie, kan worden berekend door de correlatiecoëfficiënt \(corr(x,y)\) te vermenigvuldigen met de standaarddeviatie van \(x\), \(std(x)\), en de standaarddeviatie van \(y\), \(std(y)\). In deze oefening ga je deze relatie uitproberen!
De diabetesgegevensset is ingeladen als DataFrame dia, en zowel pandas als pd en numpy als np zijn voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Monte Carlo-simulaties in Python
Oefeninstructies
- Bereken de covariantiematrix van
dia[["bmi", "tc"]]en sla deze op alscov_dia2. - Bereken de correlatiematrix van
dia[["bmi", "tc"]]en sla deze op alscorr_dia2.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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]}')