相关系数及其假设检验——matlab及spss实现

数学建模中,相关性分析往往是建模的前提。但是,相关系数是数学建模中最容易出错滥用的点,需要注意不同相关系数的使用条件。

一.Pearson相关系数及其假设性检验

1.1 Pearson相关系数的定义及计算

(1)总体的Pearson相关系数

 (2)样本的Pearson相关系数

 (3)Pearson相关系数的误区:

  • 理解误区1——散点图和皮尔逊相关系数的联系(垂直x轴或者垂直y轴时,Person相关系数计算为零)<—— Person相关系数只是用来衡量线性相关程度的指标,只有确定了两个变量是线性相关的,这个相关系数才能用来衡量相关程度
  • 易错点1——非线性相关也会导致线性相关系数很大—>Person相关系数高不能证明具有线性相关性
  • 易错点2——离群点对相关系数的影响很大->用Person相关系数进行分析时,考虑去除异常值
  • 易错点3——如果两个变量的相关系数高也不能说明两者相关->Person相关系数高不能证明线性函数具有很大相关性,也有可能是受到异常值影响
  • 易错点4——Person相关系数计算结果为零,不能认为没有相关性,也许有比线性相关更复杂的相关性

总而言之,Pearson相关系数能够有力使用的前提是

  • 该相关系数只能识别简单的线性相关关系,无法处理非线性相关关系;
  • 对异常值(或离群点)和样本容量较为敏感;
  • 要求研究的变量是数值变量,且变量符合或较为接近正态分布。
  • 每组样本之间是独立抽样的(需要加在论文假设前提里)

相关系数的大小能够说明两者的相关程度,但我们往往更关注相关系数的显著性。

1.2 Pearson相关系数的假设性检验

(1)假设检验的步骤

  1. 确定原假设:相关系数为0(即两个变量不相关)和备择假设:相关系数不为0(即两个变量可能相关)
  2. 在原假设成立的条件下,构造一个统计量,该统计量有一个分布
  3. 画出概率密度函数图
  4. 给一个置信水平β,求出接受域
  5. 用已知的样本数据代入计算统计量,得到检测值,若检测值落在接受域内,则无法拒绝原假设,否则拒绝原假设

(2)pearson相关系数的假设性检验

对pearson相关系数r而言,我们构造统计量t=r\sqrt{\frac{n-2}{1-r^{2}}}t是服从自由度为n-2t分布

查表:t分布表T分布表 – 百度文库

但我们一般不用查表法,而用p值判断法:利用检测值t,计算出对应的概率

单边检验

p=1-tcdf(t^{*},n-2)

双边检验

p=(1-tcdf(t^{*},n-2))*2

用计算出的概率值p与0.01,0.05,0.10比较:

显著性越小,在更大的概率上,两者可能存在相关关系。即***越多,显著性越强,这个相关系数的置信程度越大。

1.3 正态分布的假设检验

(1)JB检验(Jarque-Bera test)

条件:

大样本 n>30

matlab实现:

[h,p]=jbtest(x,alpha)% x是向量,alpha是显著性水平

jb检验只能一组一组进行检验
h=1时拒绝原假设,即不满足正态分布
h=0时接受原假设,即满足正态分布

(2)Shapiro-wilk检验

条件:

小样本 3<=n<=50

SPSS实现:

分析->描述统计->探索->图,含检验的数据图

(3)QQ图

条件:

数据量非常大

matlab实现:

qqplot(Test(:,1))

只能一列一列进行检验

1.4 matlab及spss实现

(1)描述性分析

1.matlab

 例如,min(Test)计算每一列的最小值。注意,基本统计量的自变量可以是矩阵。

2.SPSS

分析->描述统计->描述

(2)矩阵的散点图

散点图可以初步确定变量是否有线性相关性,我们需要画出C_{n}^{2}个变量的散点图。

用SPSS比较方便:

图形->旧对话框->散点图/点图->矩阵散点图

(3)Pearson相关系数的计算

matlab实现

R = corrcoef(Test)

Test可以是个矩阵

R = corrcoe(A,B)

A,B在这里必须是两个向量

(4)Pearson相关系数假设性检验的t统计量的计算

matlab实现

[R,P]=corrcoef(Test)

也就是说corr()可以同时给出相关系数和p值

画出t分布的图

x=-4:0.1:4

y=tpdf(x,28)

plot(x,y,'-')

grid on % 加上网格线

(5)美化相关系数表,美化p值表

1.相关系数表

a.EXCEL行列调成适合的大小,字号,对齐方式

b.选中相关系数表,开始-条件格式-色阶

c.选中相关系数表,条件格式-管理规则-编辑规则

2.显著性表

a.EXCEL行列调成适合的大小,字号,对齐方式

b.matlab筛选出矩阵,excel手动给表格加*

matlab命令

P<0.01

(P<0.05).*(P>0.01)

(P<0.1).*(P>0.05)

二.Spearman等级相关系数及其假设检验

2.1 Spearman相关系数的定义及计算

也可以定义成等价之间的pearson相关系数。 

2.2 Spearman相关系数的假设性检验

(1)小样本

直接查临界值表(即系数本身就服从某种分布)

 (2)大样本

r_{s}\sqrt{n-1}\sim N(0,1)

2.3 matlab及spss实现

(1)描述性分析

1.matlab

 例如,min(Test)计算每一列的最小值。注意,基本统计量的自变量可以是矩阵。

2.SPSS

分析->描述统计->描述

(2)SPearsman相关系数的计算

matlab实现:

定义一

corr(X,Y,'type','Spearman')I
X,Y必须是列向量
corr(X,'type','Spearman')
计算X矩阵之间的spearman相关系数

定义二

RX=[2 5 3 4 1]

RY=[1 4.5 3 4.5 2]

R = corrcoef[RX,RY]

(3)计算Spearman相关系数的p值

matlab实现

[R,P]=corr(Test,'type','Spearman')

也就是说corr()可以同时给出相关系数和p值

(4)美化相关系数表,美化p值表

1.相关系数表

a.EXCEL行列调成适合的大小,字号,对齐方式

b.选中相关系数表,开始-条件格式-色阶

c.选中相关系数表,条件格式-管理规则-编辑规则

2.显著性表

a.EXCEL行列调成适合的大小,字号,对齐方式

b.matlab筛选出矩阵,excel手动给表格加*

P<0.01

(P<0.05).*(P>0.01)

(P<0.1).*(P>0.05)

三.总结

  1. 连续数据,正态分布,线性关系,用pearson相关系数是最恰当的
  2. 上述任一条件不满足,就用spearman相关系数,不能用pearson相关系数
  3. 两个定序数据也用spearman相关系数,不能用pearson相关系数
  4. 90%都用spearman相关系数

版权声明:本文为博主作者:alina_ruc1203原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/alina_ruc1203/article/details/132022415

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2024年4月1日
下一篇 2024年4月1日

相关推荐