目录
简介
相关系数可以用来衡量两个变量之间的相关性大小,根据数据满足的不同条件,选择不同的相关系数进行计算和分析。
Pearson相关系数
Pearson相关系数只是用来衡量两个变量线性相关程度的指标,因此在使用Pearson相关系数之前一定要画出散点图看是否具有线性相关性.
描述性统计
- 最大值
- 最小值
- 均值
- 中位数
- 偏度
- 峰度
- 标准差
可利用spss软件进行统计描述以及绘制两两之间的散点图以分辨是否具有线性关系
最后利用matlab计算相关系数
进行皮尔逊假设检验
满足前提条件
- 实验数据通常假设是成对的来自正态分布的总体
- 实验数据不能相差太大
- 每组样本是独立抽样的
确定原假设和备择假设
在原假设成立的情况下,根据需要检验的量构造一个分布,如正太分布,t分布,F分布和卡方分布
画出该分布的概率密度函数图
给定一个置信水平,通常取0.95,计算出接受域。即
用已知的样本数据代入计算统计量,得到检验值,若在置信区间内,则通过假设检验,接受原假设;否则拒绝原假设
计算p值
除了繁琐的假设检验之外,还可以计算p值来检验显著性。
[R,P]=corrcoef(data);
这将返还一个相关系数矩阵及其对应的p值
如何检验数据正态分布
JB检验
当样本数据大于30时,才能够进行正太分布检验
构造JB统计量
其中S为偏度skewness,K为峰度kurtosis。
如果该样本服从正态分布,则JB统计量服从自由度为2的卡方分布
进行假设检验
H0:该随机变量服从正态分布;H1:该随机变量不服从正太分布
计算出该变量的峰度和偏度,得到检验值JB*,并计算出P值
将p值与0.05比较,若p<0.05则在95%的置信水平上可以拒绝原假设
[h,p]=jbtest(x,alpha); %alpha为显著性水平,通常取0.05,此时置信水平为0.95
%x为需要检验的随机变量,并且只能是向量
%若h=1,表示拒绝原假设,不服从正态分布;若h=0,表示接受原假设,服从正态分布
SW检验
当样本数据较少时,3~50,采用SW检验来检验是否服从正太分布
利用spss软件进行分析
QQ图
利用QQ图鉴别样本数据是否近似于正态分布,只需要看QQ图上的点是否近似地在一条直线附近
qqplot()
要求样本数据非常大
Spearman相关系数
计算代码
corr(X,'type','Spearman');% X是需要检测的数据矩阵,返回各列之间的Spearman相关系数。
假设检验
[R P]=corr(X,'type','Spearman');
总结
- 连续数据,正态分布,线性关系,用Pearson相关系数;否则用Spearman相关系数
- 如果数据是定序数据,用Spearman相关系数
clc, clear all, close all
%% 读入数据
data=readmatrix("八年级男生体测数据.xls");
%% 描述性统计
Min=min(data); % 最小值
Max=max(data); % 最大值
Mean=mean(data); % 均值
Median=median(data); % 中位数
Skewness=skewness(data); %偏度
Kurtosis=kurtosis(data); %峰度
Std=std(data);% 标准差
result=[Min;Max;Median;Skewness;Kurtosis;Std];
%% 计算Pearson相关系数并进行p值检验
[R,P]=corrcoef(data);
P < 0.01 % 标记3颗星的位置 99% 置信水平
(P < 0.05) .* (P > 0.01) % 标记2颗星的位置 95%置信水平
(P < 0.1) .* (P > 0.05) % % 标记1颗星的位置 90%置信水平
%% 正太分布检验
[h,p]=jbtest(data(:,1),0.05)
[m,n]=size(data);
H=[];
P=[];
for i=1:n
[h,p]=jbtest(data(:,i),0.05);
H=[H h];
P=[P p];
end
disp(H)
disp(P)
%% Spearman相关系数
[coef P]=corr(data,'type','Spearman');