Pearson和Spearman的相关性以及Matlab中相应的95%和99%置信水平

时间:2017-02-11 12:02:20

标签: matlab correlation

如果我有两个系列的数据: a = [1 4 6 3 4 6 7 8]; b [34 56 34 56 79 23 48 28];然后我可以分别找到spearman和pearson相关系数: RHO= corr(a',b','Type','Spearman'); 对于皮尔逊相关,我可以使用: r=corr2(a,b)   或

[R] = corr(a',b','Type','pearson')

皮尔逊和矛兵相关性的置信水平(95%和99%)是多少。我需要在给定的例子中得到结果。 让,

pearson correlation r=0.76

spearman rank correlation r=0.65

95% confidence level=0.34

99% confidence level=0.42

注意:我的相关系数和置信水平的值是一般的,它们不适用于给定的' a'和' b'价值高于。 感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用corrcoef。对于95%的置信区间写:

[R,~,RL,RU] = corrcoef(a.',b.')

对于其他置信区间,添加alpha(CI = 100 *(1-alpha)%):

[R,~,RL,RU] = corrcoef(a.',b.','alpha',0.01)

RLRU分别是相关性的下限和上限。

修改

对于spearman相关置信区间,您需要fisher transformation,即arctanh(r):

RHO = corr(a.',b.','Type','Spearman');
n = numel(a);
STE = 1/sqrt(n-3);
% here the input is 95% confidence interval, for 99% use 0.99:
CI = norminv(0.95); 
upper_bound = tanh(atanh(RHO)+CI*STE);
lower_bound = tanh(atanh(RHO)-CI*STE);