Python计算两个数组的相关系数

  统计/机器学习 描述性统计 Python    浏览次数:38402        分享
3

我现在是自己写的小函数来计算相关系数的。Python里有没有现成的函数能够计算两个数组的相关系数的?

 

我是老王   2017-02-27 13:01



   3个回答 
10

还有一种是numpy.corrcoef。这个可以可以求多个数组的相关系数。

比如要求a,b,c,d两两之间的相关系数。 

import numpy as np
np.corrcoef([a,b,c,d])

得到一个4乘4的对称矩阵,矩阵元素就是相关系数。

SofaSofa数据科学社区DS面试题库 DS面经

KingBug   2017-03-07 10:14

6


>>> import scipy.stats as stats
>>> a = [1.2, 1.5, 1.9]; b = [2.2, 2.5, 3.1]
>>> stats.pearsonr(a,b)
(0.99419162560192009, 0.068648785502029797)

返回的第一个数0.99419就是a和b的相关系数。第二个数0.0686是以a和b不同为零假设下的p值。

SofaSofa数据科学社区DS面试题库 DS面经

高代兄   2017-03-06 23:03

2

如果数据在pandas的DataFrame里的话,可以直接调用df.corr(),这个应该是最方便的了

>>> import pandas as pd
>>> df = pd.DataFrame()
>>> df['a'] = [1, 3, 2, 4]
>>> df['b'] = [1, 2, 3, 5]
>>> df.corr()
         a	            b
a	1.000000	    0.831522
b	0.831522	    1.000000
SofaSofa数据科学社区DS面试题库 DS面经

MangoCoke   2018-04-01 21:47



  相关讨论

有序分类变量的相关系数

相关系数中的效率指啥?

一个连续变量和一个二元变量的相关系数怎么求?

如果x是等级变量, y是连续变量 相关分析是不是用speaman

回归中自变量和因变量的相关系数和回归系数(斜率)有什么关系?

为啥计算pearson相关系数和线性回归的coef不同呢

两个变量不相关但是也不独立

相关系数的p值是怎么算的?

序列的autocorrelation(自相关系数)的计算公式

如何对两个名义分类变量的关联性进行可视化展示?

  随便看看

回归中自变量和因变量的相关系数和回归系数(斜率)有什么关系?

为什么梯度的反方向是函数下降最快的方向?

统计里的IQR是什么意思?

T检验的effect size是什么?有什么含义吗?

怎么让DataFrame按照某一列绝对值从小到按排列?