相关系数是最早由统计学家卡尔·皮尔逊设计的统计指标,是研究变量之间线性相关程度的量,一般用字母 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.