python 相关系数矩阵_用numpy计算Pearson相关系数

本文介绍了如何利用numpy库计算Pearson相关系数,该系数用于衡量两个变量之间的线性相关性。通过numpy的corrcoef函数可以方便地得到相关系数矩阵。需要注意的是,积差相关系数适用于线性相关且要求变量服从双变量正态分布,极端值可能会影响结果的准确性。
摘要由CSDN通过智能技术生成

Pearson相关系数,有些地址直接就说是 correlation coefficient,是用来判断两个变量线性相关程度的一个统计指标。计算公式如下:

ce8bcb48005dd2363779103035fdb9d2.pngPearson相关系数

cov(x,y)表示x和y的协方差。sigma_x和sigma_y分别是x和y的标准差。

numpy.corrcoef函数,对应pearson相关系数的计算,计算结果也是一个对称矩阵。

>>> ab = np.random.randn(2,10)

>>> ab

array([[-0.80352118, -0.53166139, 0.05714376, 0.33560234, -0.14251525,

0.39068488, 1.13244498, -0.05797731, -1.50913616, 1.53437352],

[ 0.68384754, -1.72543842, 0.23212496, -0.47594436, -0.98935316,

0.42252572, -0.51605912, 0.72565695, -0.47538229, 2.02889833]])

>>> np.corrcoef(ab)

array([[1. , 0.44232878],

[0.44232878, 1. ]])

>>> np.corrcoef(ab[0,:],ab[1,:])

array([[1. , 0.44232878],

[0.44232878, 1. ]])

跟np.cov一样,np.corrcoef也是默认用row来定位数据。

下面是摘自网络的一段关于此相关系统使用的一些介绍:

积差相关系数的适用条件: 在相关分析中首先要考虑的问题就是两个变量是否可能存在相关关系,如果得到了肯定的结论,那才有必要进行下一步定量的分析。

另外还必须注意以下几个问题:

1、 积差相关系数适用于线性相关的情形,对于曲线相关等更为复杂的情形,积差相关系数的大小并不能代表相关性的强弱。

2、 样本中存在的极端值对Pearson积差相关系数的影响极大,因此要慎重考虑和处理,必要时可以对其进行剔出,或者加以变量变换,以避免因为一两个数值导致出现错误的结论。

3、 Pearson积差相关系数要求相应的变量呈双变量正态分布,注意双变量正态分布并非简单的要求x变量和y变量各自服从正态分布,而是要求服从一个联合的双变量正态分布。

以上几条要求中,前两者的要求最严,第三条比较宽松,违反时系数的结果也是比较稳健的。

-- EOF --

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值