本节书摘来自华章计算机《数学建模:基于R》一书中的第1章,第1.6节,作者:薛 毅 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.6 相关性检验
对于多元数据,讨论变量间是否具有相关关系是很重要的,这里介绍三种相关检验—Pearson相关检验、Spearman相关检验和Kendall相关检验,第一个检验是针对正态数据而言的,而后面两种检验属于秩检验.
1.6.1 Pearson相关检验
设二元总体(X,Y)的分布函数为F(x,y),X,Y的方差分别为var(X)和var(Y),总体协方差为cov(X,Y),总体的相关系数定义为ρXY=cov(X,Y)var(X)·var(Y)(1.72)设(X1,Y1),(X2,Y2),…,(Xn,Yn)为取自某个二元总体(X,Y)的独立样本,可以计算样本的相关系数rXY=S2XYS2X·S2Y(1.73)其中S2X和S2Y分别为样本X和样本Y的方差,S2XY为样本XY的协方差.在通常情况下,由样本计算出的rXY不为零,即使在随机变量X与Y独立的情况下.因此,当ρXY=0时,用rXY去度量X与Y的关联性没有实际意义.所以需要作假设检验H0:ρXY=0, H1:ρXY≠0可以证明,当(X,Y)为二元正态总体,且当H0为真时,统计量t=rXYn-21-r2XY(1.74)服从自由度为n-2的t分布.
利用统计量t服从自由度为n-2的t分布的性质,可以对数据X和Y的相关性进行检验.由于相关系数rXY被称为Pearson(皮尔森)相关系数,因此,此检验方法也称为Pearson相关检验.
1.6.2 Spearman相关检验
设(X1,Y1),(X2,Y2),…,(Xn,Yn)为取自某个二元总体的独立样本,要检验变量X与变量Y是否相关.通常以“X与Y相互独立(不相关)”为原假设,“X与Y相关”为备择假设.
设r1,r2,…,rn为由X1,X2,…,Xn产生的秩统计量,R1,R2,…,Rn为由Y1,Y2,…,Yn产生的秩统计量,则有r=1n∑ni=1ri=n+12=R=1n∑ni=1Ri, 1n∑ni=1(ri-r)2=n2-112=1n∑ni=1(Ri-R)2称rs=1n∑ni=1riRi-n+122/n2-112为Spearman(斯皮尔曼)秩相关系数.
当X与Y相互独立时,(r1,r2,…,rn)与(R1,R2,…,Rn)是相互独立的,此时,E(rs)=0.当X与Y正相关时,rs倾向于取正值;当X与Y负相关时,rs倾向于取负值.这样就可以用rs的分布来检验X与Y是否独立.
可以证明:当n较大时,n-1rs的近似分布为N(0,1).由此可以构造拒绝域和计算相应的P值,当P值小于某一显著性水平α(如0.05)时,则拒绝原假设.
1.6.3 Kendall相关检验
这里从另一个观点来看相关问题.同样考虑原假设H0:变量X与Y不相关,以及三个备择假设H1:正或负相关 (或者) 正相关 (或者) 负相关引进协同的概念.如果乘积(Xj-Xi)(Yj-Yi)>0,则称对子(Xi,Yi)及(Xj,Yj)是协同的,或者说,它们有同样的倾向.反之,如果乘积(Xj-Xi)(Yj-Yi)<0,则称该对子是不协同的.令Ψ(Xi,Xj,Yi,Yj)=1,如果(Xj-Xi)(Yj-Yi)>0,
0,如果(Xj-Xi)(Yj-Yi)=0,
-1,如果(Xj-Xi)(Yj-Yi)<0.(1.75)定义Kendall(肯达尔)τ相关系数τ=∑1≤i0}-P{(Xj-Xi)(Yj-Yi)<0}的一个估计.容易看出,-1≤τ≤1.事实上,当所有对子都是协同的,则K=C2n,此时,τ=1.当所有对子都是不协同的,则K=-C2n,此时,τ=-1.
设r1,r2,…,rn为由X1,X2,…,Xn产生的秩统计量,R1,R2,…,Rn为由Y1,Y2,…,Yn产生的秩统计量,可以证明K=∑1≤i1.6.4 cor.test函数
在R中,用cor.test()函数作相关检验,其使用格式为cor.test(x, y,
alternative = c("two.sided", "less", "greater"),
method = c("pearson", "kendall", "spearman"),
exact = NULL, conf.level = 0.95, continuity = FALSE, ...)参数x和y分别为样本构成的数值向量, 且有相同的维数.
alternative为备择假设选项,取"two.sided"(默认值)表示双侧检验(相关),取"less"表示单侧检验(负相关),取"greater"表示单侧检验(正相关).
"method"为相关检验的选项,取"pearson"(默认值)表示Pearson检验,取"kendall"表示Kendall秩检验,取"spearman"表示Spearman秩检验.
exact为逻辑变量,表示是否精确计算P值.
conf.level为置信水平,默认值为0.95.
continuity为逻辑变量,表示在秩检验(Kendall检验或Spearman检验)中是否使用连续型修正.
另一种使用格式是公式形式,其使用格式为cor.test(formula, data, subset, na.action, ...)用于两总体样本的检验,参数formula为形如~u +v的公式,其中u和v为数据框的变量.
data为矩阵或数据框.subset为可选向量,表示使用样本的子集.
na.action为函数,表示样本中出现缺失值(NA)的处理方法,默认值为函数getOption("na.action").
...为附加参数.
例1.30 对于20个随机选取的黄麻个体植株,记录青植株重量Y与它们的干植株重量X.设二元总体(X,Y)服从二维正态分布,其观测数据如表1.15所示.试分析青植株重量与干植株重量是否具有相关性.
表1.15 青植株与干植株的重量(单位:千克)XYXY1689712638923701125468256593169112710162812321920315103037511334621227352132130514584151422916273321717185185370319628722065740
解 这里假设数据服从二元正态分布,所以使用Pearson相关检验.
输入数据,调用cor.test()函数完成相关检验(程序名:exam0130.R).X <- c( 68,`
javascript
63, 70, 6, 65, 9, 10, 12, 20, 30,
33, 27, 21, 5, 14, 27, 17, 53, 62, 65)
Y <- c(971, 892, 1125, 82, 931, 112, 162, 321, 315, 375,
462, 352, 305, 84, 229, 332, 185, 703, 872, 740)
cor.test(X, Y)
Pearson's product-moment correlation
data: X and Y
t = 20.7387, df = 18, p-value = 5.151e-14
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.9483279 0.9921092
sample estimates:
cor
0.9797091 在输出结果中,t为t统计量,df为自由度,p-value为P值.还有相关系数的置信区间和相关系数的估计值.样本相关系数为0.9797,P值为5.151×10-14,说明两变量高度相关.
例1.31 一项有六个人参加表演的竞赛,有两人进行评定,评定结果如表1.16所示,试检验这两个评定员对等级评定有无相关关系.
表1.16 两位评判者的评定成绩甲的打分123456乙的打分654321
解 由于评定成绩是打分的等级,所以无法用Pearson相关检验.这里选择Spearman秩相关检验方法来完成检验工作.输入数据,作检验(程序名:exam0131.```javascript
R).> x <- 1:6; y <- 6:1
> cor.test(x, y, method = "spearman")
Spearman's rank correlation rho
data: x and y
S = 70, p-value = 0.002778
alternative hypothesis: true rho is not equal to 0
sample estimates:
rho
-1 P值(= 0.002778)<0.05,因此,拒绝原假设,认为变量X与Y相关.事实上,由于计算出的rs=-1,表示这两个量完全负相关,即两人的结论有关系,但结论完全相反.
例1.32 某幼儿园对9对双胞胎的智力进行检验,并按百分制打分.资料如表1.17所示,试用Kendall相关检验方法检验双胞胎的智力是否相关.
表1.17 9对双胞胎的得分情况
先出生的儿童867768917071858763
后出生的儿童887664966580817260
解 由于数据不一定满足正态分布的条件,所以指定使用Kendall秩相关检验方法(程序名:exam0132.R).X <- c(86, 77, 68, 91, 70, 71, 85, 87, 63)
Y <- c(88, 76, 64, 96, 65, 80, 81, 72, 60)
cor.test(X, Y, method = "kendall")
Kendall's rank correlation tau
data: X and Y
T = 31, p-value = 0.005886
alternative hypothesis: true tau is not equal to 0
sample estimates:
tau
0.7222222 P值(=0.005886)<0.05,拒绝原假设,认为双胞胎的智力是相关的,Kendall相关系数为0.7222,表明是正相关的.