使用R语言进行主成分和因子分析

news2024/11/16 21:48:08

一、数据描述

数据来源2013年各地区水泥制造业规模以上企业的各主要经济指标,原始数据来源于2014年(《中国水泥统计年鉴》),试对用主成分和因子进行经济效益评价。

地区,企业个数(亿元),流动资产合计(亿元),资产总额(亿元),负债总额(亿元),主营业务收入(亿元),利润总额(亿元),销售利润率(%)
北京,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

二、读入数据

df<-read.csv('f:/桌面/水泥制造企业.csv')attach(df)

attach(df)
names(df)<-c('areas','x1','x2','x3','x4','x5','x6','x7')

df

 df
    areas  x1    x2    x3    x4    x5   x6   x7
1    北京   8  17.6  43.8  17.8  26.6 -1.4 -5.2
2    天津  24  43.8  91.7  33.7  35.9  1.5  4.1
3    河北 231 281.4 993.8 647.0 565.1 22.7  4.0
4    山西 113 103.4 317.4 238.5 124.0 -2.1 -1.7
5  内蒙古 116 135.9 384.4 256.8 245.8 11.9  4.8
6    辽宁 151 151.4 417.6 247.9 350.3 23.0  6.6
7    吉林  69 333.7 627.7 415.2 539.8 25.4  4.7
8  黑龙江  96 142.1 331.6 234.7 183.2 13.5  7.4
9    上海  14  21.5  28.3  12.6  31.6  1.2  4.0
10   江苏 254 300.3 680.0 435.7 713.3 62.6  8.8
11   浙江 192 259.8 561.9 300.1 473.9 42.1  8.9
12   安徽 169 217.2 591.9 305.2 518.8 64.9 12.5
13   福建 111  93.2 276.4 163.9 284.8 11.2  3.9
14   江西 138 143.8 398.1 208.4 400.3 47.5 11.9
15   山东 295 351.8 792.7 412.5 878.3 80.3  9.1
16   河南 238 388.5 804.2 475.2 673.7 58.3  8.7

...

三、对样本数据进行主成分分析

1.提取主成分

df.pr<-princomp(df[,c('x1','x2','x3','x4','x5','x6','x7')],cor=TRUE,scores=TRUE)
summary(df.pr,loadings = TRUE)

运行得到:

summary(df.pr,loadings = TRUE)
Importance of components:
                         Comp.1   Comp.2   Comp.3    Comp.4     Comp.5     Comp.6     Comp.7
Standard deviation     2.272309 1.099611 0.584717 0.4413558 0.22149843 0.18479654 0.08698225
Proportion of Variance 0.737627 0.172735 0.048842 0.0278278 0.00700879 0.00487854 0.00108084
Cumulative Proportion  0.737627 0.910362 0.959204 0.9870318 0.99404062 0.99891916 1.00000000

Loadings:
   Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7
x1  0.407         0.340  0.681  0.478  0.151       
x2  0.410 -0.155 -0.227 -0.591  0.596  0.224       
x3  0.421 -0.178 -0.301  0.135 -0.338  0.190 -0.729
x4  0.400 -0.269 -0.450  0.216 -0.311         0.643
x5  0.426         0.272 -0.183        -0.831 -0.118
x6  0.377  0.360  0.479 -0.283 -0.439  0.433  0.196
x7         0.858 -0.486         0.102           

说明:a、前两个主成分累计贡献率为91.036%,所有可以用前两个主成分来降维。

b、主成分的表达式:

Y1=0.407x1+0.410x2+0.421x3+0.400x4+0.426x5+0.377x6

Y2=-0.155x2-0.178x3-0.269x4+0.360x6+0.858x7

主成分的经济意义各线性组合中系数较大的几个指标的综合意义确定,成分Y1在x1,x2,x3,x4,x5这这个指标系数较大,在x6,x7系数较小,所有Y1主要反映的是水泥企业的整体规模和收入水平。主成分Y2在x6,x7上面系数较大,在其他指标上面系数较小,因此主成分2主要反映的是水泥企业的盈利能力。

2、计算主成分得分

主成分得分就是把各样本数据代入两个主成分的线下表达式,从而计算主成分得分。

df.pr$scores
df1<-data.frame(df$areas,df.pr$scores)
df1

df1<-data.frame(df$areas,df.pr$scores)
> df1
   df.areas    Comp.1      Comp.2     Comp.3      Comp.4      Comp.5       Comp.6      Comp.7
1      北京 -3.515640 -1.82793290  1.2312186 -0.42043074 -0.20977172  0.058936541 -0.02181273
2      天津 -3.003073 -0.27388041  0.3057919 -0.26320901  0.07346600  0.064959941 -0.08878631
3      河北  3.492990 -1.76504930 -1.1354352  0.83091321 -0.27063999 -0.224951646 -0.06432118
4      山西 -1.366870 -1.86572957  0.2729763  0.44984962  0.17070907  0.104080572  0.11184461
5    内蒙古 -0.502928 -0.61534857 -0.1095937  0.19265129  0.09068896 -0.045207363  0.04420153
6      辽宁  0.179882 -0.10846130  0.1796696  0.21988421  0.17106575 -0.106211797 -0.03572307
7      吉林  1.642415 -1.10452228 -0.8629399 -1.39822126 -0.01338830 -0.426576464  0.02692693
8    黑龙江 -0.781065 -0.10578258 -0.3740632  0.00035975  0.15311967  0.125397343  0.13894098
9      上海 -3.320677 -0.18636325  0.4490147 -0.28078672  0.01768420 -0.026870111 -0.00445479
10     江苏  3.615331  0.32645483  0.4863494 -0.08531633  0.13592028 -0.091041741  0.23298086
11     浙江  1.788433  0.29379000  0.1195645 -0.19348952  0.40015949  0.170807670 -0.08634148
12     安徽  2.083389  1.31107200  0.2515930 -0.38424689 -0.41459944  0.278439752 -0.01419167
13     福建 -1.077652 -0.46565494  0.4875302  0.16515444  0.14027990 -0.316436643 -0.07381221
14     江西  0.527362  1.29710347  0.3464652 -0.17054810 -0.22114898  0.076110671  0.01699948
15     山东  4.770580  0.61728673  1.0270857 -0.34787078  0.21396830 -0.065610349 -0.09328715
16     河南  4.049670 -0.07207734 -0.1732655 -0.52129861  0.38658167  0.203415790  0.04829138
17     湖北  1.862018  0.31272534  0.1341054 -0.21897171 -0.59398630 -0.258499835 -0.02868519
18     湖南  0.503000  0.48817164  0.9677778  0.94672161  0.11604429 -0.224571843 -0.08705109
19     广东  1.818569  0.16884189  0.1008128  0.24875567  0.11485019  0.069973843 -0.00926963
20     广西  0.338820  1.85055716  0.2862296  0.09014668 -0.22736954  0.255088948 -0.04460838
21     海南 -2.750894  0.22608263  0.0454661 -0.39954238 -0.00993694 -0.059410368 -0.03427266
22     重庆 -0.628661 -0.88772794 -0.5940808 -0.10450225 -0.06405085  0.092947440  0.09545077
23     四川  2.181136 -0.24175065 -0.4090686  0.41866229 -0.24938816  0.090796994 -0.09391571
24     贵州 -0.304797  1.08921175 -0.3175461  0.51661253 -0.16962058  0.166790217  0.15655822
25     云南 -0.170936 -0.74929228 -0.1002991  0.56045970  0.14910267  0.006228440  0.04195803
26     西藏 -3.091577  3.26751381 -1.3939541  0.05508742  0.30015544 -0.222173606 -0.06625040
27     陕西 -0.908212 -0.19240249  0.2268532  0.36462016 -0.04504990 -0.175866164  0.02455321
28     甘肃 -1.793673  0.82109182 -0.2513493  0.10918441 -0.01922901  0.037035723  0.00660759
29     青海 -2.623050  0.00150422 -0.2510706 -0.09292648 -0.21900016  0.001762138  0.10736844
30     宁夏 -2.882470  0.31321061  0.0222172 -0.14500038  0.04669932  0.000181659 -0.01947260
31     新疆 -0.131422 -1.92264209 -0.9680548 -0.14270184  0.04668469  0.440474245 -0.18642580

从而得到各个主成分在每个样本点的得分。

3、绘制主成分得分的样本散点图

attach(df1)
plot(df1$Comp.2~df1$Comp.1)
text(df1$Comp.1,df1$Comp.2+0.02,df1$df.areas,pos=3)

运行得到:

因为主成分只有两个,将样本主成分得分绘制出来,就可以得到样本的分布情况,从而可以对样本进行分类。

四、对样本数据进行因子分析

1、提取因子

在这里使用函数factanal()

fa<-factanal(df[,c('x1','x2','x3','x4','x5','x6','x7')],factors=2,rotation = 'varimax',scores = 'regression')
fa

在这里使用最大方差旋转方法

运行得到:

fa<-factanal(df[,c('x1','x2','x3','x4','x5','x6','x7')],factors=2,rotation = 'varimax',scores = 'regression')
> fa

Call:
factanal(x = df[, c("x1", "x2", "x3", "x4", "x5", "x6", "x7")],     factors = 2, scores = "regression", rotation = "varimax")

Uniquenesses:
   x1    x2    x3    x4    x5    x6    x7 
0.170 0.133 0.009 0.007 0.059 0.005 0.677 

Loadings:
   Factor1 Factor2
x1  0.824   0.388 
x2  0.915   0.176 
x3  0.992         
x4  0.994         
x5  0.845   0.477 
x6  0.635   0.770 
x7          0.568 

               Factor1 Factor2
SS loadings      4.605   1.335
Proportion Var   0.658   0.191
Cumulative Var   0.658   0.849

Test of the hypothesis that 2 factors are sufficient.
The chi square statistic is 15.17 on 8 degrees of freedom.
The p-value is 0.0559 

前两个因子累计方差贡献率为84.9%,提取两个因子是合适的,跟进运行得到的因子载荷矩阵可以得到因子f1和f2与原始变量的关系:

x1=0.824f1+0.388f2

x2=0.915f1+0.176f2

x3=0.922f1

x4=0.944f1

x5=0.845f1+0.477f2

x6=0.635f1+0.770f2

x7=0.568f2

如果使用斜交旋转Promax的方法,将得到:

 fa<-factanal(df[,c('x1','x2','x3','x4','x5','x6','x7')],factors=2,rotation = 'promax',scores = 'regression')
> fa

Call:
factanal(x = df[, c("x1", "x2", "x3", "x4", "x5", "x6", "x7")],     factors = 2, scores = "regression", rotation = "promax")

Uniquenesses:
   x1    x2    x3    x4    x5    x6    x7 
0.170 0.133 0.009 0.007 0.059 0.005 0.677 

Loadings:
   Factor1 Factor2
x1  0.685   0.353 
x2  0.878   0.101 
x3  1.001         
x4  1.072  -0.181 
x5  0.665   0.452 
x6  0.309   0.809 
x7 -0.286   0.650 

               Factor1 Factor2
SS loadings      4.011   1.450
Proportion Var   0.573   0.207
Cumulative Var   0.573   0.780

Factor Correlations:
        Factor1 Factor2
Factor1   1.000  -0.489
Factor2  -0.489   1.000

Test of the hypothesis that 2 factors are sufficient.
The chi square statistic is 15.17 on 8 degrees of freedom.
The p-value is 0.0559 

斜交旋转的情况下,因子表达式为:

x1=0.568f1+0.353f2

x2=0.878f1+0.101f2

x3=1.001f1

x4=1.072f1-0.181f2

x5=0.665f1+0.452 f2

x6=0.309f1+0.809 f2

x7=-0.286f2+ 0.650f2

斜交旋转的情况下,更能说明因子的因子具体经济含有,从斜交旋转的载荷矩阵可以看到,变量x2,x3,x4在在第一个公共因子的载荷较大,因此,第一个公共因子主要反映企业的规模,变量x6,x7在第二个公共因子的载荷较大,说明第二个公共因子反映企业的盈利能力。

2、计算因子得分

fa$scores
df2<-data.frame(df$areas,fa$scores)
df2

df2
   df.areas    Factor1    Factor2
1      北京 -1.4143765 -0.1508311
2      天津 -1.3043410 -0.0889328
3      河北  3.5399545 -2.6706415
4      山西  0.4281325 -1.5294351
5    内蒙古  0.3150193 -0.8072694
6      辽宁  0.0608492 -0.1041206
7      吉林  1.4151234 -0.9917456
8    黑龙江  0.0320639 -0.5454919
9      上海 -1.5548788  0.0749349
10     江苏  0.6880203  1.2042261
11     浙江  0.1966863  0.6611251
12     安徽 -0.3187238  2.0231134
13     福建 -0.4136153 -0.2779676
14     江西 -0.8398720  1.6310805
15     山东  0.3714166  2.2721740
16     河南  1.3016494  0.5713237
17     湖北  0.4532688  0.7642714
18     湖南 -0.4557515  0.7670075
19     广东  0.5397438  0.3251183
20     广西 -1.0926484  1.9075718
21     海南 -1.2837594  0.0763441
22     重庆  0.6843438 -1.2564094
23     四川  1.4231037 -0.4835207
24     贵州 -0.2352031  0.2985555
25     云南  0.6242982 -1.0586728
26     西藏 -1.7056631  0.3287434
27     陕西 -0.2081481 -0.3079663
28     甘肃 -0.8373975  0.0894333
29     青海 -0.7299168 -0.4712487
30     宁夏 -1.2786471 -0.0284181
31     新疆  1.5992689 -2.2223515

3、跟据计算得出的因子得分,把样本点绘制的散点图上


                

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1479659.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

亚信安慧AntDB之国密算法介绍

近年来&#xff0c;为摆脱对国外技术和产品的过度依赖&#xff0c;建设行业网络安全环境&#xff0c;增强我国行业信息系统安全、可靠的能力&#xff0c;国家有关机关和监管机构站在国家安全和长远战略的高度提出了“推动国密算法应用实施、加强行业安全可控”的要求。 密码算…

感谢信∣企企通再获肯定,中国煤科【天玛智控】SRM项目成功上线,推动煤矿供应链智能化高效协同发展

近日&#xff0c;煤矿智能无人化开采技术引领者【北京天玛智控科技股份有限公司】&#xff08;以下简称“天玛智控”&#xff09;携手企企通打造的SRM数字化采购平台成功上线。系统上线后&#xff0c;实现了天玛智控与供应商之间的信息共享和业务协作&#xff0c;提升采购业务效…

解决android studio build Output中文乱码

1.效果如下所示&#xff1a; 代码运行报错的时候&#xff0c;Build Output报的错误日志中中文部分出现乱码&#xff0c;导致看不到到底报的什么错。 2.解决办法如下&#xff1a; 点击Android studio开发工具栏的Help-Edit Custom VM Options....&#xff0c;Android studio会…

Node.js中的并发和多线程处理

在Node.js中&#xff0c;处理并发和多线程是一个非常重要的话题。由于Node.js是单线程的&#xff0c;这意味着它在任何给定时间内只能执行一个任务。然而&#xff0c;Node.js的事件驱动和非阻塞I/O模型使得处理并发和多线程变得更加高效和简单。在本文中&#xff0c;我们将探讨…

继承-学习2

this关键字&#xff1a;指向调用该方法的对象&#xff0c;一般我们是在当前类中使用this关键字&#xff0c;所以我们常说代表本类对象的引用 super关键字&#xff1a;代表父类存储空间的标识(可看作父类对象的引用) 父类&#xff1a; package ven;public class Fu {//父类成员…

Jenkins笔记(一)

个人学习笔记&#xff08;整理不易&#xff0c;有帮助点个赞&#xff09; 笔记目录&#xff1a;学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 目录 一&#xff1a;简单了解 二&#xff1a;什么是DevOps 三&#xff1a;安装Jenkins 四&#xff1…

uniapp实现-审批流程效果

一、实现思路 需要要定义一个变量, 记录当前激活的步骤。通过数组的长度来循环数据&#xff0c;如果有就采用3元一次进行选择。 把循环里面的变量【name、status、time】, 全部替换为取出的那一项的值。然后继续下一次循环。 虚拟的数据都是请求来的, 组装为好渲染的格式。 二…

Diffusion Models/Score-based Generative Models背后的深度学习原理(5):伪似然和蒙特卡洛近似配分函数

Diffusion Models专栏文章汇总&#xff1a;入门与实战 前言&#xff1a;有不少订阅我专栏的读者问diffusion models很深奥读不懂&#xff0c;需要先看一些什么知识打下基础&#xff1f;虽然diffusion models是一个非常前沿的工作&#xff0c;但肯定不是凭空产生的&#xff0c;背…

FaceBook获取广告数据

1、访问 广告管理工具 确认自己登陆的账号下面能看到户。 ​ 2、使用 图谱Api探索工具 生成用户短期口令 ​ 3、get请求(或者浏览器直接打开)访问&#xff1a; https://graph.facebook.com/v19.0/me?fieldsid,name, email&access_token{上一步生成的口令} ​ 4、短期…

ChatGPT4.0 的优势、升级 4.0 为什么这么难以及如何进行升级?

前言 “ChatGPT4.0一个月多少人民币&#xff1f;” ”chatgpt4账号“ ”chatgpt4 价格“ “chatgpt4多少钱” 最近发现很多小伙伴很想知道关于ChatGPT4.0的事情&#xff0c;于是写了这篇帖子&#xff0c;帮大家分析一下。 一、ChatGPT4.0 的优势 &#xff08;PS&#xff1a;…

Tiktok矩阵系统搭建的逻辑和源代码!

很多和我一样从事外贸工具开发的朋友都清楚&#xff0c;TikTok矩阵系统不仅确保了平台的高效运行&#xff0c;还为用户提供了个性化的内容推荐&#xff0c;从而大大提升了用户黏性&#xff0c;因此很多人都乐意去开发类似的工具&#xff0c;下面我们就来说说Tiktok矩阵系统搭建…

常用SQL查询方法与实例

目录 SELECT查询 INSERT查询 UPDATE查询 DELETE查询 JOIN查询 GROUP BY查询 HAVING查询 窗口函数 公共表表达式&#xff08;CTEs&#xff09; 递归查询 透视表 分析函数 解透视 条件聚合 日期函数 合并语句 情况语句 常用SQL查询方法有以下几种&#xff1a; S…

【Android】View 的滑动

View 的滑动是 Android 实现自定义控件的基础&#xff0c;同时在开发中我们也难免会遇到 View 的滑动处理。其实不管是哪种滑动方式&#xff0c;其基本思想都是类似的&#xff1a;当点击事件传到 View 时&#xff0c;系统记下触摸点的坐标&#xff0c;手指移动时系统记下移动后…

全志XR806 FreeRTOS快速开发入门

RTOS 快速开发入门 XR806 是一颗高集成度无线应用MCU&#xff0c;其集成了ARMv8-M 内核、IEEE 802.11b/g/n Wi-Fi 子系统、BLE 5.0子系统、电源管理系统、高级别的安全系统以及丰富的外设接口&#xff0c;具有优秀的射频性能、稳定性、可靠性和超低功耗。 芯之联软件开发平台…

IIS发布PHP网站字体404解决办法

最近在使用 IIS 发布 PHP 网站时&#xff0c;我遇到了一个前端问题&#xff0c;即字体库文件 404 错误。这个问题的根本原因是 IIS 未能正确识别字体文件类型&#xff0c;导致浏览器在加载页面时无法正确获取所需字体资源&#xff0c;进而触发了404错误。这样的问题会导致网站页…

量化投资实战(一)之K线图策略

点赞、关注再看&#xff0c;养成良好习惯 Life is short, U need Python 量化投资实战系列&#xff0c;不断更新中 1. K线图简介 K 线图&#xff08;Candlestick Charts&#xff09;又称为“蜡烛图”、“阴线图”等。股市及期货市场中的 K 线图的画法包含四个数据&#xff0c;…

ETH网络中的区块链

回顾BTC网络的区块链系统 什么是区块链&#xff1f;BTC网络是如何运行的&#xff1f;BTC交易模式 - UXTO ETH网络中的区块链 ETH网络的基石依旧是 区块链。上面 什么是区块链&#xff1f; 的文章依旧适用。 相比BTC网络&#xff0c;ETH网络的账户系统就相对复杂&#xff0c;所…

FPGA之带有进位逻辑的加法运算

module ADDER&#xff08; input [5&#xff1a;0]A&#xff0c; input [5&#xff1a;0]B&#xff0c;output[6&#xff1a;0]Q &#xff09;&#xff1b; assign Q AB&#xff1b; endmodule 综合结果如下图所示&#xff1a; 使用了6个Lut&#xff0c;&#xff0c;6个LUT分布…

【通信基础知识】完整通信系统的流程图及各模块功能详解

2024.2.29 抱歉最近在写毕设大论文&#xff0c;因此没有太多时间更新。然而&#xff0c;在写论文的过程中&#xff0c;发现自己对通信系统的了解还不够全明白&#xff0c;因此差了一些硕博论文总结了一个完整的通信系统流程图。若有不对的地方请多多指正//部分内容有参考ChatGP…

Python+neo4j构建豆瓣电影知识图谱

文章目录 数据来源数据整理导入节点和关系导入使用Subgraph批量导入节点和关系 多标签实体和实体去重 数据来源 http://www.openkg.cn/dataset/douban-movie-kg 该网址拥有丰富的中文知识图谱数据集&#xff0c;OpenKG(Open Knowledge Graph)&#xff0c;可供研究人员使用研究…