Pearson, Spearman, Kendall 三類相關係數是統計學上的三大重要相關係數,表示兩個變數之間變化的趨勢方向和趨勢程度。下面對這三類係數做簡單的介紹。

1、Pearson 相關係數(連續變數)

公式:

假設條件:

a) 兩個變數分別服從正態分布,通常用t檢驗檢查相關係數的顯著性;

b) 兩個變數的標準差不為0。

結論:

pearson 描述的是線性相關關係,取值[-1, 1]。負數表示負相關,正數表示正相關。在顯著性的前提下,絕對值越大,相關性越強。絕對值為0, 無線性關係;絕對值為1表示完全線性相關。

python3.6應用 :

a) Dataframe.corr(method=pearson), 返回相關關係矩陣

b) from scipy.stats import normaltest, probplot

normaltest(a)返回統計數和檢驗P值, 樣本要求>20。

probplot(np.array(x,y), dist="norm", plot=pylab) 化PP圖,若在對角線,則相關性強。

2、Spearman 秩相關係數(連續變數)

公式:

結論:無參數的等級相關係數,亦即其值與兩個相關變數的具體值無關,而僅僅與其值之間的大小關係有關。di表示兩個變數分別排序後成對的變數位置差,N表示N個樣本,減少異常值的影響。

python3.6應用 :

a) Dataframe.corr(method=spearman), 返回相關關係矩陣

b) from scipy.stats import spearmanr

spearmanr(array)返回 Pearson 係數和檢驗P值, 樣本要求>20。

3、Kendall 相關係數 (有序分類變數)

公式:

任意一對(xi, yi)(xj, yj) 如果xi>=xj and yi>=yj, 則這一對和諧,若xi>xj and yi<yj, 則不和諧

結果:屬於等級相關係數。排序一致,則為1, 排序完全相反則為-1。

python3.6應用 :

a) Dataframe.corr(method=kendall), 返回相關關係矩陣

b) from scipy.stats import kendalltau

kendalltau(x, y) 返回係數和P值


推薦閱讀:
相关文章