作者@ weanl
創(chuàng)建于 2018-12-13T14:20:00
1. Pearson correlation coefficient & p-value
1.1 理論分析:
??Pearson Correlation Coefficient, PCC 被稱作線性相關(guān)系數(shù),可以衡量兩個服從正態(tài)分布的隨機(jī)變量 和
的線性相關(guān)性。其實就是統(tǒng)計學(xué)中的
相關(guān)系數(shù)。
給出協(xié)方差的計算公式:
其中 稱為分布的均值。實際上
和
相互獨立(
),則
,所以
,反之并不成立。
給出 PCC 的計算公式:
其中 稱為分布的方差。
在隨機(jī)變量觀測為時,PCC 的估計計算公式:
(式1-3 可以做其他的變形,另外這里分布方差的估計選的是有偏估計) (根據(jù)Cauchy–Schwarz inequality可知值域為) (如果數(shù)據(jù)進(jìn)行了
中心化處理,即,PCC與
余弦相似度"等價")
??1.2 應(yīng)用總結(jié):
??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
ch2 序列相關(guān)性分析
-1. 參考材料
且聽下回分解