计算相关系数的置信区间
correlation的Python项目详细描述
相关性
计算相关系数的置信区间,包括Pearson的R、Kendall的tau、Spearman的rho和定制的相关度量。在
方法论
给出了两种计算置信区间的方法,一种是基于正态近似的参数方法,另一种是基于自举的非参数方法。在
参数法
假设r峎hat是我们得到的相关性,然后用一个变换
z = ln((1+r)/(1-r))/2,
z近似服从正态分布,
平均值等于z(r峈hat),
方差sigma^2分别等于1/(n-3),0.437/(n-4),(1+r_^2/2)/(n-3),分别为皮尔逊r,Kendall的tau和Spearman的rho(详见参考文献[1,2])。n是数组长度。在
r的(1α)CI为
^{pr2}$其中T是前面提到的变换的逆
T(x) = (exp(2x) - 1) / (exp(2x) + 1),
z_lower = z - z_(1-alpha/2) sigma,
z_upper = z + z_(1-alpha/2) sigma.
当Pearson的r、Kendall的tau和Spearman的rho的绝对值分别小于1、0.8和0.95时,这种正态近似就起作用了。在
非参数方法
对于非参数方法,我们简单地采用了一种朴素的bootstrap方法。在
- 我们从原始(成对)样本中抽取一对样本(x逖i,y逖i),直到样本大小等于n,然后从新样本中计算相关系数。在
- 多次重复此过程(默认情况下我们使用5000次)
- 然后我们可以通过获得的相关系数的α/2和(1-α/2)分位数来获得r的(1-α)CI。在
参考文献
[1]Bonett,Douglas G.和Thomas A.Wright。”估计Pearson、Kendall和Spearman相关性的样本量要求〉,《心理测量学》65,第1期(2000):23-28。
[2] 比沙拉、安东尼J.和詹姆斯B.希特纳。”当数据不正常时相关性的置信区间。”行为研究方法49,第1期(2017):294-309。在
安装:
pip install correlation
或者
conda install -c wangxiangwen correlation
用法示例:
>>>importcorrelation>>>a,b=list(range(2000)),list(range(200,0,-1))*10>>>correlation.corr(a,b,method='spearman_rho')(-0.0999987624920335,# correlation coefficient-0.14330929583811683,# lower endpoint of CI-0.056305939127336606,# upper endpoint of CI7.446171861744971e-06)# p-value
- 项目
标签: