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