相关性分析`correlation`

作者@ weanl
创建于 2018-12-13T14:20:00

1. Pearson correlation coefficient & p-value

1.1 理论分析:

  Pearson Correlation Coefficient, PCC 被称作线性相关系数,可以衡量两个服从正态分布的随机变量 和 的线性相关性。其实就是统计学中的相关系数
给出协方差的计算公式:


其中 称为分布的均值。实际上 和 相互独立(),则 ,所以 ,反之并不成立。

给出 PCC 的计算公式:

其中 称为分布的方差。

在随机变量观测为时,PCC 的估计计算公式:

(式1-3 可以做其他的变形,另外这里分布方差的估计选的是有偏估计) (根据Cauchy–Schwarz inequality可知值域为) (如果数据进行了中心化处理,即,PCC与余弦相似度"等价")

  1.2 应用总结:

  1.3 附加:
{ scipy 源码:scipy.stats.pearsonr }

def pearsonr(x, y):
   # x and y should have same length.
    x = np.asarray(x)
    y = np.asarray(y)
    n = len(x)
    mx = x.mean()
    my = y.mean()
    xm, ym = x-mx, y-my
    r_num = np.add.reduce(xm * ym)
    r_den = np.sqrt(ss(xm) * ss(ym))
    r = r_num / r_den

    # Presumably, if abs(r) > 1, then it is only some small artifact of floating
    # point arithmetic.
    r = max(min(r, 1.0), -1.0)
    df = n-2
    if abs(r) == 1.0:
        prob = 0.0
    else:
        t_squared = r*r * (df / ((1.0 - r) * (1.0 + r)))
        prob = betai(0.5*df, 0.5, df / (df + t_squared))
    return r, prob

(好好看一下源码 ^ _ ^ )

2. Spearman's rank correlation coefficient & p-value

  scipy.stats.spearmanr

ch2 序列相关性分析

-1. 参考材料


且听下回分解

你可能感兴趣的:(相关性分析`correlation`)