Зв'язок між матрицями кореляції та коваріації
Раніше в курсі ви використовували .cov() для отримання матриці коваріації та .corr() для матриці кореляції. Їх легко сплутати й некоректно застосувати в симуляціях. Давайте прояснимо!
Матриця кореляції — це стандартизована матриця коваріації, де коефіцієнти кореляції мають значення від 0 до 1.
\(cov(x,y) = corr(x,y) \times std(x) \times std(y)\)
Рівняння вище показує, що \(cov(x,y)\), значення коваріації, можна обчислити як добуток коефіцієнта кореляції \(corr(x,y)\) на стандартне відхилення \(x\), \(std(x)\), і стандартне відхилення \(y\), \(std(y)\). Ви перевірите цей зв'язок у цій вправі!
Набір даних про діабет завантажено як датафрейм dia, а бібліотеки pandas як pd і numpy як np уже імпортовано для вас.
Ця вправа є частиною курсу
Моделювання Монте-Карло в Python
Інструкції до вправи
- Обчисліть матрицю коваріації для
dia[["bmi", "tc"]]і збережіть її якcov_dia2. - Обчисліть матрицю кореляції для
dia[["bmi", "tc"]]і збережіть її якcorr_dia2.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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]}')