目录
什么是典型相关分析
典型相关分析基本架构
简单相关分析
多变量相关分析
典型相关分析
典型相关分析的基本原理
R实现
20名中年人的生理指标和训练指标
广州省能源消费量与经济增长之间的典型相关分析
什么是典型相关分析
用于探讨一组解释变量-亦即预测变量与一组反应变量间的关系即是典型相关分析-canonical correlation analysis,比如在体育训练中,考察运动员身体的各项指标与训练成绩之间的关系,典型相关分析可以说是复相关分析的延伸。
典型相关分析基本架构
简单相关分析
多变量相关分析
典型相关分析
典型相关分析的基本原理
假设有两组变量,采用类似主成分分析的做法,在每一组变量中选择若干个有代表性的综合指标-变量的线性组合,通过研究两组的综合指标之间的关系来反映两组变量之间的相关关系,基本原理如下:首先在魅族变量中找出变量的线性组合,使其具有最大相关性,然后再每组变量中找出第二对线性组合,使其分别与第一对线性组合不相关,而第二对线性组合本身具有最大的相关性,如此继续下去,直到两组变量之间的相关性被提取完毕。
R实现
20名中年人的生理指标和训练指标
x1 x2 x3 y1 y2 y3
191 36 50 5 162 60
189 37 52 2 110 60
193 38 58 12 101 101
162 35 62 12 105 37
189 35 46 13 155 58
182 36 56 4 101 42
211 38 56 8 101 38
167 34 60 6 125 40
176 31 74 15 200 40
154 33 56 17 251 250
169 34 50 17 120 38
166 33 52 13 210 115
154 34 64 14 215 105
247 46 50 1 50 50
193 36 46 6 70 31
202 37 62 12 210 120
176 37 54 4 60 25
157 32 52 11 230 80
156 33 54 15 225 73
138 33 68 2 110 43
计算相关系数矩阵
> X=read.table("clipboard",header=T)#读取例11.1数据
> (R=cor(X))
x1 x2 x3 y1 y2 y3
x1 1.0000000 0.8702435 -0.36576203 -0.3896937 -0.4930836 -0.22629556
x2 0.8702435 1.0000000 -0.35289213 -0.5522321 -0.6455980 -0.19149937
x3 -0.3657620 -0.3528921 1.00000000 0.1506480 0.2250381 0.03493306
y1 -0.3896937 -0.5522321 0.15064802 1.0000000 0.6957274 0.49576018
y2 -0.4930836 -0.6455980 0.22503808 0.6957274 1.0000000 0.66920608
y3 -0.2262956 -0.1914994 0.03493306 0.4957602 0.6692061 1.00000000
>
求特征值和典型相关系数
> 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
> ev=eigen(A)$values# 特征值
> ev
[1] 0.632992335 0.040222726 0.005266446
> sqrt(ev)#典型相关系数
[1] 0.79560815 0.20055604 0.07257029
>
典型相关系数检验,确定典型变量
> xy=scale(X)#数据标准化
> ca=cancor(xy[,1:3],xy[,4:6])#典型相关分析
> ca$cor#典型相关系数
[1] 0.79560815 0.20055604 0.07257029
> ca$xcoef#第一组变量的典型载荷
[,1] [,2] [,3]
x1 -0.17788841 -0.43230348 0.04381432
x2 0.36232695 0.27085764 -0.11608883
x3 -0.01356309 -0.05301954 -0.24106633
> ca$ycoef#第二组变量的典型载荷
[,1] [,2] [,3]
y1 -0.08018009 -0.08615561 0.29745900
y2 -0.24180670 0.02833066 -0.28373986
y3 0.16435956 0.24367781 0.09608099
>
检验
> library(mvstats)
> cancor.test(xy[,1:3],xy[,4:6],plot=T)#典型相关分析及检验作图
$`cor`
[1] 0.79560815 0.20055604 0.07257029
$xcoef
[,1] [,2] [,3]
x1 -0.17788841 -0.43230348 0.04381432
x2 0.36232695 0.27085764 -0.11608883
x3 -0.01356309 -0.05301954 -0.24106633
$ycoef
[,1] [,2] [,3]
y1 -0.08018009 -0.08615561 0.29745900
y2 -0.24180670 0.02833066 -0.28373986
y3 0.16435956 0.24367781 0.09608099
$xcenter
x1 x2 x3
-5.551115e-18 -1.942890e-17 1.821460e-17
$ycenter
y1 y2 y3
-2.775558e-17 3.330669e-17 3.365364e-17
cancor test:
r Q P
[1,] 0.79560815 16.2549575 0.06174456
[2,] 0.20055604 0.6718487 0.95475464
[3,] 0.07257029 0.0712849 0.78947507
>
广州省能源消费量与经济增长之间的典型相关分析
年份 x1 x2 x3 x4 y1 y2 y3 y4 y5 y6
1984 867.7 483.52 662.35 30 145.25 154.33 33.22 125.93 5576.6 818.37
1985 955.2 531.74 700.16 30.03 171.87 185.81 44.01 175.69 5656.6 954.12
1986 1019.3 624.53 797.59 231.83 188.37 208.46 47.42 223.28 5740.7 1102.1
1987 1144.4 678.17 944.6 175.46 232.14 273.77 56.58 284.2 5832.1 1320.9
1988 1451.1 756.01 1017.6 165.54 306.5 386.35 73.82 388.7 5928.3 1583.1
1989 1575.2 893.28 1112.6 375.61 351.73 464.06 90.07 475.53 6025 2086.2
1990 1326 919.61 1313.7 474.8 384.59 523.42 92.45 558.58 6246.3 2303.2
1991 1459.2 1055.7 1515.5 517.89 416 675.55 107.12 694.63 6348.9 2752.2
1992 1535.9 1149.4 1817 1046.3 465.83 899.28 201.04 881.39 6463.2 3476.7
1993 1693.8 1173.9 2174.5 1779.9 559.67 1380.2 320.73 1171.3 6581.6 4632.4
1994 1749.5 1328.3 2630.8 1605.2 694.65 1847.6 394.37 1580 6692 6367.1
1995 1906.8 1476 2803.7 1575.5 868.99 2413.8 462.91 1988.2 6788.7 7438.7
1996 1804.4 1506.2 3072 2354.6 941.73 2788.8 480.53 2308.1 6896.8 8157.8
1997 1756.3 1472.6 3090.8 3064.6 986.82 3158.7 489.08 2680.9 7013.7 8561.7
1998 1681.3 1737.9 3273.8 2954.2 1004.9 3463.1 528.85 2922.2 7115.6 8839.7
1999 1541.8 1912.5 3454.3 2668.3 1021.3 3705.9 558.44 3178.7 7298.9 9125.9
2000 1552.7 2052.1 4122.4 2757.4 1000.1 4295 573.72 3793.4 7498.5 9761.6
2001 1554.3 2209.2 4506.3 3662.6 1004.4 4732.4 609.2 4301.8 7565.3 10415
2002 1574.9 2346.1 5343.9 4211.2 1032.8 5288.5 647.1 4801.3 7649.3 11137
> d.2=read.table("clipboard",header=T)#选取例11.2数据
> cancor.test(d.2[,1:4],d.2[5:10],plot=T)
$`cor`
[1] 0.9990222 0.9549215 0.7372625 0.4267113
$xcoef
[,1] [,2] [,3] [,4]
x1 -0.01398338 0.2627242 -0.1633945 -0.05500050
x2 0.11886915 0.4359084 1.5136720 -0.02025096
x3 0.09035694 -0.7627282 -1.6045267 -0.96535666
x4 0.03687362 0.1724089 0.1985098 1.04168316
$ycoef
[,1] [,2] [,3] [,4] [,5] [,6]
y1 -0.05900682 1.7711541 1.05700423 1.5686538 -2.689797 -1.4397779
y2 -0.22982193 -5.0796599 3.72100577 1.5689112 12.636121 6.4680292
y3 0.05815256 1.2193116 0.09171477 0.9209067 -1.508867 -3.9679901
y4 0.32722774 4.4699954 -2.21299707 -0.2103381 -12.579865 -6.8854323
y5 0.08585993 -0.3786835 0.95433947 -0.8581875 2.151352 0.7645358
y6 0.05439361 -1.9202108 -3.59564677 -2.9345146 1.884370 4.9775014
$xcenter
x1 x2 x3 x4
3.418318e-16 -4.382459e-17 -8.034509e-17 -9.641410e-17
$ycenter
y1 y2 y3 y4 y5
-5.551115e-17 3.871172e-17 -9.641410e-17 7.888427e-17 3.494098e-16
y6
8.326673e-17
cancor test:
r Q P
[1,] 0.9990222 120.647898 7.438494e-15
[2,] 0.9549215 39.264245 5.850938e-04
[3,] 0.7372625 10.345472 2.416105e-01
[4,] 0.4267113 1.909441 5.914135e-01
>
经检验在0.05水平上,有两个典型相关是显著的。于是可得前两对典型变量的线性组合:
-0.01398338x1 + 0.11886915x2 + 0.09035694x3 + 0.03687362x4 = V1
-0.05900682y1 + -0.22982193y2 + 0.05815256y3 + 0.32722774y4 + 0.08585993y5 + 0.05439361y6 = U1
…………
解释如下:
r1 = 0.9990222,说明u1与v1之间具有高度的相关关系,尤其是拥有绝对值较大的权系数,而各自的线性组合中变量大多为正数,说明能源消耗越高,经济增长越快。油品,电力,进口能源拥有较大载荷,说明油品,电力是能源消费量的重要指标,在能源消费中占主导地位,x4较x1较大,说明随着经济的发展,本地能源不足以满足经济发展需求,进口能源逐渐凸显其重要性。