Python三种方法计算皮尔逊相关系数(Pearson correlation coefficient)

文章目录

  • 0 皮尔逊系数
    • 1 python计算方法
    • 1.1 根据公式手写
    • 1.2 numpy的函数
    • 1.3 scipy.stats中的函数

0 皮尔逊系数

 在统计学中,皮尔逊相关系数( Pearson correlation coefficient),又称皮尔逊积矩相关系数(Pearson product-moment correlation coefficient,简称 PPMCC或PCCs)。用于衡量两个变量X和Y之间的线性相关相关关系,值域在-1与1之间。
Python三种方法计算皮尔逊相关系数(Pearson correlation coefficient)_第1张图片

1 python计算方法

笔者发现了三种方式,用户可根据自身需求进行使用或者比对:

1.1 根据公式手写

def cal_pccs(x, y, n):
    """
    warning: data format must be narray
    :param x: Variable 1
    :param y: The variable 2
    :param n: The number of elements in x
    :return: pccs
    """
    sum_xy = np.sum(np.sum(x*y))
    sum_x = np.sum(np.sum(x))
    sum_y = np.sum(np.sum(y))
    sum_x2 = np.sum(np.sum(x*x))
    sum_y2 = np.sum(np.sum(y*y))
    pcc = (n*sum_xy-sum_x*sum_y)/np.sqrt((n*sum_x2-sum_x*sum_x)*(n*sum_y2-sum_y*sum_y))
    return pcc

1.2 numpy的函数

pccs = np.corrcoef(x, y)

1.3 scipy.stats中的函数

from scipy.stats import pearsonr
pccs = pearsonr(x, y)

你可能感兴趣的:(程序人生,Python)