这里是根据清风数学建模视频课程整理的笔记,我不是清风本人。想系统学习数学建模的可以移步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)=n∑i=1nXi, E ( Y ) = ∑ i = 1 n Y i n E(Y)=\frac {\sum_{i=1}^{n}Y_i}{n} E(Y)=n∑i=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)=n∑i=1n(Xi−E(X))(Yi−E(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=n∑i=1n(Xi−E(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=n∑i=1n(Yi−E(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)=n∑i=1nσXXi−E(X)σYYi−E(Y)
可以证明, ∣ ρ X Y ∣ ≤ 1 |\rho_{XY}|≤1 ∣ρXY∣≤1,且当 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>0−1,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=n∑i=1nXi, Y ‾ = ∑ i = 1 n Y i n \overline{Y}=\frac {\sum_{i=1}^nY_i}{n} Y=n∑i=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)=n−1∑i=1n(Xi−X)(Yi−Y)
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=n∑i=1n(Xi−X)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=n∑i=1n(Yi−Y)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=r1−r2n−2
可以证明 t t t是服从自由度为 n − 2 n-2 n−2的 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.51−0.5230−2=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 (1−0.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((1−tcdf(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(K−3)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=1−n(n2−1)6∑i=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=1−5∗246∗(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) rsn−1∼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.0301591−1=0.731126
d i s p ( ( 1 − n o r m c d f ( 0.7311 ) ) ∗ 2 ) disp((1-normcdf(0.7311))*2) disp((1−normcdf(0.7311))∗2)
得到结果为0.4647>0.5,因此接受原假设
两个相关系数的比较
- 连续数据,正态分布,线性关系,用pearson相关系数是最恰当,当然用 spearman相关系数也可以, 就是效率没有pearson相关系数高。
- 上述任一条件不满足,就用spearman相关系数,不能用pearson相关系数。
- 两个定序数据(如优、良、差等可以排序的数据)之间也用spearman相关系数,不能用pearson相关系数。
注:斯皮尔曼相关系数的适用条件比皮尔逊相关系数要广,只要数据满足单调关系 (例如线性函数、指数函数、对数函数等)就能够使用。