典型相关分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关分析的类型
典型相关分析:用于探究一组解释变量与一组反应变量时间的关系。
典型相关分析函数:cancor(x,y,xcenter=T,ycenter=T)
x为第一组变量数据矩阵
y为第二组变量数据矩阵
xcenter表示第一组变量是否中心化
ycenter表示第二组变量是否中心化
自编典型相关函数:cancor.test(x,y,plot=T)
x为第一组变量数据矩阵
y为第二组变量数据矩阵
plot为是否绘制典型相关图
例1:d11.1 生理指标与训练指标之间的典型相关性。
生理指标:体重(x1)、腰围(x2)、脉搏(x3);
训练指标:引体向上次数(y1)、起坐次数(y2)、跳跃次数(y3)。> X<-read.table("clipboard",header=T)
> R<-cor(X)
> R
x1 x2 x3 y1 y2 y3
x1 1.0000 0.8702 -0.36576 -0.3897 -0.4931 -0.22630
x2 0.8702 1.0000 -0.35289 -0.5522 -0.6456 -0.19150
x3 -0.3658 -0.3529 1.00000 0.1506 0.2250 0.03493
y1 -0.3897 -0.5522 0.15065 1.0000 0.6957 0.49576
y2 -0.4931 -0.6456 0.22504 0.6957 1.0000 0.66921
y3 -0.2263 -0.1915 0.03493 0.4958 0.6692 1.00000
> R11<-R[1:3,1:3];R12<-R[1:3,4:6];R21<-R[4:6,1:3];R22<-R [4:6,4:6]
> A<-solve(R11)%*%R12%*%solve(R22)%*%R21 #A=(R11)-1 R12 (R22)-1 R21
> ev<-eigen(A)$values #特征值
> sqrt(ev) #典型相关系数
[1] 0.79561 0.20056 0.07257
以上过程是一步一步计算的,接下来我们使用R自带的典型相关函数:
> xy<-scale(X) #数据标准化
> ca<-cancor(xy[,1:3],xy[,4:6]) #典型相关分析
> ca$cor #典型相关系数
[1] 0.79561 0.20056 0.07257
> ca$xcoef #x的典则载荷
[,1] [,2] [,3]
x1 -0.17789 -0.43230 0.04381
x2 0.36233 0.27086 -0.11609
x3 -0.01356 -0.05302 -0.24107
> ca$ycoef #y的典则载荷
[,1] [,2] [,3]
y1 -0.08018 -0.08616 0.29746
y2 -0.24181 0.02833 -0.28374
y3 0.16436 0.24368 0.09608
典型变量的系数载荷并不唯一,只要是它的任意倍数即可,所以每个软件得出的结果并不一样,而是相差一个倍数。
R自带的典型分析函数cancor()并不包括对典则相关系数的假设检验,为了方便,使用自编典型相关检验函数cancor.test()。
> cancor.test(xy[,1:3],xy[,4:6],plot=T)
$cor
[1] 0.79561 0.20056 0.07257
$xcoef
[,1] [,2] [,3]
x1 -0.17789 -0.43230 0.04381
x2 0.36233 0.27086 -0.11609
x3 -0.01356 -0.05302 -0.24107
$ycoef
[,1] [,2] [,3]
y1 -0.08018 -0.08616 0.29746
y2 -0.24181 0.02833 -0.28374
y3 0.16436 0.24368 0.09608
$xcenter
x1 x2 x3
-5.551e-18 -1.943e-17 1.821e-17
$ycenter
y1 y2 y3
-2.776e-17 3.331e-17 3.365e-17
cancor test:
r Q P
[1,] 0.79561 16.25496 0.06174
[2,] 0.20056 0.67185 0.95475
[3,] 0.07257 0.07128 0.78948
经检验不拒绝原假设,即认为在0.05的水平上没有一个典型相关是显著的。从典型相关图上也可以看出效果不是很理想,所以就不需要做进一步的典型相关分析了。
例2:d11.2 广东省能源消费量与经济增长之间的典型相关分析。
> X<-read.table("clipboard",header=T)
> library(mvstats)
> cancor.test(X[,1:4],X[,5:10],plot=T)
$cor
[1] 0.9990 0.9549 0.7373 0.4267
$xcoef
[,1] [,2] [,3] [,4]
x1 -0.01398 0.2627 -0.1634 -0.05500
x2 0.11887 0.4359 1.5137 -0.02025
x3 0.09036 -0.7627 -1.6045 -0.96536
x4 0.03687 0.1724 0.1985 1.04168
$ycoef
[,1] [,2] [,3] [,4] [,5] [,6]
y1 -0.05901 1.7712 1.05700 1.5687 -2.690 -1.4398
y2 -0.22982 -5.0797 3.72101 1.5689 12.636 6.4680
y3 0.05815 1.2193 0.09171 0.9209 -1.509 -3.9680
y4 0.32723 4.4700 -2.21300 -0.2103 -12.580 -6.8854
y5 0.08586 -0.3787 0.95434 -0.8582 2.151 0.7645
y6 0.05439 -1.9202 -3.59565 -2.9345 1.884 4.9775 $xcenter
x1 x2 x3 x4
3.418e-16 -
4.382e-17 -8.035e-17 -9.641e-17
$ycenter
y1 y2 y3 y4 y5 y6 -5.551e-17 3.871e-17 -9.641e-17 7.888e-17 3.494e-16 8. 327e-17
cancor test: