介绍两种常见的相关系数:
皮尔逊相关系数
注意
计算皮尔逊相关系数前,要检验数据是否是正态分布JB检验(大样本 n>30)
关于P值
0.5、0.5* 、0.5**、0.5***的含义是显著性标记),一般是有双尾和单尾
例如
***为在 0.01 水平上显著(双尾),**为在 0.05 水平上显著(双尾),*为在 0.1 水平上显著(双尾)。关于单尾双尾(matlab一般默认双尾)
偏度和峰度
matlab中计算偏度。峰度用
skewness(x)%偏度
kurtosis(x)%峰度
MATLAB中进行JB检验的语法:[h,p] = jbtest(x,alpha) 当输出h等于1时,表示拒绝原假设;h等于0则代表不能拒绝原假设。 alpha就是显著性水平,一般取0.05,此时置信水平为1-0.05=0.95 x就是我们要检验的随机变量,注意这里的x只能是向量。
正态分布检验matlab代码
%正态分布检验
%循环检测所有列
load Data
n_col=size(Data,2);
H=zeros(1,6);
P=zeros(1,6);
for i=1:n_col
[h,p]=jbtest(Data(:,i),0.05);
H(i)=h;
P(i)=p;
end
disp(H)
disp(P)
小样本3≤n≤50:Shapiro-wilk检验
利用spss进行检验
检验通过后进行皮尔逊相关系数的计算,并且对皮尔逊相关系数进行假设检验
利用matlab计算出R和P值:
[R,P] = corrcoef(Test) R返回的是相关系数表,P返回的是对应于每个相关系数的p值
[R,P]=corrcoef(Data)%相关系数和P值
P<0.01%标记三颗星的位置
(P<0.05).*(P>0.01)%标记两颗星的位置
(P<0.1).*(P>0.05)%标记一颗星的位置
利用p值来标记相关系数如下面的表示
斯皮尔曼spearman相关系数
斯皮尔曼相关系数的假设检验
分为小样本和大样本两种情况:
小样本情况,即≤30时,直接查临界值表即可。
斯皮尔曼相关系数假设检验,计算R和P值
[R,P]=corr(Data,'type','Spearman')%斯皮尔曼相关系数和P值
P<0.01%标记三颗星的位置
(P<0.05).*(P>0.01)%标记两颗星的位置
(P<0.1).*(P>0.05)%标记一颗星的位置
两个相关系数的比较
建模应用
MathorCup第六届A题淡水养殖池水华发生及池水净化处理的问题一,因子相关分析