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

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

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

 

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



   3个回答 
9

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

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

>>>import numpy as np

>>>np.corrcoef([a,b,c,d])

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


KingBug   2017-03-07 10:14

5


> 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值。



高代兄   2017-03-06 23:03

1

如果数据在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


MangoCoke   2018-04-01 21:47



  相关主题

如何用python计算均值的置信区间?   1回答

用python计算协方差   1回答

python里求加权标准差或者加权方差的函数是什么?   1回答

python里计算百分位数   2回答

python中百分位数的逆运算   1回答

标准误和标准差有什么区别?   1回答

为什么样本方差是除以n-1   4回答

Median Absolute Deviation的定义是什么?   1回答

有序分类变量的相关系数   2回答

估计标准差的标准差?   1回答

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

统计里的IQR是什么意思?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!