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

一、数据描述

数据来源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、跟据计算得出的因子得分,把样本点绘制的散点图上


                

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python Matplotlib Tkinter-->最终框架一

3D雷达上位机实例(能够通过点击柱状图来展示3D雷达数据)2024.2.26 环境 python:python-3.12.0-amd64 包: matplotlib 3.8.2 pillow 10.1.0 import matplotlib.pyplot as plt from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk impor…

基于Springboot + Vue 母婴商城系统

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是墨韵&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 目录 一、项目简介 二、开发技术与环…

基于Java SSM框架实现驾校预约管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现驾校预约管理系统演示 摘要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff0c;驾校预约管理系统当然也不能排除在外&#xff0c;随着网络市场的不断成熟&#xff0c;带动了驾校…

【BUG 记录】史诗级 BUG - MYSQL 删库删表却没有备份如何恢复数据

【BUG 记录】史诗级 BUG - MYSQL 删库删表却没有备份如何恢复数据 1. 问题描述2. 解决方案&#xff08;binlog&#xff09;2.1 构造测试环境2.2 查看 MySQL 环境是否开启 binlog2.3 查看所有的 binlog 日志记录2.4 查看当前正在使用的是哪一个 binlog 文件2.5 查看此时的 binlo…

设计并实现一个并发安全的LRU(Least Recently Used,最近最少使用)缓存结构

文章目录 前言实战演示写在最后 前言 相信很多人都使用过LinkedHashMap&#xff0c;LinkedHashMap中的removeEldestEntry可以删除老旧的元素&#xff0c;我们可以以此来实现一个LRU缓存结构&#xff0c;并结合java中JUC包中的各种多线程锁机制来保证多线程安全。 以下是我遇见…

C# OpenCvSharp DNN Yolov8-OBB 旋转目标检测

目录 效果 模型信息 项目 代码 下载 C# OpenCvSharp DNN Yolov8-OBB 旋转目标检测 效果 模型信息 Model Properties ------------------------- date&#xff1a;2024-02-26T08:38:44.171849 description&#xff1a;Ultralytics YOLOv8s-obb model trained on runs/DOT…

Windows常用协议

LLMNR 1. LLMNR 简介 链路本地多播名称解析(LLMNR)是一个基于域名系统(DNS)数据包格式的协议,可用于解析局域网中本地链路上的主机名称。它可以很好地支持IPv4和IPv6&#xff0c;是仅次于DNS 解析的名称解析协议。 2.LLMNR 解析过程 当本地hosts 和 DNS解析 当本地hosts 和 …

Linux浅学笔记04

目录 Linux实用操作 Linux系统下载软件 yum命令 apt systemctl命令 ln命令 日期和时区 IP地址 主机名 网络传输-下载和网络请求 ping命令 wget命令 curl命令 网络传输-端口 进程 ps 命令 关闭进程命令&#xff1a; 主机状态监控命令 磁盘信息监控&#xff1a…

2018-02-14 新闻内容爬虫【上学时做论文自己爬新闻数据,原谅我自己懒发的图片】

2018-02-14新闻内容爬虫【上学时做论文自己爬新闻数据&#xff0c;原谅我自己懒发的图片】资源-CSDN文库https://download.csdn.net/download/liuzhuchen/88878591爬虫过的站点&#xff1a; 1QQ新闻 1&#xff0c;准备爬取滚动新闻页面 2 通过F12 开发工具查找发现&#xff…

Qt项目:网络1

文章目录 项目&#xff1a;网路项目1&#xff1a;主机信息查询1.1 QHostInfo类和QNetworkInterface类1.2 主机信息查询项目实现 项目2&#xff1a;基于HTTP的网络应用程序2.1 项目中用到的函数详解2.2 主要源码 项目&#xff1a;网路 项目1&#xff1a;主机信息查询 使用QHostI…

SIMON 32/64加密电路的实现(System Verilog)

关于SIMON加密电路的原理&#xff0c;参考之前发布的博文【SIMON加密算法的原理】 1.总览与电路介绍 1.1 电路总体结构图 1.2 模式配置介绍 SIMON加密算法的分组长度、密钥长度以及必要的参数配置如下图&#xff1a; 本次需要实现的是SIMON 32/64&#xff0c;即分组长度2n3…

【数据结构】B树,B+树,B*树

文章目录 一、B树1.B树的定义2.B树的插入3.B树的中序遍历 二、B树和B*树1.B树的定义2.B树的插入3.B*树的定义4.B树系列总结 三、B树与B树的应用 一、B树 1.B树的定义 1. 在内存中搜索效率高的数据结构有AVL树&#xff0c;红黑树&#xff0c;哈希表等&#xff0c;但这是在内存…

Stable Diffusion 绘画入门教程(webui)-ControlNet(Shuffle)

Shuffle(随机洗牌)&#xff0c;这个预处理器会把参考图的颜色打乱搅拌到一起&#xff0c;然后重新组合的方式重新生成一张图&#xff0c;可以想象出来这是一个整体风格控制的处理器。 那么问题来了&#xff0c;官方为啥会设计个这样的处理器呢&#xff0c;主要是给懒人用的&am…

Atcoder ABC341 E - Alternating String

Alternating String&#xff08;交替字符串&#xff09; 时间限制&#xff1a;3s 内存限制&#xff1a;1024MB 【原题地址】 所有图片源自Atcoder&#xff0c;题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 每个查询 q u e r y i query…

STM32存储左右互搏 QSPI总线FATS文件读写FLASH W25QXX

STM32存储左右互搏 QSPI总线FATS文件读写FLASH W25QXX FLASH是常用的一种非易失存储单元&#xff0c;W25QXX系列Flash有不同容量的型号&#xff0c;如W25Q64的容量为64Mbit&#xff0c;也就是8MByte。这里介绍STM32CUBEIDE开发平台HAL库Quad SPI总线实现FATS文件操作W25Q各型号…

Vue笔记(一)

常用指令 1.v-show与v-if底层原理的区别 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>创建一个V…

快速搭建宠物医院服务小程序的步骤,无需编程经验

如果你是一家宠物医院或者宠物服务机构&#xff0c;想要拥有一款方便用户预约、查询信息的小程序&#xff0c;那么乔拓云网提供的轻应用小程序是你的不二选择。下面将为你详细介绍如何轻松打造宠物医院服务小程序。 1. 进入乔拓云网后台&#xff0c;点击【轻应用小程序】中的【…

国产服务器操作系统

为何记录 最近的开发工作经常接触到国产服务器操作系统的业务&#xff0c;经常被x86、arm、龙芯、鲲鹏、欧拉...搞得一脸懵逼&#xff0c;遂记之&#xff01; 操作系统 这里按照应用场景分&#xff1a; 桌面操作系统&#xff1a;主要用于pc&#xff0c;如Windows、macOS、Li…

★【递归】【构造二叉树】Leetcode 106.从中序与后序遍历序列构造二叉树

★【递归】【构造二叉树】Leetcode 106.从中序与后序遍历序列构造二叉树 105. 从前序与中序遍历序列构造二叉树 106.从中序与后序遍历序列构造二叉树:star:思路分析递归解法 105. 从前序与中序遍历序列构造二叉树递归解法 ---------------&#x1f388;&#x1f388;题目链接&a…

大语言模型推理加速技术:计算加速篇

原文&#xff1a;大语言模型推理加速技术&#xff1a;计算加速篇 - 知乎 目录 简介 Transformer和Attention 瓶颈 优化目标 计算加速 计算侧优化 KVCache Kernel优化和算子融合 分布式推理 内存IO优化 Flash Attention Flash Decoding Continuous Batching Page…