R语言统计分析(一般相关分析和典型相关分析)

标签:
r语言绘图统计相关性分析杂谈 |
分类: 数据统计与分析 |
数据
表1 2012某省各地区运输业相关数据 |
||||||
地区 |
投资总额 (亿元) |
从业人数 (万人) |
能源投入 (万吨标准煤) |
地区GDP (亿元) |
CO2排放量 (万吨) |
|
A |
211.64 |
18.13 |
159.97 |
5549.79 |
398.81 |
|
B |
24.95 |
2.63 |
58.81 |
1207.05 |
146.61 |
|
C |
115.92 |
3.08 |
82.51 |
2981.12 |
205.70 |
|
D |
20.58 |
2.28 |
106.76 |
1495.80 |
266.15 |
|
E |
56.83 |
1.46 |
86.66 |
1566.90 |
216.04 |
|
F |
15.95 |
0.36 |
27.17 |
545.78 |
67.73 |
|
G |
14.75 |
1.91 |
70.40 |
1619.77 |
175.51 |
|
H |
42.68 |
2.24 |
163.26 |
1551.35 |
407.01 |
|
I |
31.56 |
0.80 |
62.85 |
989.70 |
156.69 |
|
G |
24.56 |
1.54 |
63.22 |
1716.19 |
157.61 |
|
K |
15.86 |
0.85 |
25.22 |
797.12 |
62.87 |
|
L |
94.30 |
0.98 |
26.83 |
1127.32 |
66.89 |
|
M |
71.78 |
3.02 |
69.60 |
2340.73 |
173.51 |
|
N |
29.56 |
2.34 |
207.87 |
1397.28 |
518.22 |
|
O |
70.85 |
2.02 |
117.29 |
1397.32 |
292.40 |
|
P |
32.54 |
2.05 |
100.24 |
1574.72 |
249.90 |
|
Q |
19.00 |
2.15 |
81.98 |
1373.55 |
204.38 |
|
R |
3.47 |
0.16 |
35.59 |
430.86 |
88.73 |
|
一般相关分析
相关关系是指两个变量的数值变化存在的不完全确定的依存关系,他们之间的数值不能用方程表示出来,但是可以用某种相关性度量来刻画。进行相关分析的代码如下:
setwd("c:\\Data\\")
diqu<-read.table(file="diqu.txt",header=TRUE)
x1<-diqu$Invest
x2<-diqu$Worker
x3<-diqu$Energy
y1<-diqu$GDP
y2<-diqu$Carbon
test<-data.frame(x1,x2,x3,y1,y2)
pairs(test)
cor.test(x1,y1)
cor.test(x2,y1)
cor.test(x3,y1)
cor.test(x1,y2)
cor.test(x2,y2)
cor.test(x3,y2)
散点图是一种最为简单和最为有效的相关性分析工具。下图是通过调用函数pairs()根据表1中的五项数据绘制的散点图。可以看出,x3和y2之间的散点图呈直线形式,这是因为能源投入和二氧化碳排放量之间存在着函数关系。
以上代码调用了函数cor.test()进行了Pearson相关性检验,将运行的结果汇总至下表,如下所示:
|
|||||
相关系数 |
p值 |
||||
|
y1 |
y2 |
|
y1 |
y2 |
x1 |
0.890503 |
0.32899 |
x1 |
7.33E-07 |
0.1825 |
x2 |
0.927572 |
0.465896 |
x2 |
3.03E-08 |
0.05134 |
x3 |
0.468397 |
1 |
x3 |
0.04993 |
2.2E-16 |
根据上表,发现x1 y1 、x1y2 、x2 y1 、x3 y1 和x3 y2 之间的p值小于0.05,故拒绝原假设,认为它们之间是相关的,其中x1 y1 、x2 y1和x3 y2之间的相关系数大于0.8,故认为它们之间是高度相关的。
典型相关分析
典型相关分析是利用综合变量对之间的相关关系来反映两组指标之间的整体相关性的多元统计分析方法。它的基本原理是:为了从总体上把握两组指标之间的相关关系,分别在两组变量中提取有代表性的两个综合变量U1和V1(分别为两个变量组中各变量的线性组合),利用这两个综合变量之间的相关关系来反映两组指标之间的整体相关性。
简单相关系数描述两组变量的相关关系的缺点:只是孤立考虑单个X与单个Y间的相关,没有考虑X、Y变量组内部各变量间的相关。两组间有许多简单相关系数,使问题显得复杂,难以从整体描述。典型相关是简单相关、多重相关的推广。典型相关是研究两组变量之间相关性的一种统计分析方法。也是一种降维技术。
典型相关分析的实质就是在两组随机变量中选取若干个有代表性的综合指标(变量的线性组合), 用这些指标的相关关系来表示原来的两组变量的相关关系。这在两组变量的相关性分析中, 可以起到合理的简化变量的作用; 当典型相关系数足够大时, 可以像回归分析那样, 由一组变量的数值预测另一组变量的线性组合的数值。
本文将表1中相关,数据指标分为两类,即投入要素和产出要素。投入要素用X来表示,包括各地区对运输业的固定资产投资、从业人数和资源投入三项数据;产出要素用Y表示,包括各地区的GDP和运输活动引起的CO2排放量两项数据。以下是进行典型相关分析的代码:
setwd("c:\\Data\\")
diqu<-read.table(file="diqu.txt",header=TRUE)
x1<-diqu$Invest
x2<-diqu$Worker
x3<-diqu$Energy
y1<-diqu$GDP
y2<-diqu$Carbon
test<-data.frame(x1,x2,x3,y1,y2)
test<- scale(test)
ca<-cancor(test[,1:3],test[,4:5])
U<-as.matrix(test[,1:3])%*%
ca$xcoef
V<-as.matrix(test[,4:5])%*% ca$ycoef
par(mfrow=c(1,2))
plot(U[,1],V[,1],xlab="U1",ylab="V1")
plot(U[,2],V[,2],xlab="U2",ylab="V2")
调用函数cancor()进行的典型相关分析,运行结果如下:
$cor
[1] 1.0000000 0.9400122
$xcoef
x1 -8.719192e-07 -0.1162142
x2
x3
$ycoef
y1 -2.770303e-06 -0.2745123
y2
$xcenter
$ycenter
运行结果中的cor为相关系数,因为cancor参数中最小的维度是2,所以这里有两个相关系数。典型相关分析的基本思想是首先找到变量X的一个线性组合,如V1=a1Y1+a2Y2…aqYq,及变量Y的一个线性组合,如U1=b1X1+b2X2++bpXp ,所以这里的xcoef和ycoef代表的就是系数a和b,称之为典型相关变量的载荷,
cancor默认参数xcenter和ycenter是对数据进行了中心化处理。
下图是根据U1、V1和
|
由散点图可知第一典型相关变量分布接近一条直线;第二典型相关变量数据分布也在一条直线附近。因此,我们推断变量组X和变量组Y之间相关度很高。