总体皮尔逊相关系数
如果两组数据 和 是总体数据,
那么总体均值:
总体协方差:
直观理解协方差: 如果 X 、 Y 变化方向相同,即当 X 大于(小于)其均值时, Y 也大于(小于)其均值,在这两种情况下,乘积为正。如果 X 、 Y 的变化方向一直保持相同,则协方差为正;同理,如果 X 、 Y 变化方向一直相反,则协方差为负;如果 X 、 Y 变化方向之间相互无规律,即分子中有的项为正,有的项为负,那么累加后正负抵消。
总体皮尔逊相关系数:
皮尔逊相关系数也可以看成是剔除了两个变量量纲影响,即将 X 和 Y 标准化后的协方差。
- 非线性相关会导致线性相关系数很大。
- 离群点对相关系数的影响很大。
- 如果两个变量的相关系数很大也不能说明两者相关,可能是受到了异常值的影响。
- 相关系数计算结果为0,只能说不是线性相关,但说不定会有更复杂的相关关系(非线性相关)
对相关系数大小的解释
相关性 负 正 无相关性 -0.09~0.0 0.0~0.09 弱相关性 -0.3~-0.1 0.1~0.3 中相关性 -0.5~-0.3 0.3~0.5 强相关性 -1.0~-0.5 0.5~1.0
clc,clear
a=rand(6,6);
r=corrcoef(a); %返回a的相关系数的矩阵
//b=rand(6,6);
//r2=corrcoef(a,b); %返回a和b之间的系数
对皮尔逊相关系数进行假设检验
先提出原假设(为0)和备择假设(显著异于0)
对于相关系数r来说,我们构造统计量 (n为样本)
t是服从自由度为n-2的t分布
x=-4:0.1:4;
y=tpdf(x,28);
plot(x,y,'-')
grid on %加网格线
画出该分布的概率密度函数pdf后。给定95%的置信水平,找到临界值
画出检验统计量的接受域和拒绝域
比较t和临界值下结论(是否显著为0)
还可以使用p值判断法(推荐)
disp('该检验值对应的p值为:') disp((1-tcdf(3.055,28))*2) %3.055为t值,28为n-2 %双侧检验的p值要乘以2
tcdf为累积分布函数
[r,p]=corrcoef(a); %p返回的是对应于每个相关系数的p值 p<0.01 %*** (p<0.05).*(p>0.01) %** (p<0.1).*(p>0.05) %*
皮尔逊相关系数假设检验的条件
第一, 实验数据通常假设是成对的来自于正态分布的总体。 因为我们在求皮尔逊相关性系数以后,通常还会用 t 检验之类的方法来进行皮尔逊相关性系数检验,而 t 检验是基于数据呈正态分布的假设的。%%正态分布JB检验(big sample) %检验第一列数据是否为正态分布 [h,p] = jbtest(Test(:,1),0.05) %用循环检验所有列的数据 n_c = size(Test,2); % number of column 数据的列数 H = zeros(1,6); P = zeros(1,6); for i = 1:n_c [h,p] = jbtest(Test(:,i),0.05); H(i)=h; P(i)=p; end disp(H) disp(P)
第二, 实验数据之间的差距不能太大。 皮尔逊相关性系数受异常值的影响比较大。第三:每组样本之间是独立抽样的。 构造 t 统计量时需要用到。
斯皮尔曼相关系数
定义两组数据 和 ,
其斯皮尔曼(等级)相关系数:
其中 为和之间的等级差。
一个数的等级,就是将它所在的一列数按照从小到大排序后,这个数所在的位置
注:如果有的数值相同,则将它们所在的位置取算术平均
clc,clear
x=[3 8 4 7 2]'; %列向量!
y=[5 10 9 10 6]';
coeff=corr(x,y,'type','spearman')
斯皮尔曼相关系数的假设检验
小样本()查表
大样本:
% 直接给出相关系数和p值 [R,P]=corr(a, 'type' , 'spearman')
p 值大于 0.05, 因此我们无法拒绝原假设。(和 0 没有显著的差异)
两个相关系数的比较:
斯皮尔曼相关系数和皮尔逊相关系数选择 :1. 连续数据,正态分布,线性关系,用 pearson 相关系数是最恰当,当然用spearman 相关系数也可以, 就是效率没有 pearson 相关系数高。2. 上述任一条件不满足,就用 spearman 相关系数,不能用 pearson 相关系数。3. 两个定序数据之间也用 spearman 相关系数,不能用 pearson 相关系数。定序数据 是指仅仅反映观测对象等级、顺序关系的数据,是由定序尺度计量形成的,表现为类别,可以进行排序,属于品质数据。例如:优、良、差;我们可以用 1 表示差、 2 表示良、 3 表示优,但请注意,用 2 除以 1 得出的 2 并不代表任何含义。定序数据最重要的意义代表了一组数据中的某种逻辑顺序。注:斯皮尔曼相关系数的适用条件比皮尔逊相关系数要广,只要数据满足单调关系(例如线性函数、指数函数、对数函数等)就能够使用。