天天看点

《数学建模:基于R》一一1.6 相关性检验

本节书摘来自华章计算机《数学建模:基于r》一书中的第1章,第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 &lt;- c( 68,<code>`</code>javascript

63, 70, 6, 65, 9, 10, 12, 20, 30,

    33, 27, 21, 5, 14, 27, 17, 53, 62, 65)

y &lt;- 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

-1 p值(= 0.002778)&lt;0.05,因此,拒绝原假设,认为变量x与y相关.事实上,由于计算出的rs=-1,表示这两个量完全负相关,即两人的结论有关系,但结论完全相反.

例1.32 某幼儿园对9对双胞胎的智力进行检验,并按百分制打分.资料如表1.17所示,试用kendall相关检验方法检验双胞胎的智力是否相关.

表1.17 9对双胞胎的得分情况

先出生的儿童867768917071858763

后出生的儿童887664966580817260

解 由于数据不一定满足正态分布的条件,所以指定使用kendall秩相关检验方法(程序名:exam0132.r).x &lt;- c(86, 77, 68, 91, 70, 71, 85, 87, 63)

0.7222222 p值(=0.005886)&lt;0.05,拒绝原假设,认为双胞胎的智力是相关的,kendall相关系数为0.7222,表明是正相关的.