基于主成分分析的各省经济状况评估

阅读: 评论:0

基于主成分分析的各省经济状况评估

基于主成分分析的各省经济状况评估

  • 验目的及要求:
  1. 学会主成分分析的建模方法;
  2. 学会借助R软件进行基本的数据建模分析。
  • 实验仪器:

Windows10系统,R Studio软件等。

  • 实验原理:

主成分分析是一种降维技术,简单的说就是将数据中的多个变量,化为几个主要的变量反映原本数据中的绝大部分信息。

在工作中,我们常常遇到一些多维数据(即一组数据中存在多个变量、属性,或者说需要用多个变量、字段、属性去表示一组数据)。明显,数据中用到的维度越少,越便于我们的工作和研究。所以这时,我们就需要用到主成分分析,将原本多维的数据变化为低维数据。

主成分分析步骤:

1)对原始数据标准化处理(0均值化处理)

2)计算样本相关系数矩阵(或协方差矩阵)

3)计算协方差矩阵的特征值和特征向量、

4)选择重要的主成分,并写出主成分表达式。选择多少个主成分,主要是依据方差累积贡献率来进行的。一般情况上,选择累积贡献率(Gm)大于85%的部分。

5)计算主成分载荷,主成分载荷是反映主成分Yi 与原变量 Xj之间的相互关联程度。

6)计算主成分得分,根据主成分得分的数据,做进一步的统计分析。

  • 实验方法

主成分分析的应用十分广泛,在商业中被用来对高维的数据集口模型降维达到简化计算和模型的目的,常见的案例有业务员综合能力评估、地区发展综合评估等等。这些案例往往涉及很多的评价指标这时候就需要进行数据降维,用较少的几个新变量代替原本的变量而尽可能保留原有信息,计算出综合得分,进而给出综合评价结果。本文收集了2019年31个省市的各领域人均消费数据,并针对这些数据进行主成分分析,进一步实现降维的目标。

  • 实验过程

31个省市各指标部分数据:

 

表1 变量描述

变量

描述

Food

食品

clothes

衣着

facility

家庭设备用品及服务

healthcare

医疗保健

transport

交通和通讯

entertainment

娱乐教育文化服务

residence

居住

others

杂项商品和服务

 图1 样本相关系数矩阵

根据相关矩阵放映的结果,我们发现食品(food)指标与杂项商品与服务(others)指标相关性较强;交通与通讯(transport)指标与居住(residence)指标相关性较强;娱乐教育文化服务(entertainment)指标与家庭设备用品及服务(facility)指标相关性较强,这也符合我们客观的认识规律,我们进一步猜测该数据集存在可降维的空间。

 图2 主成分分析输出结果

由程序运行结果可知主成分的标准差,即相关矩阵的八个特征值开方各为:

由输出结果可以看出,前两个主成分的累积贡献率为0.8062456,超过80%,故我们选取这两个主成分即可。第一主成分以及第二主成分分别为:

 第一个主成分的系数符号均为正,第二个主成分中衣着指标、医疗保健指标的系数符号为负,交通和通讯指标、居住指标的系数符号为正,其余指标系数为0。因此可以将第一主成分理解为均衡因子,第二主成分理解为差异因子。

图3 主成分预测

特别注意各样本点在第一主成分以及第二主成分上的得分,以1号北京市为例,第一主成分得分为正,且绝对值较大,说明北京市的各项经济指标较好。第二主成分得分为负,且绝对值较大,说明北京市的衣着指标、医疗保健指标的经济价值要大于交通和通讯指标、居住指标的经济价值。

 图4 碎石图

从碎石图中可以直观看出,前两个主成分的方差占了总方差变化的绝大部分,因此我们选取主成分个数为2是合理的。

 图5 两个主成分的因子载荷图

两个主成分的载荷散点图进一步直观表明了两个主成分之间的差异特征,居住因素以及交通因素在第二主成分上载荷绝对值大且取正值,医疗因素在第二主成分上载荷绝对值大且取负值。

图6  31个样本点关于前两个主成分的散点图

图6进一步呈现了各样本点在该坐标系下的位置。如1号(北京)、11号(浙江)19号(广东)样本点相对于comb1轴靠右,对应经济发展较好的省市。其中1号(北京)在comb2州更靠下,19号(广东)在comb2轴更靠上,反映19号(广东)尤其在医疗指标上要逊色于1号(北京)。故而我们通过主成分分析能够更好的简化指标以及模型,达到降维的效果,同时也进一步确定了各指标的得分权重,使得评价结果更加客观合理。为进一步验证模型的合理性,我们将主成分得分结果与31个省市的GDP数据进行对比,发现主成分得分排名与GDP排名具有相同的趋势性,进一步说明了该模型是合理有效的。

表2 第一主成分得分与实际GDP对比表

地区

GDP

Comb1

北京

36102.6

5.516

天津

14083.73

2.040

河北

36206.9

-0.782

山西

17651.93

-1.879

内蒙古

17360

-1.857

辽宁

25115

-1.335

吉林

12311.32

-1.891

黑龙江

13698.5

-1.959

上海

38700.58

5.964

江苏

102719

0.414

浙江

64613

3.643

安徽

38680.6

-1.826

福建

43903.89

0.204

江西

25691.5

-2.271

山东

73129

-0.150

河南

54997.07

-1.979

湖北

43443.46

-0.729

湖南

41781.49

0.223

广东

110760.94

5.676

广西

22156.69

-0.256

海南

5532,39

-1.177

重庆

25002.79

1.134

四川

48598.8

-0.542

贵州

17826.56

-1.320

云南

24500

0.443

西藏

1902.74

0.445

陕西

26181.36

-0.874

甘肃

9016.7

-1.575

青海

3005.92

-1.062

宁夏

3920.55

-1.527

新疆

13797.58

-0.709

  • 实验代码及结果:

> f<-read.table(file="C:/recv/pp.CSV",sep=",",header = T)> R=round(cor(f),3)#求样本相关系数矩阵,> Rfood clothes facility healthcare transport entertainment residence othersfood          1.000   0.247    0.698      0.468     0.828         0.769     0.670  0.877clothes       0.247   1.000    0.258      0.423     0.086         0.255    -0.201  0.349facility      0.698   0.258    1.000      0.621     0.585         0.856     0.569  0.667healthcare    0.468   0.423    0.621      1.000     0.531         0.684     0.314  0.628transport     0.828   0.086    0.585      0.531     1.000         0.708     0.800  0.776entertainment 0.769   0.255    0.856      0.684     0.708         1.000     0.647  0.745residence     0.670  -0.201    0.569      0.314     0.800         0.647     1.000  0.525others        0.877   0.349    0.667      0.628     0.776         0.745     0.525  1.000> symnum(cor(f,use="complete.obs"))fd c fc h t e r ofood          1                clothes          1             facility      ,    1           healthcare    .  . ,  1        transport     +    .  . 1      entertainment ,    +  , , 1    residence     ,    .  . + , 1  others        +  . ,  , , , . 1attr(,"legend")[1] 0 ‘ ’ 0.3 ‘.’ 0.6 ‘,’ 0.8 ‘+’ 0.9 ‘*’ 0.95 ‘B’ 1> PCAf=princomp(f,cor=T)#用样本相关系数矩阵做相关性分析> PCAfCall:princomp(x = f, cor = T)Standard deviations:Comp.1    Comp.2    Comp.3    Comp.4    Comp.5    Comp.6    Comp.7    Comp.82.2578087 1.1628692 0.7581054 0.6374099 0.5303471 0.3496810 0.3044301 0.26980998  variables and  31 observations.> summary(PCAf,loadings=T)#列出主成分分析结果Importance of components:Comp.1    Comp.2     Comp.3     Comp.4    Comp.5    Comp.6     Comp.7Standard deviation     2.2578087 1.1628692 0.75810535 0.63740988 0.5303471 0.3496810 0.30443012Proportion of Variance 0.6372125 0.1690331 0.07184047 0.05078642 0.0351585 0.0152846 0.01158471Cumulative Proportion  0.6372125 0.8062456 0.87808609 0.92887251 0.9640310 0.9793156 0.99090033Comp.8Standard deviation     0.269809906Proportion of Variance 0.009099673Cumulative Proportion  1.000000000Loadings:Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8food           0.401         0.415  0.209  0.221                0.750clothes        0.132 -0.749  0.332  0.152 -0.529                     facility       0.375        -0.442  0.547        -0.559  0.181 -0.105healthcare     0.320 -0.345 -0.478 -0.659                       0.309transport      0.388  0.232  0.279 -0.366 -0.214 -0.103  0.673 -0.273entertainment  0.406        -0.310  0.233         0.806        -0.163residence      0.326  0.496               -0.580        -0.548       others         0.396         0.345 -0.107  0.529        -0.435 -0.476> round(predict(PCAf),3)#做预测,即计算个样本主成分得分Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8[1,]  5.516 -2.507 -0.772 -0.342  0.490  0.743 -0.099 -0.089[2,]  2.040 -0.046 -0.836  0.846  0.243 -0.377 -0.550  0.247[3,] -0.782 -0.590 -0.660 -0.411 -0.327  0.016  0.123 -0.077[4,] -1.879 -0.411 -0.057 -0.086  0.285 -0.137 -0.136 -0.287[5,] -1.857 -0.518  0.129 -0.102 -0.209  0.164  0.164 -0.522[6,] -1.335 -0.859 -0.073 -0.576 -0.427  0.060  0.031  0.546[7,] -1.891 -0.154 -0.040 -0.296 -0.452  0.344 -0.044  0.281[8,] -1.959 -0.647 -0.282 -0.863 -0.369 -0.112 -0.026  0.311[9,]  5.964  0.199  0.118  1.086  0.600 -0.098 -0.135  0.263[10,]  0.414  0.317 -0.214  0.862  0.385 -0.433  0.178  0.045[11,]  3.643 -0.541 -0.786 -0.684 -0.175 -0.442  0.429  0.272[12,] -1.826  0.528  0.331  0.643  0.030  0.481  0.519  0.163[13,]  0.204  1.360  1.301  0.232 -0.124 -0.239  0.307  0.674[14,] -2.271  1.898  0.074  0.333 -0.101  0.014 -0.423 -0.012[15,] -0.150 -1.000 -0.366  0.914 -0.548 -0.277  0.241 -0.417[16,] -1.979  0.395 -0.217 -0.245 -0.303 -0.501 -0.289  0.073[17,] -0.729  0.251 -0.055  0.278 -0.825  0.663 -0.477  0.106[18,]  0.223  0.207 -0.029  0.470 -0.483  0.544  0.022 -0.237[19,]  5.676  3.123  0.522 -1.529 -0.896 -0.188  0.010 -0.463[20,] -0.256  2.093 -0.037  0.291  0.044  0.452 -0.123 -0.046[21,] -1.177  1.945  0.462 -0.590  1.856  0.348  0.327 -0.079[22,]  1.134 -0.417  0.127  0.630 -0.580  0.272  0.742  0.025[23,] -0.542 -0.042  0.163  0.419 -0.135  0.305 -0.295  0.120[24,] -1.320  0.348 -0.123  0.817  0.152 -0.518  0.342 -0.242[25,]  0.443 -0.487  0.649 -0.041  0.511 -0.002 -0.514 -0.147[26,]  0.445 -2.404  3.234 -0.230 -0.067 -0.319 -0.208 -0.121[27,] -0.874  0.509 -1.116 -0.074 -0.038 -0.453 -0.300 -0.055[28,] -1.575 -0.535 -0.121 -0.003  0.577 -0.113 -0.024 -0.247[29,] -1.062 -0.433 -0.359 -0.953  0.664  0.100 -0.106  0.132[30,] -1.527 -0.922 -0.602 -1.090  0.333 -0.159  0.246  0.041[31,] -0.709 -0.658 -0.363  0.294 -0.115 -0.138  0.068 -0.257> screeplot(PCAf,type="lines")#做碎石图> load=loadings(PCAf)#提取主成分载荷矩阵> plot(load[,1:2],xlim=c(-0.6,0.6),ylim=c(-0.6,0.6))#做前六个主成分的载荷散点图> rnames=c("食品","衣着","家庭设备","医疗","交通","娱乐","居住","其他")#使用中文名称> text(load[,1],load[,2],labels = rnames,adj=c(-0.3,1.5))> abline(h=0,v=0)> biplot(PCAf,scale=0.5)> 

本文发布于:2024-02-02 15:27:52,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170685887144708.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:经济状况   成分
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23