Связь между матрицами корреляции и ковариации
Ранее в курсе вы использовали .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)\). Проверим эту зависимость на практике!
Набор данных о диабете загружен как DataFrame dia, а библиотеки pandas и numpy импортированы под псевдонимами pd и 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]}')