相關系數是最早由統計學家卡爾·皮爾遜設計的統計指標,是研究變量之間線性相關程度的量,一般用字母 r 表示。
三個相關性系數(pearson, spearman, kendall)反應的都是兩個變量之間變化趨勢的方向以及程度,其值范圍為-1到+1,0表示兩個變量不相關,正值表示正相關,負值表示負相關,值越大表示相關性越強。
->pandas 計算相關性系數
dd["corr"] = dd["銀行"].rolling(12).corr(dd["證券"])
回溯日期為12,計算“銀行”列與“證券”列數據的相關性系數。
與之對應的excel的計算方法:
B列和C列的相關性系數,同時回溯值是6(即分別有6個值會納入計算)
=CORREL(B3:B8,C3:C8)。但是需要注意的是excel的correl 函數把有空的日期上的值忽略了,就相當於把有空值的那一行刪掉了。
pandas的corr函數注意事項
對於pandas.core.window.Rolling.corr 方法 也就是dd["corr"] = dd["銀行"].rolling(12).corr(dd["證券"]) 這種用法
This function uses Pearson’s definition of correlation。回溯期限內有空值時,無法計算相關性系數。
對於pandas.DataFrame.corr 方法
Compute pairwise correlation of columns, excluding NA/null values. 有空值時,不會計算相關性系數
method : {‘pearson’, ‘kendall’, ‘spearman’} ,method參數支持指定使用哪一種相關性系數。默認是pearson.