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

  统计/机器学习 描述性统计 Python    浏览次数: 11096
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的对称矩阵,矩阵元素就是相关系数。


SofaSofa数据科学社区 DS面经 问答 实战

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



SofaSofa数据科学社区 DS面经 问答 实战

高代兄   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


SofaSofa数据科学社区 DS面经 问答 实战

MangoCoke   2018-04-01 21:47



  相关主题

相关中的效率指啥??   1回答

对两个相关系数做显著性的假设检验?   1回答

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

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

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

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

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

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

为什么说皮尔逊相关系数是刻画了线性相关性?   2回答

关于Python中 theano的相关问题   1回答

如何生成两个相关的标准正态随机变量   2回答

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



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

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

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

我们谢绝答非所问。

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

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