计算Pearson 相关系数的几种方式
两个变量间Pearson 相关系数计算如下:
方式一 调用numpy的corrcoef
import numpy as np
pair = [[7, 8, 9], [7.1, 8.4, 8.9]]
# x: Each row of `x` represents a variable, and each column a single observation of all those variables
res = np.corrcoef(x=pair)
print('res: {}'.format(res))
方式二 调用scipy的pearsonr
from scipy.stats import pearsonr
res2 = pearsonr(x=[7, 8, 9], y=[7.1, 8.4, 8.9])[0]
print('res2: {}'.format(res2))
方式三 调用pandas的corr
pair = np.array([[7, 8, 9], [7.1, 8.4, 8.9]])
# each column represents a variable
cc_pd = pd.DataFrame(pair.T, columns=['c1', 'c2'])
res3 = cc_pd.corr(method='pearson')
print('res3: {}'.format(res3))
Output:
可以看到这三种方式求得的变量间的PCC值是一致的, 只不过方式一
和方式三
是以PCC矩阵的形式呈现的。
相关资源
1.statsmodel包官方主页,https://www.statsmodels.org/stable/graphics.html