开始使用免费开始使用

相关系数矩阵与协方差矩阵之间的关系

在本课程前面,您使用过 .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 已以 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]}')
编辑并运行代码