利用R语言进行因子分析实战(数据+代码+可视化+详细分析)

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972

个人介绍: 研一|统计学|干货分享
         擅长Python、Matlab、R等主流编程软件
         累计十余项国家级比赛奖项,参与研究经费10w、40w级横向

文章目录

  • [1 研究背景](#1 研究背景)
  • [2 数据预处理](#2 数据预处理)
  • [3 样本相关系数矩阵 R及特征根与特征向量](#3 样本相关系数矩阵 R及特征根与特征向量)
    • [3.1 相关系数矩阵](#3.1 相关系数矩阵)
    • [3.2 特征根与特征向量](#3.2 特征根与特征向量)
  • [4 因子数确定](#4 因子数确定)
    • [4.1 1.bartlett 球体检验](#4.1 1.bartlett 球体检验)
    • [4.2 碎石图及方差累计贡献率](#4.2 碎石图及方差累计贡献率)
  • [5 因子载荷矩阵](#5 因子载荷矩阵)
    • [5.1 方差贡献](#5.1 方差贡献)
    • 5.2共同度
    • [5.3 因子载荷](#5.3 因子载荷)
  • [6 因子得分](#6 因子得分)
    • [6.1 因子得分矩阵](#6.1 因子得分矩阵)
    • [6.2 前两个因子得分信息图](#6.2 前两个因子得分信息图)
    • [6.3 前两个因子信息重叠图](#6.3 前两个因子信息重叠图)
  • [7 因子旋转及结果比较](#7 因子旋转及结果比较)
    • [7.1 旋转后方差贡献](#7.1 旋转后方差贡献)
    • [7.2 旋转后共同度](#7.2 旋转后共同度)
    • [7.3 旋转后因子载荷](#7.3 旋转后因子载荷)
    • [7.4 旋转后前两个因子得分信息图](#7.4 旋转后前两个因子得分信息图)
    • [7.5 旋转后前两个因子信息重叠图](#7.5 旋转后前两个因子信息重叠图)
  • [8 排序](#8 排序)
    • [8.1 旋转前综合得分排序](#8.1 旋转前综合得分排序)
    • [8.2 旋转前综合得分排序(按排名前后)](#8.2 旋转前综合得分排序(按排名前后))
    • [8.3 旋转后综合得分排序](#8.3 旋转后综合得分排序)
    • [8.2 旋转后综合得分排序(按排名前后)](#8.2 旋转后综合得分排序(按排名前后))

1 研究背景

因子分析法在股价预报上的探索:在本例中为了验证因子分析法的有效性,特意不区分行业,以上海证券交易所和深圳证券交易 所进行分层,然后把层内全部股票选入抽样框,已进行随机抽取。从 手机金融界(http://www.jrj.com.cn) 得到了23家企业在2004年3月 31日,所考虑的指标如下: x 1 x_1 x1 流动比率(<2偏低)、 x 2 x_2 x2 速动比率(<1偏 低)、 x 3 x_3 x3 现金流动负债比(%)、 x 4 x_4 x4 每股收益(元)、 x 5 x_5 x5 每股未分配利 润(元)、 x 6 x_6 x6 每股净资产(元)、 x 7 x_7 x7 每股资本公积金(元)、 x 8 x_8 x8 每股盈 余公积金(元)、 x 9 x_9 x9每股净资产增长率(%)、 x 10 x_{10} x10 经营净利润率 (%)、 x 11 x_{11} x11 经营毛利率(%)、 x 12 x_{12} x12资产利润率(%)、 x 13 x_{13} x13 资产净利率 (%)、 x 14 x_{14} x14 主营业务收入增长率(%)、 x 15 x_{15} x15 净利润增长率(%)、 x 16 x_{16} x16总 资产增长率(%)、 x 17 x_{17} x17营业利润增长率(%)、 x 18 x_{18} x18主营业务成本比例 (%)、 x 19 x_{19} x19 营业费用比例(%)、 x 20 x_{20} x20 管理费用比例(%)、 x 21 x_{21} x21财务费用 比率(%)。 具体数据见表1所示。
表1 23企业财务数据(2004.03.31)

2 数据预处理

运行程序:

复制代码
rm(list=ls()) #清空变量 
library("openxlsx") #加载包 
library("knitr") #加载包 
library("xlsx") #加载包 
data<-read.xlsx("G:\\23 个企业财务数据.xlsx",'Sheet1',encoding = "UTF-8")
 #读取数据 
data1=data.frame(data[,-1],row.names=data$名称) #将第一列作为行名称 
head(data1) #显示前六行 

运行结果:

复制代码
## X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 
 X11 X12 
## 深深房A 1.33 0.33 -1.44 -0.02 -0.92 1.11 0.95 0.12 11.10 -12.85 
8.37 -0.67 
## 同人华塑 0.76 0.73 -4.96 0.02 -1.42 1.57 1.86 0.12 -10.38 4.91 3
1.44 0.60 
## 南开戈德 1.21 1.14 -4.72 -0.02 -0.72 1.03 0.53 0.23 -46.59 -28.03 
0.47 -0.62 
## st 昌源 0.79 0.60 -0.19 -0.02 -1.96 0.03 0.86 0.11 -96.94 -993.95 4
0.57 -0.70 
## 山东巨力 0.75 0.58 7.55 -0.35 -0.36 1.78 1.02 0.11 -28.02 0.24 
7.59 0.11 
## 一汽夏利 1.11 1.01 7.27 0.01 -0.26 1.67 0.82 0.10 9.34 0.87 
7.10 0.18 
## X13 X14 X15 X16 X17 X18 X19 X20 X2
1 
## 深深房A -0.67 -16.66 23.64 -11.39 -40.31 89.76 3.43 15.80 6.61 
## 同人华塑 0.37 217.62 218.61 31.30 282.07 68.22 2.86 11.85 9.59 
## 南开戈德 -0.64 133.02 56.28 -32.22 -46.59 98.70 1.87 10.94 13.27 
## st 昌源 -0.70 -96.89 -1841.70 -33.45 -96.94 57.86 3.80 237.64 797.5
5 
## 山东巨力 0.07 -13.35 28.88 27.25 24.36 92.40 3.23 3.46 1.10 
## 一汽夏利 0.18 10.32 -76.29 -5.76 -48.34 88.59 3.94 4.05 2.03 

3 样本相关系数矩阵 R及特征根与特征向量

3.1 相关系数矩阵

运行程序:

复制代码
R<-cor(scale(data1))
R #相关矩阵

运行结果:

复制代码
## X1 X2 X3 X4 X5 
 X6 
## X1 1.000000000 -0.06153191 0.074080250 0.12217010 0.170396550 -
0.01669067 
## X2 -0.061531909 1.00000000 0.462294864 0.38568343 0.532509303 
0.37491343 
## X3 0.074080250 0.46229486 1.000000000 0.24825336 0.094487515 
0.07353926 
## X4 0.122170105 0.38568343 0.248253364 1.00000000 0.249061005 0.28169643 
## X5 0.170396550 0.53250930 0.094487515 0.24906100 1.000000000 
0.82832779 
## X6 -0.016690668 0.37491343 0.073539262 0.28169643 0.828327787 
1.00000000 
## X7 -0.234562938 0.04621099 0.015007142 0.22298898 0.274511241 
0.75023269 
## X8 -0.003886565 -0.09405736 0.055571811 0.04768421 -0.055839114 
0.09390576 
## X9 0.093608232 0.09354447 -0.052642088 0.11575240 0.488243601 
0.51406649 
## X10 0.061624059 0.17378058 0.003222508 0.04524770 0.372996599 
0.28114151 
## X11 -0.172487326 0.42412261 0.275328202 0.30367342 0.072468988 -
0.01567376 
## X12 0.007435315 0.82503322 0.628388114 0.47130025 0.528646924 
0.46987699 
## X13 0.015583557 0.83755840 0.595317952 0.45416308 0.533697597 
0.44101417 
## X14 -0.081522989 -0.03144020 0.081460679 0.22347530 0.038206165 
0.24603283 
## X15 0.099497513 0.16255701 0.034665896 0.07950735 0.272334749 
0.15238013 
## X16 -0.011304314 0.17903152 -0.007104325 -0.01088111 0.195372221 
0.19022317 
## X17 -0.032394586 -0.03581853 0.131841507 0.17538500 0.005235359 
0.21888924 
## X18 0.163729735 -0.23399008 -0.251764348 -0.37306446 -0.094638183 
0.01962742 
## X19 -0.147420470 -0.05386091 0.066063556 0.21013183 -0.086451006 -
0.16267865 
## X20 -0.096323265 -0.13921246 -0.049401998 -0.06378943 -0.396083117 -
0.27624549 
## X21 -0.061707669 -0.14160451 0.014303681 -0.02744991 -0.351356950 -
0.26568880 
## X7 X8 X9 X10 X11 
 X12 
## X1 -0.23456294 -0.003886565 0.09360823 0.061624059 -0.17248733 
0.007435315 
## X2 0.04621099 -0.094057358 0.09354447 0.173780578 0.42412261 
0.825033221 
## X3 0.01500714 0.055571811 -0.05264209 0.003222508 0.27532820 
0.628388114 
## X4 0.22298898 0.047684210 0.11575240 0.045247704 0.30367342 
0.471300255 
## X5 0.27451124 -0.055839114 0.48824360 0.372996599 0.07246899 
0.528646924 
## X6 0.75023269 0.093905757 0.51406649 0.281141507 -0.01567376 
0.469876993 
## X7 1.00000000 0.040168233 0.31384313 0.072798588 -0.12296917 0.166020894 
## X8 0.04016823 1.000000000 -0.24107141 0.124840958 0.13517281 
0.179242515 
## X9 0.31384313 -0.241071409 1.00000000 0.293291223 -0.32752457 
0.147966103 
## X10 0.07279859 0.124840958 0.29329122 1.000000000 -0.22212248 
0.216368510 
## X11 -0.12296917 0.135172813 -0.32752457 -0.222122482 1.00000000 
0.552749503 
## X12 0.16602089 0.179242515 0.14796610 0.216368510 0.55274950 
1.000000000 
## X13 0.12304282 0.119320235 0.16836925 0.247344634 0.55058564 
0.992446303 
## X14 0.23125318 0.563584784 0.20306690 0.260532186 -0.11056895 
0.237073302 
## X15 -0.06734714 0.203689546 0.30924912 0.929707425 -0.20864321 
0.240829712 
## X16 0.13591627 -0.331929870 0.73026516 0.341540622 -0.03738791 
0.222875746 
## X17 0.22013136 0.616385378 0.08564930 0.170482255 0.03463550 
0.269910101 
## X18 0.13975241 -0.066552262 0.24366474 0.110514023 -0.82785683 -
0.373138052 
## X19 -0.14640045 0.170168664 -0.38169180 0.082697358 0.42935280 -
0.049595354 
## X20 -0.02148457 -0.138708575 -0.35758545 -0.979536298 0.25538811 -
0.234238515 
## X21 -0.07184816 -0.127129057 -0.28076865 -0.997822781 0.25760531 -
0.171628299 
## X13 X14 X15 X16 X17 
 X18 
## X1 0.01558356 -0.08152299 0.09949751 -0.011304314 -0.032394586 
0.16372973 
## X2 0.83755840 -0.03144020 0.16255701 0.179031515 -0.035818526 -
0.23399008 
## X3 0.59531795 0.08146068 0.03466590 -0.007104325 0.131841507 -
0.25176435 
## X4 0.45416308 0.22347530 0.07950735 -0.010881110 0.175384996 -
0.37306446 
## X5 0.53369760 0.03820617 0.27233475 0.195372221 0.005235359 -
0.09463818 
## X6 0.44101417 0.24603283 0.15238013 0.190223171 0.218889235 
0.01962742 
## X7 0.12304282 0.23125318 -0.06734714 0.135916265 0.220131359 
0.13975241 
## X8 0.11932023 0.56358478 0.20368955 -0.331929870 0.616385378 -
0.06655226 
## X9 0.16836925 0.20306690 0.30924912 0.730265160 0.085649300 
0.24366474 
## X10 0.24734463 0.26053219 0.92970742 0.341540622 0.170482255 0.11051402 
## X11 0.55058564 -0.11056895 -0.20864321 -0.037387913 0.034635501 -
0.82785683 
## X12 0.99244630 0.23707330 0.24082971 0.222875746 0.269910101 -
0.37313805 
## X13 1.00000000 0.18917087 0.27038744 0.282668062 0.218131057 -
0.37778065 
## X14 0.18917087 1.00000000 0.42565829 0.080413093 0.932856749 
0.05853132 
## X15 0.27038744 0.42565829 1.00000000 0.391354848 0.343914592 
0.10506220 
## X16 0.28266806 0.08041309 0.39135485 1.000000000 0.051525332 -
0.04790764 
## X17 0.21813106 0.93285675 0.34391459 0.051525332 1.000000000 -
0.06860992 
## X18 -0.37778065 0.05853132 0.10506220 -0.047907635 -0.068609916 
1.00000000 
## X19 -0.06382311 -0.27002736 0.03264792 -0.162400052 -0.172520270 -
0.63224454 
## X20 -0.26416708 -0.32760432 -0.94604894 -0.367968031 -0.221273268 -
0.10935488 
## X21 -0.19966813 -0.24725774 -0.92368522 -0.318668641 -0.154666882 -
0.13756932 
## X19 X20 X21 
## X1 -0.14742047 -0.09632327 -0.06170767 
## X2 -0.05386091 -0.13921246 -0.14160451 
## X3 0.06606356 -0.04940200 0.01430368 
## X4 0.21013183 -0.06378943 -0.02744991 
## X5 -0.08645101 -0.39608312 -0.35135695 
## X6 -0.16267865 -0.27624549 -0.26568880 
## X7 -0.14640045 -0.02148457 -0.07184816 
## X8 0.17016866 -0.13870857 -0.12712906 
## X9 -0.38169180 -0.35758545 -0.28076865 
## X10 0.08269736 -0.97953630 -0.99782278 
## X11 0.42935280 0.25538811 0.25760531 
## X12 -0.04959535 -0.23423851 -0.17162830 
## X13 -0.06382311 -0.26416708 -0.19966813 
## X14 -0.27002736 -0.32760432 -0.24725774 
## X15 0.03264792 -0.94604894 -0.92368522 
## X16 -0.16240005 -0.36796803 -0.31866864 
## X17 -0.17252027 -0.22127327 -0.15466688 
## X18 -0.63224454 -0.10935488 -0.13756932 
## X19 1.00000000 -0.06016584 -0.10488972 
## X20 -0.06016584 1.00000000 0.97643054 
## X21 -0.10488972 0.97643054 1.00000000

3.2 特征根与特征向量

运行程序:

复制代码
D.e<-eigen(R,symmetric = T) 
D.e #特征值和特征向量 

运行结果:

复制代码
## eigen() decomposition 
## $values ##特征根 
## [1] 5.774321e+00 3.979642e+00 2.568309e+00 2.352965e+00 1.485929e+0
0 
## [6] 1.256102e+00 1.040364e+00 7.745414e-01 6.158785e-01 3.891699e-0
1 
## [11] 3.436507e-01 1.914727e-01 7.919589e-02 6.544455e-02 3.552861e-0
2 
## [16] 2.898949e-02 1.420473e-02 3.223427e-03 8.151549e-04 2.240933e-0
4 
## [21] 2.859577e-05 
## 
## $vectors ##特征向量 
## [,1] [,2] [,3] [,4] [,5] 
 [,6] 
## [1,] -0.02548243 0.06408178 0.05260639 -0.069422778 0.416393421 
-0.38248883 
## [2,] -0.23873362 -0.27946147 0.15110401 -0.111727152 0.177144626 
-0.05852967 
## [3,] -0.13531234 -0.25549050 -0.03424067 -0.005415586 0.339745511 
-0.01603194 
## [4,] -0.16204963 -0.22467262 -0.01293219 0.063138117 -0.094654458 
-0.11010774 
## [5,] -0.28326464 -0.05839568 0.26171192 -0.036427312 -0.131343122 
-0.31841919 
## [6,] -0.27141534 -0.03358116 0.27199746 0.222259801 -0.317460839 
-0.26087668 
## [7,] -0.12870199 0.01012201 0.22689116 0.336935520 -0.432206693 
-0.08686832 
## [8,] -0.08098417 -0.02201499 -0.42140119 0.303888601 -0.020732721 
-0.20311230 
## [9,] -0.20938556 0.17096933 0.35365700 0.067124916 -0.037198420 
 0.28388211 
## [10,] -0.31074028 0.23667594 -0.15003843 -0.225386575 -0.066882560 
-0.07107349 
## [11,] -0.03561490 -0.42632493 -0.13962218 -0.102012315 -0.111671701 
 0.15864530 
## [12,] -0.30296197 -0.30936390 0.03442232 0.030696408 0.178791399 
 0.00634215 
## [13,] -0.30537437 -0.29808149 0.05180101 -0.017727430 0.191386032 
 0.04025364 
## [14,] -0.19505648 0.08674292 -0.25910349 0.444418877 0.072076407 
 0.18216486 
## [15,] -0.30928578 0.23199705 -0.21988794 -0.166138090 0.067897546 
 0.06130767 
## [16,] -0.19149536 0.09710464 0.22084793 -0.128750702 -0.006200085 
 0.61257505 
## [17,] -0.17173736 0.02291563 -0.29807766 0.448341522 0.066229959 
 0.18230766 ## [18,] 0.04384554 0.35714703 0.19426405 0.163259075 0.264698000 
-0.21261659 
## [19,] 0.03053807 -0.15705905 -0.30294607 -0.303918243 -0.433186346 
-0.08244250 
## [20,] 0.31955403 -0.24163112 0.15375322 0.202515841 0.018628571 
 0.04031877 
## [21,] 0.29868243 -0.25189414 0.15593091 0.228876198 0.079812320 
 0.09012865 
## [,7] [,8] [,9] [,10] [,11] 
 [,12] 
## [1,] 0.636366679 0.08143104 0.242686471 0.33858918 -0.13815915 
 0.15688754 
## [2,] -0.262120285 0.04138054 -0.310811412 0.01349571 0.15338838 
 0.59195527 
## [3,] -0.161298467 -0.50143654 0.562631779 -0.31410639 -0.04589144 
-0.06459551 
## [4,] 0.456502771 -0.50845801 -0.532606508 -0.02126754 0.17529782 
-0.15743739 
## [5,] 0.081660547 0.37580391 0.014168454 -0.40914930 -0.11624511 
 0.03913212 
## [6,] -0.010261614 0.12423007 0.143970118 -0.04070487 -0.07860738 
 0.05052630 
## [7,] -0.124687964 -0.33731697 0.194603880 0.46080003 -0.12984044 
 0.03465067 
## [8,] -0.025153184 0.26923527 0.190728138 0.12713442 0.63508627 
-0.12401868 
## [9,] 0.276532749 0.03682955 0.111795887 -0.29605563 0.37110758 
-0.22647356 
## [10,] -0.099348590 -0.04721962 -0.023387799 0.11883698 -0.10302095 
-0.10425004 
## [11,] 0.038169314 0.27976727 -0.007832286 0.27356421 -0.12767072 
-0.28078846 
## [12,] -0.116863126 0.03462099 0.011967932 0.12755751 0.07492971 
-0.12900554 
## [13,] -0.111840324 0.06158336 -0.025169550 0.16399594 0.05712354 
-0.15855071 
## [14,] 0.081996601 -0.01470923 -0.146226247 -0.20166486 -0.15476192 
 0.08290651 
## [15,] -0.006643993 -0.02179444 -0.095335212 0.02419056 -0.01391883 
 0.06901095 
## [16,] 0.179869238 0.05102451 0.186558370 0.26642108 0.16216143 
 0.25051586 
## [17,] 0.114346765 0.07128657 0.030512728 -0.05748123 -0.26535232 
 0.30930689 
## [18,] -0.254424766 -0.12035678 -0.109957932 0.14901261 0.32844551 
 0.08614006 
## [19,] 0.162995316 -0.14958059 0.237549381 -0.12874666 0.26755881 
 0.42274390 
## [20,] 0.033224812 0.04559651 -0.018500557 0.06107555 0.07204513 
 0.18245879 ## [21,] 0.101996230 0.06777678 0.012133026 -0.10333074 0.07512766 
 0.05550375 
## [,13] [,14] [,15] [,16] [,1
7] 
## [1,] 0.05611815 0.091387429 0.109587193 -0.040807848 0.11320361
8 
## [2,] 0.10408241 0.436940811 0.020514714 -0.005671351 0.09454589
4 
## [3,] 0.08964164 0.128443855 -0.050747019 -0.062833388 -0.26041823
7 
## [4,] -0.07194730 -0.020236810 -0.109822203 0.064276818 -0.25233317
9 
## [5,] -0.05650554 -0.176574862 -0.050033310 -0.020200717 -0.37705219
9 
## [6,] -0.01730700 0.005372915 0.028962350 -0.090330985 -0.02350052
5 
## [7,] 0.03707135 0.071489762 -0.034946909 -0.137191759 0.10787300
4 
## [8,] -0.19701134 0.229883594 -0.102623369 -0.053321166 -0.15190365
9 
## [9,] 0.36411191 0.208214161 -0.068986860 0.089735194 0.38334546
9 
## [10,] 0.02293971 0.233492970 0.002408922 0.234858196 -0.10169333
2 
## [11,] 0.62532047 0.050027232 0.104800446 -0.033178514 -0.27318719
8 
## [12,] -0.08566347 -0.306034634 0.102846188 0.086707074 0.31402431
3 
## [13,] -0.21476513 -0.311095415 0.006437673 0.057888266 0.19920674
0 
## [14,] 0.02754061 0.067548254 0.662465708 -0.268410784 -0.00406629
4 
## [15,] 0.17196108 -0.187391464 -0.422293639 -0.706880751 0.06668469
8 
## [16,] -0.27483756 -0.079004876 0.078789368 0.003662778 -0.43133403
7 
## [17,] 0.15143886 -0.158488024 -0.435943945 0.455546165 0.02644860
6 
## [18,] 0.42294373 -0.412234327 0.153290010 0.129631481 -0.26383158
7 
## [19,] 0.16951102 -0.320105070 0.205849312 0.072945220 0.16280363
8 
## [20,] 0.10825745 0.113036534 -0.221808300 -0.127311775 -0.09964591
1 
## [21,] -0.05831066 -0.218234559 -0.054345309 -0.259259884 0.04300996
7 
## [,18] [,19] [,20] [,21] 
## [1,] 0.015363693 -0.026162216 0.0146950823 -0.0037952280 
## [2,] 0.175102686 0.024277360 0.1059086286 -0.0057075941 
## [3,] 0.026680118 0.018849019 -0.0251415557 0.0020082992 ## [4,] 0.015753956 0.072571330 -0.0192674860 0.0112551373 
## [5,] -0.130282113 -0.252520840 0.3315250612 -0.1650565291 
## [6,] 0.122041765 0.425723495 -0.5623462524 0.2531483040 
## [7,] 0.028772099 -0.224151955 0.3409726722 -0.1445139425 
## [8,] 0.041977235 0.003691257 0.0790876720 -0.0287987652 
## [9,] -0.006708339 -0.108069053 0.0224793104 -0.0215644677 
## [10,] -0.222914203 -0.333245026 -0.0088473138 0.6595202885 
## [11,] 0.125967085 0.053978034 0.0219907639 -0.0127675269 
## [12,] -0.493390931 0.397637825 0.2996535631 0.1257090650 
## [13,] 0.227884864 -0.535907054 -0.4003644518 -0.1379027214 
## [14,] -0.118408925 -0.138393553 -0.0442739129 -0.0146585885 
## [15,] -0.044753978 0.033637374 -0.0276925959 0.0015559738 
## [16,] -0.017762823 0.094645692 0.0006321628 0.0121006424 
## [17,] 0.080492345 0.028928446 0.0196597216 0.0002181715 
## [18,] 0.023443061 -0.010554663 -0.0423359074 0.0294920872 
## [19,] -0.048131033 -0.110724985 -0.0505082254 0.0321528848 
## [20,] -0.669930794 -0.258696902 -0.3338816069 0.0097678374 
## [21,] 0.313407571 -0.132317208 0.2623342242 0.6434307976

4 因子数确定

4.1 1.bartlett 球体检验

运行程序:

复制代码
msa.bartlett(data1) #bartlett 球体检验 

运行结果:

复制代码
R was not square, finding R from data 
$chisq [1] 664.7 
$df [1] 210 
$p.value [1] 1.154e-48 

根据bartelett球体检验显示,P值小于0.05,拒绝相关矩阵是单位阵的原假设, 数据适合做因子分析。

4.2 碎石图及方差累计贡献率

运行程序:

复制代码
caa<-(D.e$values)/sum(D.e$values) #方差贡献率 
ca<-cumsum(D.e$values)/sum(D.e$values)#累计方差贡献率 
par(mfrow=c(1,2)) #1×2 画布 
plot(1:21,caa,type = "o",pch=17,col=4,main="scree plot",xlab = "Compone
nt Number",ylab = "Eigen value") 
plot(1:21,ca,type = "o",pch=17,col=4,main="Comulative Contribution",xla
b = "Component Number",ylab = "Comulative Contribution") 

运行结果:

根据碎石图及累计方差贡献率图显示,当因子个数取6时较为适 合,方差累计贡献率超过80%。

5 因子载荷矩阵

5.1 方差贡献

运行程序:

复制代码
source("G:\\msaR.R") 
Fp<-msa.fa(data1,m=6,rotation = "none") 
Fp$vars #方差贡献

运行结果:

复制代码
## Variance Proportion Cumulative 
## Factor1 5.774 27.497 27.50 
## Factor2 3.980 18.951 46.45 
## Factor3 2.568 12.230 58.68 
## Factor4 2.353 11.205 69.88 
## Factor5 1.486 7.076 76.96 
## Factor6 1.256 5.981 82.94 

5.2共同度

运行程序:

复制代码
Fp$common #共同度 

运行结果:

复制代码
## X1 X2 X3 X4 X5 X6 X7 X8 X9 X1
0 X11 
## 0.4799 0.7788 0.5404 0.3909 0.8089 0.9713 0.7824 0.7656 0.8046 0.970
8 0.8553 
## X12 X13 X14 X15 X16 X17 X18 X19 X20 X2
1 ## 0.9637 0.9562 0.9362 0.9673 0.8850 0.9218 0.8393 0.8440 0.9818 0.973
0 

5.3 因子载荷

运行程序:

复制代码
Fp$loadings #因子载荷

运行结果:

复制代码
## Factor1 Factor2 Factor3 Factor4 Factor5 Factor6 
## X1 0.0612 -0.1278 0.0843 -0.1065 0.5076 0.4287 
## X2 0.5737 0.5575 0.2422 -0.1714 0.2159 0.0656 
## X3 0.3252 0.5097 -0.0549 -0.0083 0.4141 0.0180 
## X4 0.3894 0.4482 -0.0207 0.0968 -0.1154 0.1234 
## X5 0.6807 0.1165 0.4194 -0.0559 -0.1601 0.3569 
## X6 0.6522 0.0670 0.4359 0.3409 -0.3870 0.2924 
## X7 0.3093 -0.0202 0.3636 0.5168 -0.5269 0.0974 
## X8 0.1946 0.0439 -0.6753 0.4661 -0.0253 0.2276 
## X9 0.5031 -0.3411 0.5668 0.1030 -0.0453 -0.3182 
## X10 0.7467 -0.4721 -0.2405 -0.3457 -0.0815 0.0797 
## X11 0.0856 0.8505 -0.2238 -0.1565 -0.1361 -0.1778 
## X12 0.7280 0.6172 0.0552 0.0471 0.2179 -0.0071 
## X13 0.7338 0.5946 0.0830 -0.0272 0.2333 -0.0451 
## X14 0.4687 -0.1730 -0.4152 0.6817 0.0879 -0.2042 
## X15 0.7432 -0.4628 -0.3524 -0.2548 0.0828 -0.0687 
## X16 0.4602 -0.1937 0.3539 -0.1975 -0.0076 -0.6865 
## X17 0.4127 -0.0457 -0.4777 0.6877 0.0807 -0.2043 
## X18 -0.1054 -0.7125 0.3113 0.2504 0.3227 0.2383 
## X19 -0.0734 0.3133 -0.4855 -0.4662 -0.5280 0.0924 
## X20 -0.7679 0.4820 0.2464 0.3106 0.0227 -0.0452 
## X21 -0.7177 0.5025 0.2499 0.3511 0.0973 -0.1010 

当因子个数取为6个时,所保留的因子能够解释的方差占整个方差 的82.94%,基本能全面反映出21项财务指标的信息,故选取6个公共因 子。由因子载荷矩阵可看出: x 10 x_{10} x10 经营净利润率(%)、 x 12 x_{12} x12 资产利润率 (%)、 x 13 x_{13} x13 资产净利率(%)、 x 15 x_{15} x15 净利润增长率(%)、 x 20 x_{20} x20 管理费用比 例(%)、 x 21 x_{21} x21财务费用比率(%)在因子Factor1上载荷相对较高; x 11 x_{11} x11经营毛利率(%)、 x 18 x_{18} x18主营业务成本比例(%)在因子Factor2上载荷相 对较高; x 8 x_{8} x8 每股盈余公积金(元)、 x 9 x_{9} x9每股净资产增长率(%)在因子 Factor3上载荷相对较高; x 14 x_{14} x14 主营业务收入增长率(%)、 x 17 x_{17} x17营业利润 增长率(%)在因子Factor4上载荷相对较高; x 1 x_{1} x1 流动比率(<2偏低)、 x 7 x_{7} x7 每股资本公积金(元)、 x 19 x_{19} x19 营业费用比例(%)在因子Factor5上载 荷相对较高; x 16 x_{16} x16 总资产增长率(%)在因子Factor6上载荷相对较高。 根据其线性组合情况考虑各因子分别表示公司消费能力的公共因子、 负债能力、发展能力、可持续发展能力、经营能力、生存能力,故考 虑从这6个方面衡量公司财务能力。

6 因子得分

6.1 因子得分矩阵

运行程序:

复制代码
Fp$scores #因子得分矩阵

运行结果:

复制代码
## Factor1 Factor2 Factor3 Factor4 Factor5 Factor6 
## 深深房A -0.4138 -0.8256 0.1788 -0.1608 0.2571 0.1232 
## 同人华塑 0.3733 -0.2325 -0.4077 0.7450 -0.0032 -1.6545 
## 南开戈德 -0.3653 -0.8492 -0.3009 0.2529 0.8208 0.8460 
## st 昌源 -3.2163 2.3411 1.1584 1.6168 0.5075 -0.5117 
## 山东巨力 -0.1665 -0.9703 0.4284 -0.3114 0.6303 -0.5514 
## 一汽夏利 0.0057 -0.4718 0.4306 -0.2135 0.4726 0.3061 
## 闽东电力 -0.1010 -0.4373 1.6309 0.9224 -1.4426 0.9027 
## 深本实 b -0.2042 -0.2539 -0.4842 -0.3974 -0.1010 -0.2175 
## st 啤酒花 -1.6127 0.3350 -3.0826 -1.2720 -0.0402 0.6354 
## 云大科技 -0.7198 -0.3390 0.0030 -0.6483 -1.0559 0.6859 
## 中天科技 0.2078 -0.3361 0.4419 -0.1571 -0.6900 0.2253 
## 爱建股份 1.2328 -0.2998 -2.0373 3.4638 0.3097 -0.1838 
## st 轻骑 0.2110 -1.0573 0.7927 -0.3677 0.4999 -2.8471 
## 张裕 A 2.0838 2.6058 0.2198 0.0019 -0.7342 1.0978 
## 阿继电器 -0.0600 -0.0037 0.0475 -0.6257 -0.8688 -0.0915 
## 广州浪奇 0.0783 -0.3960 -0.3029 0.0459 0.0466 0.3097 
## 浙江震元 0.3614 -0.3640 0.6544 0.3446 -0.5232 0.7923 
## 四环生物 1.2369 1.9140 0.2551 -1.1165 2.4581 -0.7077 
## 深宝安 A -0.0505 0.1374 -0.6893 -0.3240 -0.3792 -0.4315 
## 深发展 A 0.3946 0.7847 -0.6463 -1.1460 -1.7981 -1.1531 
## 数码网络 0.1057 -0.7449 0.3207 -0.4372 2.2411 1.9303 
## 中色建设 0.4367 -0.3644 0.8242 -0.1409 -0.0238 -0.0199 
## 东北药 0.1820 -0.1722 0.5647 -0.0749 -0.5834 0.5150 

6.2 前两个因子得分信息图

运行程序:

复制代码
plot(Fp$scores,asp=1) 
abline(h=0,v=0,lty=3,col="red") 
text(Fp$scores,labels = row.names(data1)) #前两个因子得分信息图 

运行结果:

由因子得分图可以看出,张裕 A、四环生物、爱建股份在第一因子 Factor1 上得分取正值且相对较大,而 st 昌源、st 啤酒花在第一因子 Factor1 上的得分值相对较小;张裕 A、st 昌源、四环生物在第二因子 Factor2 上得分取正值且相对较大,而 st 轻骑、山东巨力在第二因子 Factor2 上的得分值相对较小。

6.3 前两个因子信息重叠图

运行程序:

复制代码
biplot(Fp$scores[,1:2],Fp$loadings[,1:2]) #前两个因子信息重叠图 

运行结果:

以公因子 Factor1、Factor2 分别为横纵坐标轴,绘制出各个公司 的因子得分图,前面的分析结果可以在因子得分图上得到直观地反 映。

7 因子旋转及结果比较

7.1 旋转后方差贡献

运行程序:

复制代码
Fp1<-msa.fa(data1,m=6,rotation = "varimax") #最大方差法进行因子旋转 
Fp1$vars #旋转后方差贡献 

运行结果:

复制代码
## Variance Proportion Cumulative 
## Factor1 4.243 20.203 20.20 
## Factor2 4.078 19.418 39.62 
## Factor3 2.576 12.266 51.89 
## Factor4 2.447 11.653 63.54 
## Factor5 2.202 10.484 74.03 
## Factor6 1.872 8.914 82.94 

7.2 旋转后共同度

运行程序:

复制代码
Fp1$common #旋转后共同度

运行结果:

复制代码
## X1 X2 X3 X4 X5 X6 X7 X8 X9 X1
0 X11 
## 0.4799 0.7788 0.5404 0.3909 0.8089 0.9713 0.7824 0.7656 0.8046 0.970
8 0.8553 
## X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 
## 0.9637 0.9562 0.9362 0.9673 0.8850 0.9218 0.8393 0.8440 0.9818 0.973
0 

7.3 旋转后因子载荷

运行程序:

复制代码
Fp1$loadings #旋转后因子载荷

运行结果:

复制代码
## Factor1 Factor2 Factor3 Factor4 Factor5 Factor6 
## X1 0.1449 0.1916 -0.1608 -0.1311 -0.5532 -0.2704 
## X2 0.0953 0.8422 -0.1537 0.1645 0.0214 0.0970 
## X3 -0.0409 0.7100 0.0984 -0.1438 -0.0395 -0.0515 
## X4 0.0187 0.4849 0.1124 0.2903 0.2165 -0.1077 
## X5 0.3345 0.4555 -0.2018 0.6581 -0.1211 0.0336 
## X6 0.1636 0.2771 0.0842 0.9207 -0.0749 0.0861 
## X7 -0.0894 -0.0637 0.2109 0.8386 0.0362 0.1460 
## X8 0.1410 0.0446 0.7086 0.0268 0.1027 -0.4800 
## X9 0.2397 0.0399 -0.0038 0.4133 -0.2779 0.7053 
## X10 0.9721 0.0541 0.0638 0.1081 -0.0196 0.0824 
## X11 -0.2381 0.5805 -0.0078 -0.1099 0.6645 -0.0896 
## X12 0.1202 0.9327 0.1652 0.1916 0.0853 0.0899 
## X13 0.1542 0.9324 0.1070 0.1558 0.0852 0.1418 
## X14 0.1921 0.0689 0.9285 0.1168 -0.0927 0.1012 
## X15 0.9324 0.1007 0.2401 -0.0618 -0.0574 0.1516 
## X16 0.2941 0.1211 -0.0495 0.0286 0.0466 0.8822 
## X17 0.1094 0.1197 0.9428 0.0732 -0.0057 0.0359 
## X18 0.0825 -0.4129 0.0183 0.0912 -0.8066 0.0520 
## X19 0.2019 -0.0339 -0.1998 -0.0889 0.7823 -0.3772 
## X20 -0.9695 -0.0776 -0.1127 -0.0795 0.0598 -0.1152 
## X21 -0.9770 -0.0108 -0.0533 -0.1073 0.0241 -0.0589

7.4 旋转后前两个因子得分信息图

运行程序:

复制代码
plot(Fp1$scores,asp=1) 
abline(h=0,v=0,lty=3,col="red") 
text(Fp1$scores,labels = row.names(data1)) #旋转后前两个因子得分信息图 

运行结果:

7.5 旋转后前两个因子信息重叠图

运行程序:

复制代码
biplot(Fp1$scores[,1:2],Fp1$loadings[,1:2]) #旋转后前两个因子得分信息重叠图 

运行结果:

利用最大方差法对因子进行旋转后可以发现,各因子载荷差别较 大,更易体现公因子解释能力,公共因子Factor1在 x 10 x_{10} x10经营净利润率 (%)、 x 15 x_{15} x15 净利润增长率(%)、 x 20 x_{20} x20 管理费用比例(%)、 x 21 x_{21} x21财务费用 比率(%)上的载荷值相对较大,可视为反映公司消费能力的公共因 子;Factor2在 x 2 x_{2} x2速动比率(<1偏低)、 x 3 x_{3} x3 现金流动负债比(%)、 x 4 x_{4} x4 每 股收益(元)、 x 12 x_{12} x12资产利润率(%)、 x 13 x_{13} x13 资产净利率(%)上的载荷值 相对较大,可视为反映公司负债能力的公共因子;Factor3在 8 x 每股盈 余公积金(元)、 x 17 x_{17} x17 营业利润增长率(%)上的载荷值相对较大,可视 为反映公司发展能力的公共因子;Factor4在 x 5 x_{5} x5 每股未分配利润 (元)、 x 6 x_{6} x6每股净资产(元)、 x 7 x_{7} x7 每股资本公积金(元)上的载荷值 相对较大,可视为反映公司可持续发展能力的公共因子;Factor5在 x 1 x_{1} x1 流动比率(<2偏低)、 x 11 x_{11} x11 经营毛利率(%)、 x 18 x_{18} x18主营业务成本比例 (%)、 x 19 x_{19} x19 营业费用比例(%)上的载荷值相对较大,可视为反映公司 经营能力的公共因子;Factor6在 x 9 x_{9} x9 每股净资产增长率(%)上的载荷 值相对较大,可视为反映公司生存能力公共因子。

从旋转后的前两个因子得分图可以看出,四环生物、张裕A在公因 子Factor 2上得分排名相对靠前,即其负债能力相对更强;数码网络 在公因子Factor上得分相对靠前,即其消费能力相对更强。

8 排序

8.1 旋转前综合得分排序

运行程序:

复制代码
Fp$ranks #旋转前综合得分排序 

运行结果:

复制代码
## Factor Rank 
## 深深房A -0.2903 21 
## 同人华塑 -0.0084 10 
## 南开戈德 -0.1943 17 
## st 昌源 -0.1358 13 
## 山东巨力 -0.2418 18 
## 一汽夏利 -0.0089 11 
## 闽东电力 0.1737 6 
## 深本实 b -0.2751 20 
## st 啤酒花 -1.0421 23 
## 云大科技 -0.4438 22 
## 中天科技 -0.0066 9 
## 爱建股份 0.5209 3 
## st 轻骑 -0.2671 19 ## 张裕 A 1.3355 1 
## 阿继电器 -0.1790 15 
## 广州浪奇 -0.0767 12 
## 浙江震元 0.1922 4 
## 四环生物 0.8929 2 
## 深宝安 A -0.1942 16 
## 深发展 A -0.1765 14 
## 数码网络 0.1835 5 
## 中色建设 0.1605 7 
## 东北药 0.0815 8 

8.2 旋转前综合得分排序(按排名前后)

运行程序:

复制代码
order1<-Fp$ranks[order(Fp$ranks[,1],decreasing = TRUE),] 
order1 #旋转前综合得分排序(按排名前后) 

运行结果:

复制代码
## Factor Rank 
## 张裕 A 1.3355 1 
## 四环生物 0.8929 2 
## 爱建股份 0.5209 3 
## 浙江震元 0.1922 4 
## 数码网络 0.1835 5 
## 闽东电力 0.1737 6 
## 中色建设 0.1605 7 
## 东北药 0.0815 8 
## 中天科技 -0.0066 9 
## 同人华塑 -0.0084 10 
## 一汽夏利 -0.0089 11 
## 广州浪奇 -0.0767 12 
## st 昌源 -0.1358 13 
## 深发展 A -0.1765 14 
## 阿继电器 -0.1790 15 
## 深宝安 A -0.1942 16 
## 南开戈德 -0.1943 17 
## 山东巨力 -0.2418 18 
## st 轻骑 -0.2671 19 
## 深本实 b -0.2751 20 
## 深深房A -0.2903 21 
## 云大科技 -0.4438 22 
## st 啤酒花 -1.0421 23 

8.3 旋转后综合得分排序

运行程序:

复制代码
Fp1$ranks #旋转后综合得分排序 

运行结果:

复制代码
## Factor Rank 
## 深深房A -0.2692 18 
## 同人华塑 0.2876 5 
## 南开戈德 -0.3129 20 
## st 昌源 -1.1922 23 ## 山东巨力 -0.1759 17 
## 一汽夏利 -0.1214 15 
## 闽东电力 -0.1398 16 
## 深本实 b -0.0459 14 
## st 啤酒花 -0.4632 22 
## 云大科技 -0.2899 19 
## 中天科技 0.0626 9 
## 爱建股份 0.6190 2 
## st 轻骑 0.1251 6 
## 张裕 A 0.9903 1 
## 阿继电器 0.0414 11 
## 广州浪奇 -0.0036 13 
## 浙江震元 0.0553 10 
## 四环生物 0.4862 3 
## 深宝安 A 0.0961 7 
## 深发展 A 0.4767 4 
## 数码网络 -0.3483 21 
## 中色建设 0.0949 8 
## 东北药 0.0268 12## Factor Rank 
## 深深房A -0.2903 21 
## 同人华塑 -0.0084 10 
## 南开戈德 -0.1943 17 
## st 昌源 -0.1358 13 
## 山东巨力 -0.2418 18 
## 一汽夏利 -0.0089 11 
## 闽东电力 0.1737 6 
## 深本实 b -0.2751 20 
## st 啤酒花 -1.0421 23 
## 云大科技 -0.4438 22 
## 中天科技 -0.0066 9 
## 爱建股份 0.5209 3 
## st 轻骑 -0.2671 19 ## 张裕 A 1.3355 1 
## 阿继电器 -0.1790 15 
## 广州浪奇 -0.0767 12 
## 浙江震元 0.1922 4 
## 四环生物 0.8929 2 
## 深宝安 A -0.1942 16 
## 深发展 A -0.1765 14 
## 数码网络 0.1835 5 
## 中色建设 0.1605 7 
## 东北药 0.0815 8 

8.2 旋转后综合得分排序(按排名前后)

运行程序:

复制代码
order2<-Fp1$ranks[order(Fp1$ranks[,1],decreasing = TRUE),] 
order2 #旋转后综合得分排序(按排名前后)

运行结果:

复制代码
## Factor Rank 
## 张裕 A 0.9903 1 
## 爱建股份 0.6190 2 
## 四环生物 0.4862 3 
## 深发展 A 0.4767 4 
## 同人华塑 0.2876 5 
## st 轻骑 0.1251 6 
## 深宝安 A 0.0961 7 
## 中色建设 0.0949 8 
## 中天科技 0.0626 9 
## 浙江震元 0.0553 10 
## 阿继电器 0.0414 11 
## 东北药 0.0268 12 
## 广州浪奇 -0.0036 13 
## 深本实 b -0.0459 14 
## 一汽夏利 -0.1214 15 
## 闽东电力 -0.1398 16 
## 山东巨力 -0.1759 17 
## 深深房A -0.2692 18 
## 云大科技 -0.2899 19 
## 南开戈德 -0.3129 20 
## 数码网络 -0.3483 21 ## st 啤酒花 -0.4632 22 
## st 昌源 -1.1922 23 
## Factor Rank 
## 张裕 A 1.3355 1 
## 四环生物 0.8929 2 
## 爱建股份 0.5209 3 
## 浙江震元 0.1922 4 
## 数码网络 0.1835 5 
## 闽东电力 0.1737 6 
## 中色建设 0.1605 7 
## 东北药 0.0815 8 
## 中天科技 -0.0066 9 
## 同人华塑 -0.0084 10 
## 一汽夏利 -0.0089 11 
## 广州浪奇 -0.0767 12 
## st 昌源 -0.1358 13 
## 深发展 A -0.1765 14 
## 阿继电器 -0.1790 15 
## 深宝安 A -0.1942 16 
## 南开戈德 -0.1943 17 
## 山东巨力 -0.2418 18 
## st 轻骑 -0.2671 19 
## 深本实 b -0.2751 20 
## 深深房A -0.2903 21 
## 云大科技 -0.4438 22 
## st 啤酒花 -1.0421 23 

由程序运行结果显示,在这23个上市企业财务状况中,因子旋转 前后综合财务状况排名前三的公司分别为张裕A、四环生物、爱建股 份;因子旋转前,深深房A、云大科技、st啤酒花排名最后,因子旋转 后,数码网络、st啤酒花、st昌源排名最后。可以发现因子旋转前 后,公司排名前后虽然有细微变化,但变化差别不大,因子旋转后, 各公因子对公司财务能力更易解释。

相关推荐
爱喝热水的呀哈喽9 分钟前
非线性1无修
算法
贺函不是涵10 分钟前
【沉浸式求职学习day43】【Java面试题精选3】
java·开发语言·学习
xiaobin8899916 分钟前
matlab官方免费下载安装超详细教程2025最新matlab安装教程(MATLAB R2024b)
java·开发语言·其他·matlab
Takoony20 分钟前
正则表达式r前缀使用指南
开发语言·正则表达式·r语言
搏博26 分钟前
WPS中代码段的识别方法及JS宏实现
开发语言·javascript·wps
vortex531 分钟前
Bash fork 炸弹 —— :(){ :|:& };:
运维·服务器·开发语言·网络安全·bash
花火QWQ33 分钟前
图论模板(部分)
c语言·数据结构·c++·算法·图论
Pacify_The_North1 小时前
【进程控制二】进程替换和bash解释器
linux·c语言·开发语言·算法·ubuntu·centos·bash
xiaohanbao091 小时前
day29 python深入探索类装饰器
开发语言·python·学习·机器学习·pandas
轮到我狗叫了1 小时前
力扣310.最小高度树(拓扑排序,无向图),力扣.加油站力扣.矩阵置零力扣.二叉树中的最大路径和
算法·leetcode·职场和发展