多元统计分析主成分分析何晓群版课后作业

  • 实验目的

在对某一事物进行实证研究时,为了更全面、准确地反映事物的特征及其发展规律,人们往往要考虑与其有关系的多个指标,这些指标在多元统计中也称为变量。这样就产生了如下问题:                                                                                                                           一方面人们为了避免遗漏重要的信息而考虑尽可能多的指标;另一方面考虑指标的增多增加了问题的复杂性,同时由于各指标均是对同一事物的反映,不可避免地造成信息的大量重叠,这种信息的重叠有时甚至会掩盖事物的真正特征与内在规律。基于上述问题,人们希望在定量研究中涉及的变量较少而得到的信息量又较多。主成分分析正是研究如何通过原来变量的少数几个线性组合来解释原来变量绝大多数信息的一种多元统计方法。

 通过主成分分析,可以从事物之间错综复杂的关系中找出一些主要成分,从而有效和用大量统计数据进行定量分析,揭示变量之间的内在关系,得到对事物特征及其发展规律的一些深层次的启发,把研究工作引向深入。

、实验内容

为了研究新疆14个市农业中产出与投入的关系,我们从新疆统计年鉴2012上收集到各市的粮食产量、农业产值、棉花产量、农业机械总动力、有效灌溉面积、化肥施用量的结构相对数据来进行主成分分析。

Y1:某市的粮食产量(公斤/公顷)        Y2:某市的农业总产值(万元)

Y3:某市的棉花产量(公斤/公顷)        Y4: 某市的农业机械总动力(千瓦)

Y5: 某市的有效灌溉面积(千公顷)    Y6:某市的化肥施用量(吨)

以下是2011年新疆各市粮食产量、农业产值、棉花产量、农业机械总动力、有效灌溉面积、化肥施用量数据。

地区

Y1

(公斤/公顷)

Y2(万元)

Y3(公斤/公顷)

Y4(千瓦)

Y5(千公顷)

Y6(吨)

乌鲁木齐市

7601

163207

1300

307857

48.51

8961

克拉玛依市

9431

37794

1574

30647

13.7

3578

吐鲁番市

54464

232144

1350

213005

14.7

12499

哈密市

6062

162752

1864

186382

50.98

10245

昌吉市

7767

177833

1703

334624

92.51

31049

阜康市

7525

164771

3876

164272

44.21

9949

伊宁市

8556

70225

1071

81697

14.48

3856

奎屯市

50444

9483

1350

12140

4.68

3183

乌苏市

10516

393238

1905

629989

87.78

31731

博乐市

13487

218380

2115

243985

53.2

19455

库尔勒市

4571

407139

2010

471018

55.21

28889

阿克苏市

7636

290012

1955

238993

62.53

59221

喀什市

6219

78051

1500

91933

13.44

5374

和田市

6485

142436

1530

77141

10.37

5781

三、实验过程

1.将数据进行标准化处理。
第1步:读人数据,输出变量之间的相关性。结果显示除 

正在上传…重新上传取消,与各变量的相关性不强
外,其他变量之间均存在较强的相关关系,因此原始数据适合做主成分分析。

ex5<-read.csv(file.choose(),head=TRUE)##选择文件中的数据赋值给ex5

dat5<-ex5[,-1]##去掉ex5中的第一列

rownames(dat5)<-ex5[,1]##确定行名

dat5<-scale(dat5,center=TRUE,scale=TRUE)##将数据标准化

sigm<-cov(dat5)##求协方差阵(cor(dat5)是求相关系数阵)

z<-print(sigm,digits=3)##输出协方差阵

write.csv(z,"1.csv")##

表1

x1

x2

x3

x4

x5

x6

x1

1.000

-0.198

-0.272

-0.238

-0.419

-0.220

x2

-0.198

1.000

0.268

0.896

0.688

0.721

x3

-0.272

0.268

1.000

0.165

0.329

0.188

x4

-0.238

0.896

0.165

1.000

0.823

0.602

x5

-0.419

0.688

0.329

0.823

1.000

0.723

x6

-0.220

0.721

0.188

0.602

0.723

1.000

第2步:计算特征值。结果可以看到,本例保留了前四个个主成分,它们解释了全部变量总方差的 81.594%,说明这 三个主成分代表原来的六个指标研究新疆14个市农业中产出与投入的关系已经足够。

my5<-eigen(sigm)##求特征值

lam<-my5$values##提取特征值

p<-length(lam)##特征值的长度赋值给p

cumlam<-cumsum(lam)/sum(lam)##求出贡献率赋值给cumlam

VE<-data.frame(lam,lam/sum(lam),cumlam)##求出累计贡献率

colnames(VE)<-c("特征值","比例","累计比例")##确定列名

n<-print(VE,digits=5)##输出列表并保留五位小数

write.csv(n,"2.csv")

表2

特征值

比例

累计比例

1

3.466

0.578

0.578

2

1.081

0.180

0.758

3

0.743

0.124

0.882

4

0.426

0.071

0.953

5

0.266

0.044

0.997

6

0.018

0.003

1.000

第3步:计算特征向量和因子负荷量。四个主成分的线性表达式如下:


gam<-my5$vectors##求特征向量

colnames(gam)<-paste("vec",sep="",1:p)##确定列名

m<-print(gam[,1:4],digits=4)##输出列表,并保留小数点后位

write.csv(m,"3.csv")

表3

vec1

vec2

vec3

1

0.2313

0.6477

-0.6804

2

-0.4828

0.2252

-0.1454

3

-0.2094

-0.6607

-0.7110

4

-0.4834

0.2413

0.0324

5

-0.4921

-0.0363

0.0966

6

-0.4401

0.1835

-0.0033

lam_ma<-matrix(lam,p,p,byrow=TRUE)##将列表转化为矩阵

sigmai<-(diag(sigm))^0.5

gamsla<-gam*sqrt(lam_ma)##特征向量##的算数平方根

load<-gamsla/sigmai##特征根/特征向量

colnames(load)<-paste("load",sep="",1:p)##确定行名

b<-print(load[,1:4],digits=4)##输出列表,并保留小数点后四位

write.csv(b,"4.csv")

表4

load1

load2

load3

1

0.4307

0.6735

-0.5865

2

-0.8988

0.2342

-0.1253

3

-0.3899

-0.6870

-0.6130

4

-0.8999

0.2509

0.0279

5

-0.9162

-0.0378

0.0832

6

-0.8192

0.1908

-0.0029

第4步:进一步分析主成分。有三个主成分。 做空间直角坐标系。得到各样品的分布情况,然后可以对样品进行分类。将标准化后的原始数据代人三个主成分的线性表达式,计算各样品的三个主成分得分。

library(scatterplot3d)##调用这个函数

y1<-dat5%*%as.matrix(gam[,1],p,1)##第一主成分

y2<-dat5%*%as.matrix(gam[,2],p,1)##第二主成分

y3<-dat5%*%as.matrix(gam[,3],p,1)##第三主成分

scatterplot3d(y1,y2,y3,pch="+",xlab="第一主成分",ylab="第二主成分",zlab="第三主成分")##画空间直角坐标系的图

 

图1

2.【例5-3】试利用主成分综合评价全国各地水泥制造业规模以上企业的经济效益,原始数据来源于2014年《中国水泥年鉴》

表1  2013年各地区水泥制造业规模以上企业的主要经济指标

X1

企业单位数(个)

X5

主营业务收入(亿元)

X2

流动资产合计(亿元)

X6

利润总额(亿元)

X3

资产总额(亿元)

X7

销售利润率(%)

X4

负债总额(亿元)

地区

x1

x2

x3

x4

x5

x6

x7

北京

8

17.6

43.8

17.8

26.6

-1.4

-5.2

天津

24

43.8

91.7

33.7

35.9

1.5

4.1

河北

231

281.4

993.8

647

565.1

22.7

4

山西

113

103.4

317.4

238.5

124

-2.1

-1.7

内蒙古

116

135.9

384.4

256.8

245.8

11.9

4.8

辽宁

151

151.4

417.6

247.9

350.3

23

6.6

吉林

69

333.7

627.7

415.2

539.8

25.4

4.7

黑龙江

96

142.1

331.6

234.7

183.2

13.5

7.4

上海

14

21.5

28.3

12.6

31.6

1.2

4

江苏

254

300.3

680

435.7

713.3

62.6

8.8

浙江

192

259.8

561.9

300.1

473.9

42.1

8.9

安徽

169

217.2

591.9

305.2

518.8

64.9

12.5

福建

111

93.2

276.4

163.9

284.8

11.2

3.9

江西

138

143.8

398.1

208.4

400.3

47.5

11.9

山东

295

351.8

792.7

412.5

878.3

80.3

9.1

河南

238

388.5

804.2

475.2

673.7

58.3

8.7

湖北

151

193

619.7

360.7

570.5

49.1

8.6

湖南

220

86.4

398.8

212.3

434.1

33.6

7.7

广东

204

217

592.1

345.3

474.3

40.5

8.5

广西

148

116

387.2

178.7

344

49.6

14.4

海南

15

53.1

102.1

52.9

80.7

5.6

6.9

重庆

78

158.3

419.8

294.1

185.1

8.4

4.5

四川

196

218.2

739.1

433.3

465.2

37.1

8

贵州

133

91.5

367.5

244.2

224.7

28.2

12.6

云南

149

134.2

434.7

290.2

251

11.3

4.5

西藏

10

11.3

26.5

5.4

17.4

4.1

23.7

陕西

116

82.2

312.6

203.8

253.2

14.4

5.7

甘肃

68

61.8

213.2

126.8

124.3

13.3

10.7

青海

20

39.5

152.7

123.1

44.4

3

6.7

宁夏

27

36.1

90.1

49.2

45.1

3.4

7.4

新疆

86

220.6

602.7

353.4

136.1

1.5

1.1

三、实验过程

1.将数据进行标准化处理。
第1步:读人数据,输出变量之间的相关性。结果显示除 


外,其他变量之间均存在较强的相关关系,因此原始数据适合做主成分分析。

ex5.3<-read.csv(file.choose(),head=TRUE)##选择文件中的数据赋值给ex5.3

dat53<-ex5.3[,-1]##去掉ex5.3中的第一列

rownames(dat53)<-ex5.3[,1]##确定行名

dat53<-scale(dat53,center=TRUE,scale=TRUE)##将数据标准化

sigm<-cov(dat53)##求协方差阵(cor(dat53)是求相关系数阵)

print(sigm,digits=3)##输出协方差阵

表 1

x1

x2

x3

x4

x5

x6

x7

x1

1.0000

0.7629

0.8518

0.7950

0.9020

0.8213

0.1570

x2

0.7629

1.0000

0.9234

0.8967

0.8809

0.7155

0.0248

x3

0.8518

0.9234

1.0000

0.9809

0.8750

0.6945

0.0252

x4

0.7950

0.8967

0.9809

1.0000

0.8102

0.5818

-0.0506

x5

0.9020

0.8809

0.8750

0.8102

1.0000

0.9032

0.1884

x6

0.8213

0.7155

0.6945

0.5818

0.9032

1.0000

0.4282

x7

0.1570

0.0248

0.0252

-0.0506

0.1884

0.4282

1.0000

第2步:计算特征值。结果可以看到,本例保留了前两个主成分,它们解释了全部变量总方差的 91.036%,说明这 2 个主成分代表原来的7个指标评价企业的经济效益已经足够。

my53<-eigen(sigm)##求特征值

lam<-my53$values##提取特征值

p<-length(lam)##特征值的长度赋值给p

cumlam<-cumsum(lam)/sum(lam)求出贡献率赋值给cumlam

VE<-data.frame(lam,lam/sum(lam),cumlam)##求出累计贡献率

colnames(VE)<-c("特征值","比例","累计比例")##确定列名

print(VE,digits=5)##输出列表并保留五位小数

表 2

特征值

比例

累计比例

1

5.16339

0.73763

0.73763

2

1.20914

0.17273

0.91036

3

0.34189

0.04884

0.95920

4

0.19479

0.02783

0.98703

5

0.04906

0.00701

0.99404

6

0.03415

0.00488

0.99892

7

0.00757

0.00108

1.00000

第3步:计算特征向量和因子负荷量。两个主成分的线性表达式如下:


  主成分的经济意义由各线性组合中系数较大的几个指标的综合意义来确定。主成分巧中,除销售利润率的系数较小外,其他变量的系数大小相当,因此主成分 Y,综合反映水泥企业的整体规模和收入水平。主成分Y5中,变量利润总额和销售利润率的系数较大,后者的系数最大,其他变量的系数较小,因此主成分 Y。主要反映企业的盈利能力。这两个主成分从企业规模和企业盈利能力两个方面刻画企业经济效益,用它们来考核企业经济效益有 91.036%的可靠性。

gam<-my53$vectors##求特征向量

colnames(gam)<-paste("vec",sep="",1:p)##确定列名

print(gam[,1:2],digits=4)##输出列表,并保留小数点后位

表3

vec1

vec2

1

-0.40708

0.04364

2

-0.40956

-0.15500

3

-0.42124

-0.17831

4

-0.39992

-0.26946

5

-0.42630

0.07045

6

-0.37688

0.35951

7

-0.07354

0.85759

lam_ma<-matrix(lam,p,p,byrow=TRUE)##将列表转化为矩阵

sigmai<-(diag(sigm))^0.5

gamsla<-gam*sqrt(lam_ma)##特征向量##的算数平方根

load<-gamsla/sigmai##特征根/特征向量

colnames(load)<-paste("load",sep="",1:p)##确定行名

print(load[,1:2],digits=4)##输出列表,并保留小数点后四位

表 4

load1

load2

1

-0.92500

0.04799

2

-0.93064

-0.17044

3

-0.95720

-0.19607

4

-0.90873

-0.29630

5

-0.96868

0.07747

6

-0.85638

0.39532

7

-0.16709

0.94301

第4步:进一步分析主成分。当主成分有两个时,将各样品的主成分得分在平面直角坐标系上描出来,就可得到各样品的分布情况,然后可以对样品进行分类。将标准化后的原始数据代人两个主成分的线性表达式,计算各样品的两个主成分得分。现将各样品的主成分得分在平面直角坐标系上描出来(使用R软件画散点图并添加辅助线),结果如图5-5所示。

y1<-dat53%*%as.matrix(gam[,1],p,1)##第一主成分

y2<-dat53%*%as.matrix(gam[,2],p,1)##第二主成分

plot(y1,y2,pch="+",xlab="第一主成分",ylab="第二主成分")#3花出图表

abline(h=0,lty=2)

abline(v=0,lty=2)

text(y1,y2,ex5.3[,1],adj=-0.05)##注明每个点的名字

 

正在上传…重新上传取消

图 1
   

由图 1可知,分布在第一象限的地区是广西、江西、安徽、湖南、浙江、广东、湖北江苏和山东,说明这些省区的规模以上的水泥企业的经济效益较好,企业整体规模大且收人高,盈利能力强;分布在第三象限的地区是黑龙江、陕西、福建、云南、重庆、山西新疆、上海、天津、北京,说明这些地区的规模以上的水泥企业的经济效益较差,企业能体规模小且盈利能力弱,尤其是北京地区的水泥企业的经济效益最差,主要是由于北京地区较大规模的水泥企业比较少。
   虽然可以根据各地区的主成分得分对各地区规模以上工业企业的经济效益或规模以上水泥企业的经济效益进行比较分析或分类研究,但因为此处主成分的意义并不十分明朗,我们把更深入的分析放到下一章,以期得到更合理、更容易解释的结果。

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值