La relación entre las matrices de correlación y covarianza
Anteriormente en el curso, utilizaste .cov()
para obtener la matriz de covarianzas y .corr()
para obtener la matriz de correlaciones. Es fácil confundirlos entre sí y utilizarlos erróneamente en las simulaciones. ¡Aclaremos las cosas!
Una matriz de correlaciones es una matriz de covarianzas estandarizada, donde los coeficientes de correlación de la matriz de correlaciones contienen valores de 0 a 1.
\(cov(x,y) = corr(x,y) \times std(x) \times std(y)\)
La ecuación anterior nos dice que \(cov(x,y)\), the covariance value, can be calculated by multiplying the correlation coefficient \(corr(x,y)\) con la desviación típica de \(x\), \(std(x)\), y la desviación típica de \(y\), \(std(y)\). En este ejercicio pondrás a prueba esta relación.
El conjunto de datos de la diabetes se ha cargado como un DataFrame, dia
, y se han importado para ti tanto pandas
como pd
y numpy
como np
.
Este ejercicio forma parte del curso
Simulaciones Montecarlo en Python
Instrucciones del ejercicio
- Calcula la matriz de covarianzas de
dia[["bmi", "tc"]]
, guardándola comocov_dia2
. - Calcula la matriz de correlaciones de
dia[["bmi", "tc"]]
, guardándola comocorr_dia2
.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# 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]}')