python计算协方差矩阵_协方差矩阵、相关系数矩阵的EXCEL和python实现

原标题:协方差矩阵、相关系数矩阵的EXCEL和python实现

04fe8c3cc46a489aabc87e370a840770.jpeg

17ab4e4ec63d4c848d13918e9a010c0f.jpeg

CPDA广州19期学员

现任职务:数据分析师

史金乐

优秀学员原创文章

4b3ebe71689442179e2cf62e44f503d1.gif

要计算相关系数矩阵,那就不得不提协方差矩阵。在《概率论与数据统计》中协方差矩阵的定义具体如下:

11e37fe46fe04f7299844f58dd006ac1.png

按照协方差矩阵中各元素cij的计算过程,我们可以得知要依次计算E(Xi),X - E(Xi),cij。

在得到协方差矩阵之后,可以根据相关系数公式:(其中D(X)为矩阵X的方差)

9b479da4ef0e45d38965b475bc35b050.png

可以得出相关系数矩阵,具体如下:

198f482cfcb1460a8f00d5961807a351.jpeg

所以综上所述,要求相关系数矩阵,那么首先要求得协方差矩阵。接下来,就用Excel和python来分别求得协方差矩阵和相关系数矩阵。

Excel

原始数据如下:(取10组数据,X1、X2、X3为数据的特征)

57ffdf575ee347bbb0c730c6ecaa0898.png

接下来,打开Excel中的“数据”-“数据分析”(“数据分析”是Excel的加载项,添加方式是“文件”-“选项”-“加载项”-“Excel加载项”-转到-“分析工具库”-确定),然后选择协方差。

433bd63d97ac4961a3e79d0873ece03d.jpeg

输入区域选择X1-X3的区域,分组方式选择“逐列”,将“标志位于第一行”前面的钩子点上,输入区域选择本工作表的G1单元格,然后点击确定。

a09af7a972ab4a0887f066da0cf51304.jpeg

然后即可得出协方差矩阵。具体如下:

3625676a216347399749356b681997f5.png

在选择数据分析时,选择“相关系数”,然后同样的操作流程,即可得到相关系数矩阵。具体如下:

bf5e8dfe924642ea99bfd0e993186bfc.png

Excel中的实现比较简单,接下来就用python来计算相关系数矩阵和协方差矩阵。

python

首先整理下思路:

1、加载数据;

2、读取数据到Dataframe中;

3、整理需要计算的数据到新的Dataframe中,准备应用于下一步计算;

4、用Dataframe的cov方法来求协方差矩阵,用corr方法来求相关系数矩阵。

编写代码,并运行后得到如下结果:

bed4d072a4684fc0ac554317158bee9f.png

细心的同学可以发现,协方差矩阵(上面的矩阵)得出的结果是和Excel里面计算的结果有所不同。原因是因为Dataframe中求协方差矩阵时候是进行了标准化处理,具体可查阅方法的文档说明:

ad8613e9321043038acd5895a243ffbb.png

那如何可以得到和Excel里面计算的结果一样呢?

那就要把这10组数据当作是样本总体,使用numpy.cov(bias=True)方法来求即可。整体代码如下:

ab5c8c42c9964af2b2bb0a6e043e536c.jpeg

整体运行得到的结果如下:

6e809f727dc8449dbd3f9f36bb2ff783.png

其实不管是Excel还是python,求协方差矩阵和相关系数矩阵都很简单,但是要理解二者的计算过程,自己手动计算一遍求解过程还是很有必要的,下面是我自己在Excel里面的计算过程,贴出来供给大家参考。

fe3e6af7a23e446e9e3cd132f362098b.jpeg

总体上来讲,协方差矩阵和相关系数矩阵是数据分析中的基础知识点,计算过程和实现方法都是比较简单的。打好基础才能更深入的学习后续知识~

福利到 CPDA全国线上沙龙活动

将于5月15日晚7点如期举办!

扫码进群即可免费参加

责任编辑:

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值