数学建模-相关性算法笔记

这里是根据清风数学建模视频课程整理的笔记,我不是清风本人。想系统学习数学建模的可以移步B站搜索相关视频

总体和样本

  • 总体——所要考察对象的全部个体叫做总体
  • 样本——从总体中所抽取的一部分个体叫做总体的一个样本

总体皮尔逊Pearson相关系数

如果两组数据 X : { X 1 , X 2 , … , X n } X:\{X_1,X_2,…,X_n\} X:{X1,X2,,Xn} Y : { Y 1 , Y 2 , … , Y N } Y:\{Y_1,Y_2,…,Y_N\} Y:{Y1,Y2,,YN}是总体数据

那么**总体均值**: E ( X ) = ∑ i = 1 n X i n E(X)=\frac {\sum_{i=1}^{n}X_i}{n} E(X)=ni=1nXi E ( Y ) = ∑ i = 1 n Y i n E(Y)=\frac {\sum_{i=1}^{n}Y_i}{n} E(Y)=ni=1nYi

总体协方差 C o v ( X , Y ) = ∑ i = 1 n ( X i − E ( X ) ) ( Y i − E ( Y ) ) n Cov(X,Y)=\frac {\sum_{i=1}^n(X_i-E(X))(Y_i-E(Y))}{n} Cov(X,Y)=ni=1n(XiE(X))(YiE(Y))

  • 理解:如果X、Y变化方向相同,即当X大于(小于)其均值时,Y也大于(小于)其均值,在这两种情况下,乘积为正。如果X、Y的变化方向一直保持相同,则协方差为正;同理,如果X、Y变化方向一直相反,则协方差为负;如果X、Y变化方向之间相互无规律,即分子中有的项为正,有的项为负,那么累加后正负抵消。
  • 注意:协方差的大小和两个变量的量纲有关,因此不适合做比较

X的标准差 σ X = ∑ i = 1 n ( X i − E ( X ) ) 2 n \sigma_X=\sqrt{\frac {\sum_{i=1}^n(X_i-E(X))^2}{n}} σX=ni=1n(XiE(X))2

Y的标准差 σ Y = ∑ i = 1 n ( Y i − E ( X ) ) 2 n \sigma_Y=\sqrt{\frac {\sum_{i=1}^n(Y_i-E(X))^2}{n}} σY=ni=1n(YiE(X))2

总体皮尔逊相关系数 ρ X Y = C o v ( X , Y ) σ X σ Y = ∑ i = 1 n X i − E ( X ) σ X Y i − E ( Y ) σ Y n \rho_{XY}=\frac {Cov(X,Y)}{\sigma_X\sigma_Y}=\frac {\sum_{i=1}^n\frac {X_i-E(X)}{\sigma_X}\frac {Y_i-E(Y)}{\sigma_Y}}{n} ρXY=σXσYCov(X,Y)=ni=1nσXXiE(X)σYYiE(Y)

可以证明, ∣ ρ X Y ∣ ≤ 1 |\rho_{XY}|≤1 ρXY1​,且当 Y = a X + b Y=aX+b Y=aX+b​时, ρ X Y = { 1 , a > 0 − 1 , a < 0 \rho_{XY}={\begin{cases}{1,a>0}\\-1,a<0 \end{cases}} ρXY={1,a>01,a<0

  • 皮尔逊相关系数也可以看成是剔除了两个变量量纲影响,即将X和Y标准化后的协方差

样本皮尔逊Pearson相关系数

如果两组数据 X : { X 1 , X 2 , … , X n } X:\{X_1,X_2,…,X_n\} X:{X1,X2,,Xn} Y : { Y 1 , Y 2 , … , Y N } Y:\{Y_1,Y_2,…,Y_N\} Y:{Y1,Y2,,YN}是总体数据

样本均值: X ‾ = ∑ i = 1 n X i n \overline{X}=\frac {\sum_{i=1}^nX_i}{n} X=ni=1nXi Y ‾ = ∑ i = 1 n Y i n \overline{Y}=\frac {\sum_{i=1}^nY_i}{n} Y=ni=1nYi

样本协方差: C o v ( X , Y ) = ∑ i = 1 n ( X i − X ‾ ) ( Y i − Y ‾ ) n − 1 Cov(X,Y)=\frac {\sum_{i=1}^n(X_i-\overline{X})(Y_i-\overline{Y})}{n-1} Cov(X,Y)=n1i=1n(XiX)(YiY)

X的样本标准差: S X = ∑ i = 1 n ( X i − X ‾ ) 2 n S_X=\sqrt{\frac {\sum_{i=1}^n(X_i-\overline{X})^2}{n}} SX=ni=1n(XiX)2

Y的样本标准差: S Y = ∑ i = 1 n ( Y i − Y ‾ ) 2 n S_Y=\sqrt{\frac {\sum_{i=1}^n(Y_i-\overline{Y})^2}{n}} SY=ni=1n(YiY)2

样本皮尔逊相关系数: r X Y = C o v ( X , Y ) S X S Y r_{XY}=\frac {Cov(X,Y)}{S_XS_Y} rXY=SXSYCov(X,Y)

皮尔逊相关系数的注意点

以下四个图的相关系数都为0.816
在这里插入图片描述

  • 如图2,非线性相关也会导致线性相关系数很大
  • 如图3,离群点对相关系数的影响很大,去掉离群点后,相关系数为0.98
  • 如图4,如果两个变量的相关系数很大也不能说明两者相关,可能是受到 了异常值的影响
    在这里插入图片描述

上图相关系数为0

  • 相关系数计算结果为0,只能说不是线性相关,但说不定会有更复杂的相关 关系(非线性相关)

因此:

1、如果两个变量本身就是线性的关系,那么皮尔逊相关系数绝对值大的就是相关性强,小的就是相关性弱;

2、在不确定两个变量是什么关系的情况下,即使算出皮尔逊相关系数,发现很大,也不能说明那两个变量线性相关,甚至不能说他们相关,我们一定要画出散点图来看才行

皮尔逊相关系数例题

在这里插入图片描述

描述性统计

一般拿到数据首先进行描述性统计
在这里插入图片描述

可以用MATLAB,Excel,SPSS

矩阵散点图

在计算皮尔逊相关系数之前,一定要做出散点图来看两组变量之间是否有线性关系(用SPSS比较方便)
在这里插入图片描述

皮尔逊相关系数计算

MATLAB里的corrcoef函数

美化相关系数表

在这里插入图片描述

对皮尔逊相关系数进行假设检验

当相关系数等于0,可以说明两个变量之间不存在线性关系,而此时若 r = 0.3 r=0.3 r=0.3,我们可以利用假设检验,来观察0.3与0是否有显著性差异,若得到0.3与0有显著差异,即说明两个变量的相关性是显著的,存在线性关系。

第一步:提出原假设 H 0 H_0 H0和备择假设 H 1 H_1 H1(两个假设截然相反,互为对立面)

假设我们计算得到一个皮尔逊相关系数 r r r,为了检验它是否与0有显著性差异,那么我们可以设定原假设 H 0 : r = 0 H_0:r=0 H0:r=0,备择假设 H 1 : r ≠ 0 H_1:r≠0 H1:r=0​(双侧检验)

第二步:在原假设成立的条件下,利用我们要检验的量构造一个符合某一分布的统计量

注意:1、统计量相当于我们要检验的量的一个函数,里面不能有其他的随机变量;2、这里的分布一般有:标准正态分布、 t t t分布、 χ 2 \chi^2 χ2分布和 F F F分布

对于 r r r而言,在满足一定条件下,我们可以构造统计量:

t = r n − 2 1 − r 2 t=r\sqrt{\frac {n-2}{1-r^2}} t=r1r2n2

可以证明 t t t是服从自由度为 n − 2 n-2 n2 t t t​分布( n n n为样本量)

第三步:将我们要检验的这个值带入这个统计量中,可以得到一个特定的值(检验值)

r = 0.5 , n = 30 r=0.5,n=30 r=0.5,n=30,那么 t ∗ = 0.5 30 − 2 1 − 0. 5 2 = 3.05505 t^*=0.5\sqrt{\frac {30-2}{1-0.5^2}}=3.05505 t=0.510.52302 =3.05505

第四步:我们可以画出该分布的概率密度函数 p d f pdf pdf​​,并给定一个置信水平,根据这个置信水平查表找到临界值,并画出检验统计量的接收域和拒绝域

由于上述统计量服从自由度为28的 t t t分布,则可以画出其概率密度函数图形为:

在这里插入图片描述

常见的置信水平有三个: 90 % , 95 % , 99 % 90\%,95\%,99\% 90%,95%,99%​​,其中 95 % 95\% 95%是最常用的

t分布表:https://wenku.baidu.com/view/d94dbd116bd97f192279e94a.html

( 1 − 0.95 ) / 2 + 0.95 = 0.975 (1-0.95)/2+0.95=0.975 (10.95)/2+0.95=0.975​因此查表 t 0.975 t_{0.975} t0.975​,自由度 n n n​​为28所对应的值(也可以用MATLAB函数计算,根据分布不同,函数不同)

查表可知,对应的临界值为 2.048 2.048 2.048,由此画出接收域以及拒绝域(双侧)

第五步:看计算得到的检验值是落在了拒绝域还是接收域

由于得到 t ∗ = 3.05505 > 2.048 t^*=3.05505>2.048 t=3.05505>2.048,落在拒绝域,因此拒绝原假设 H 0 : r = 0 H_0:r=0 H0:r=0,接受原假设,即 r r r与0有显著性差异,即两个变量有相关性

p值判断法

得到检验值 t ∗ = 3.05505 t^*=3.05505 t=3.05505​,可以计算出对应的概率

d i s p ( ( 1 − t c d f ( 3.055 , 28 ) ) ∗ 2 ) disp((1-tcdf(3.055,28))*2) disp((1tcdf(3.055,28))2)

t c d f tcdf tcdf为累积概率密度函数计算公式,由于是双侧检验,因此 p p p​值还要乘以2,最后得到 p p p值为0.0049
在这里插入图片描述

MATLAB中可以使用 [ R , P ] = c o r r c o e f ( T e s t ) [R,P]=corrcoef(Test) [R,P]=corrcoef(Test)来返回相关系数表R和每个相关系数表的 p p p值P

皮尔逊相关系数假设检验的条件

  • 实验数据通常假设是成对的来自于正态分布的总体
  • 实验数据之间的差距不能太大
  • 每组样本之间是独立抽样的

检验数据是否属于正态分布

正态分布JB检验(大样本n>30)

偏度S和峰度K
在这里插入图片描述

雅克-贝拉检验(Jarque-Bera test)

对于一个随机变量 { X i } \{X_i\} {Xi},假设其偏度为 S S S,峰度为 K K K,那么我们可以构造 J B JB JB统计量

J B = n 6 [ S 2 + ( K − 3 ) 2 4 ] JB=\frac n6[S^2+\frac {(K-3)^2}{4}] JB=6n[S2+4(K3)2]

如果 { X i } \{X_i\} {Xi}是正态分布,那么在大样本情况下 J B ∼ χ 2 ( 2 ) JB\sim\chi^2(2) JBχ2(2)(自由度为2的卡方分布)​

步骤:
1、 H 0 H_0 H0​​:该随机变量服从正态分布, H 1 H_1 H1​:该随机变量不服从正态分布

2、计算该变量的偏度和峰度,得到检验值 J B ∗ JB^* JB,并计算其对应的 p p p

3、将 p p p值域0.05比较,如果小于0.05则可拒绝原假设,否则接受原假设

Shapiro-wilk检验(小样本3≤n≤50)

步骤同上,但MATLAB中未封装相关函数计算威尔克统计量,不过可以使用SPSS

Q-Q图

在这里插入图片描述

注意:小样本最好也不用Q-Q图,数据要求量非常大

斯皮尔曼spearman相关系数

第一种定义

X X X Y Y Y为两组数据,其斯皮尔曼(等级)相关系数定义为:

r s = 1 − 6 ∑ i = 1 n d i 2 n ( n 2 − 1 ) r_s=1-\frac {6\sum_{i=1}^nd_i^2}{n(n^2-1)} rs=1n(n21)6i=1ndi2,其中 d i d_i di X i X_i Xi Y i Y_i Yi​之间的等级差,并且 r s r_s rs位于 − 1 -1 1 1 1 1之间
在这里插入图片描述

一个数的等级,就是将它所在的一列数按照从小到大排序后所在的位置

注意:如果有的数值相同,则将它们所在的位置取算术平均

根据公式可以得到 X X X Y Y Y的斯皮尔曼相关系数为 r s = 1 − 6 ∗ ( 1 + 0.25 + 0.25 + 1 ) 5 ∗ 24 = 0.875 r_s=1-\frac {6*(1+0.25+0.25+1)}{5*24}=0.875 rs=15246(1+0.25+0.25+1)=0.875

第二种定义

定义斯皮尔曼相关系数为等级之间的皮尔逊相关系数(MATLAB是这么认为的)

因此MATLAB中求解可用皮尔逊相关系数的函数
在这里插入图片描述

斯皮尔曼相关系数的假设检验

小样本情况

即n≤30,直接查临界值表即可

样本相关系数r必须大于等于表中的临界值,才能得出显著的结论

大样本情况

大样本情况下,统计量 r s n − 1 ∼ N ( 0 , 1 ) r_s\sqrt{n-1}\sim N(0,1) rsn1 N(0,1)

H 0 : r s = 0 , H 1 : r s ≠ 0 H_0:r_s=0,H_1:r_s≠0 H0:rs=0,H1:rs=0

计算检验值,并求出对应的 p p p值与0.05相比较


在这里插入图片描述

检验值 z ∗ = 0.0301 591 − 1 = 0.731126 z^*=0.0301\sqrt{591-1}=0.731126 z=0.03015911 =0.731126

d i s p ( ( 1 − n o r m c d f ( 0.7311 ) ) ∗ 2 ) disp((1-normcdf(0.7311))*2) disp((1normcdf(0.7311))2)

得到结果为0.4647>0.5,因此接受原假设

两个相关系数的比较

  • 连续数据,正态分布,线性关系,用pearson相关系数是最恰当,当然用 spearman相关系数也可以, 就是效率没有pearson相关系数高。
  • 上述任一条件不满足,就用spearman相关系数,不能用pearson相关系数。
  • 两个定序数据(如优、良、差等可以排序的数据)之间也用spearman相关系数,不能用pearson相关系数。

注:斯皮尔曼相关系数的适用条件比皮尔逊相关系数要广,只要数据满足单调关系 (例如线性函数、指数函数、对数函数等)就能够使用。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值