因子分析在STATA中实现和案例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第13章因子分析
因子分析始于1904年Chars Spearman对学生成绩的分析,在经济领域有着极为广泛的用途。
在多个变量的变化过程中,除了一些特定因素之外,还受到一些共同因素的影响。
因此,每个变量可以拆分成两部分,一是共同因素,二是特殊因素。
这些共同因素称为公因子,特殊因素称为特殊因子。
因子分析即是提出多个变量的公共影响因子的一种多元统计方法,它是主成分分析的推广。
因子分析主要解决两类问题:一是寻求基本结构,简化观察系统。
给定一组变量或观察数据,是否存在一个子集,特别是一个加权子集,来解释整个问题,即将为数众多的变量减少为几个新的因子,以再现它们之间的内在联系。
二是用于分类,将变量或样本进行分类,根据因子得分值,在因子轴所构成的空间中进行分类处理。
p个变量X的因子模型表达式为:
f称为公因子,Λ称为因子载荷。
X的相关系数矩阵分解为:
对于未旋转的因子,1
Φ。
ψ称为特殊度,即每个变量中不属于共性的部
=
分。
13.1 因子估计
Stata可以通过变量进行因子分析,也可以通过矩阵进行。
命令为factor 或factormat。
webuse bg2,clear
describe
factor bg2cost1-bg2cost6
factor bg2cost1-bg2cost6, factors(2)
* pf 主因子方法,用复相关系数的平方作为因子载荷的估计量(默认选项)
factor bg2cost1-bg2cost6, factors(2) pcf
* pcf 主成分因子,假定共同度=1
factor bg2cost1-bg2cost6, factors(2) ipf
* ipf 迭代主因子,重复估计共同度
factor bg2cost1-bg2cost6, factors(2) ml
* ml 极大似然因子,假定变量(至少3个)服从多元正态分布,对偏相关矩阵的行列式进行最优化求解,等价于Rao的典型因子方法
13.2 预测
Stata可以通过predict预测变量得分、拟合值和残差等。
webuse bg2,clear
factor bg2cost1-bg2cost6
predict f1 f2
* factor1 factor2因子分得分
predict stdp residuals
* 预测标准差和残差
13.3 Estat
Eatat给出了几个非常有用的工具,包括KMO、SMC等指标。
webuse bg2,clear
factor bg2cost1-bg2cost6
estat anti
estat kmo
estat residuals
estat smc
estat summarize
13.4 因子旋转与作图
因子分析的旋转方法以及碎石图、得分图、因子载荷图与主成分分析的方法相同,请参见”主成分分析”一章。
webuse bg2,clear
factor bg2cost1-bg2cost6
screeplot /*碎石图*/
scoreplot /*得分图*/
loadingplot /*因子载荷图*/
rotate /*旋转*/
例:利用2009年的数据对中国社会发展状况进行综合考察,原始数据如下表:
省份人均GDP
(元)
新增固定
资产(亿
元)
城镇居民
人均年可
支配收入
(元)
农村居民
家庭人均
纯收入
(元)
高等学校
数(所)
卫生机构
数(个)
area x1 x2 x3 x4 x5 x6
北京63029 2385.8 24724.89 10661.92 85 6497 天津55473 1676.8 19422.53 7910.78 55 2784 河北23239 4734.2 13441.09 4795.46 105 15632 山西20398 1772.6 13119.05 4097.24 69 9431 内蒙古32214 3309.3 14432.55 4656.18 39 7162 辽宁31259 5056.7 14392.69 5576.48 104 14627 吉林23514 3279.9 12829.45 4932.74 55 9659 黑龙江21727 2405.4 11581.28 4855.59 78 7928 上海73124 2523.2 26674.9 11440.26 66 2822 江苏39622 7645.9 18679.52 7356.47 146 13357 浙江42214 3434.8 22726.66 9257.93 98 15290 安徽14485 2849.5 12990.35 4202.49 104 7837 福建30123 1768.3 17961.45 6196.07 81 4478 江西14781 2962.5 12866.44 4697.19 82 8229 山东33083 6852.5 16305.41 5641.43 125 14973 河南19593 6414 13231.11 4454.24 94 11683 湖北19860 3053.4 13152.86 4656.38 118 10305 湖南17521 2478.2 13821.16 4512.46 115 14455 广东37589 5529.2 19732.86 6399.79 125 15819 广西14966 1419 14146.04 3690.34 68 10427 海南17175 230.2 12607.84 4389.97 16 2220 重庆18025 1381.9 14367.55 4126.21 47 6265 四川15378 2918.7 12633.38 4121.21 90 20738 贵州8824 903 11758.76 2796.93 45 5848 云南12587 1551 13250.22 3102.6 59 9249
西藏13861 137.4 12481.51 3175.82 6 1326 陕西18246 2262.8 12857.89 3136.46 88 8812 甘肃12110 575.2 10969.41 2723.79 39 10534 青海17389 322.8 11640.43 3061.24 9 1582 宁夏17892 403.9 12931.53 3681.42 15 1629 新疆19893 1162.9 11432.1 3502.9 37 6739 程序:
clear
*定义变量的标签
label var area 省份
label var x1 "人均GDP(元)"
label var x2 "新增固定资产(亿元)"
label var x3 "城镇居民人均年可支配收入(元)"
label var x4 "农村居民家庭人均纯收入(元)"
label var x5 "高等学校数(所)"
label var x6 "卫生机构数(个)"
describe
factor x1-x6
screeplot /* 碎石图(特征值等于1处的水平线标示保留主成分的分界点)*/
*检验
estat kmo /*KMO检验,越高越好*/
estat smc /*SMC检验,值越高越好*/
rotate /*旋转*/
loadingplot , yline(0) xline(0)/*载荷图 */
*预测
predict score fit residual q /*预测变量得分、拟合值和残差以及残差的平方和*/ predict f1 f2
label var f1 收入因子
label var f2 "投资、社会因子"
list area f1 f2
summarize f1 f2
correlate f1 f2
scoreplot,xtitle("收入因子") ytitle("投资、社会因子") ///
mlabel(area) yline(0) xline(0) /*得分图*/
分析:
首先通过主因子分析(factor),得到主成分因子:
Factor analysis/correlation Number of obs = 31
Method: principal factors Retained factors = 3
Rotation: (unrotated) Number of params = 15
--------------------------------------------------------------------------
Factor | Eigenvalue Difference Proportion Cumulative
-------------+------------------------------------------------------------
Factor1 | 3.28193 1.42544 0.6554 0.6554
Factor2 | 1.85648 1.81677 0.3707 1.0261
Factor3 | 0.03971 0.06244 0.0079 1.0341
Factor4 | -0.02272 0.03972 -0.0045 1.0295
Factor5 | -0.06244 0.02293 -0.0125 1.0170
Factor6 | -0.08538 . -0.0170 1.0000
--------------------------------------------------------------------------
LR test: independent vs. saturated: chi2(15) = 211.52 Prob>chi2 = 0.0000
Factor loadings (pattern matrix) and unique variances
-----------------------------------------------------------
Variable | Factor1 Factor2 Factor3 | Uniqueness
-------------+------------------------------+--------------
x1_s | 0.8609 -0.4463 -0.1125 | 0.0469
x2_s | 0.6274 0.6026 -0.1061 | 0.2320
x3_s | 0.8800 -0.3931 0.0998 | 0.0611
x4_s | 0.9120 -0.3658 0.0365 | 0.0332
x5_s | 0.6508 0.6526 0.0349 | 0.1494
x6_s | 0.3427 0.7616 0.0572 | 0.2993
-----------------------------------------------------------
从上面的分析可以看出,只有两个成分大于1大于的特征值,同时两个成分解释了全部六个变量组合的方差还多。
不重要的第2 到6个主成分在随后的分析中可以放心地省略去。
运行factor命令后,我们可以接着运行screeplot命令画出碎石图。
碎石图中特征值等于1处的水平线标示了保留主成分的常用分界点,同时再次强调了本例中的成分3到成分6并不重要。
碎石图
检验的方法还是跟上一章的主成分分析一样,由于我们都是选用实际的数据来进行分析,所以在一般情况下,检验都是通得过的,可以忽略,觉得有需要的再进行检验。
旋转会进一步简化因子结构。
在提取因子之后,键入rotate命令进行旋转。
Factor analysis/correlation Number of obs = 31
Method: principal factors Retained factors = 3
Rotation: orthogonal varimax (Kaiser off) Number of params = 15
--------------------------------------------------------------------------
Factor | Variance Difference Proportion Cumulative
-------------+------------------------------------------------------------
Factor1 | 2.90489 0.67214 0.5801 0.5801
Factor2 | 2.23276 2.19228 0.4459 1.0260
Factor3 | 0.04047 . 0.0081 1.0341
--------------------------------------------------------------------------
LR test: independent vs. saturated: chi2(15) = 211.52 Prob>chi2 = 0.0000
Rotated factor loadings (pattern matrix) and unique variances
-----------------------------------------------------------
Variable | Factor1 Factor2 Factor3 | Uniqueness
-------------+------------------------------+--------------
x1 | 0.9659 0.0601 0.1284 | 0.0469
x2 | 0.2269 0.8399 0.1052 | 0.2320
x3 | 0.9585 0.1143 -0.0844 | 0.0611
x4 | 0.9708 0.1546 -0.0211 | 0.0332
x5 | 0.2236 0.8940 -0.0362 | 0.1494
x6 | -0.0962 0.8291 -0.0635 | 0.2993
-----------------------------------------------------------
Factor rotation matrix
-----------------------------------------
| Factor1 Factor2 Factor3
-------------+---------------------------
Factor1 | 0.8578 0.5138 0.0115
Factor2 | -0.5137 0.8579 -0.0135
Factor3 | 0.0168 -0.0056 -0.9998
-----------------------------------------
结合实际情况,我们通过上面的分析整理出前两个主因子的正交因子表。
如下表:
从图中我们就可以直观的看出在主因子1中x1、x3、x4明显取得较大值,而对于主因子2则是x2、x5、x6取得较大的值。
载荷图
因子分是通过将每个变量标准化为平均数等于0和方差等于1,然后以因子分系数进行加权合计为每个因子构成的线性组合。
基于最近的rotate或factor 结果,predict会自动进行这些计算。
通过命令predict f1 f2,我们得到了各个观察变量的主因子1、主因子2的得分情况。
. list area f1 f2
+--------------------------------+ | area f1 f2 |
|--------------------------------|
1. | 北京
2.561218 -.3716789 |
2. | 天津 1.557873 -.9623399 |
3. | 河北 -.3308641 1.11135 |
4. | 山西 -.4196471 -.1267554 |
5. | 内蒙古 .0597282 -.493462 | |--------------------------------|
6. | 辽宁 .0589154 1.03599 |
7. | 吉林 -.1869884 -.0693724 |
8. | 黑龙江 -.3388027 .0518705 |
9. | 上海 3.102133 -.8749663 |
10. | 江苏 .7713872 1.864629 | |--------------------------------|
11. | 浙江 1.640963 .5580102 |
12. | 安徽 -.5925296 .5026094 |
13. | 福建 .5376554 -.3128498 |
14. | 江西 -.445243 .2467043 |
15. | 山东 .1589503 1.588749 | |--------------------------------| 16. | 河南 -.4744598 1.084772 | 17. | 湖北 -.4194019 .7986803 |
18. | 湖南 -.4611212 .8609527 |
19. | 广东 .6425342 1.33433 |
20. | 广西 -.5491737 -.1288966 | |--------------------------------|
21. | 海南 -.2889173 -1.39015 |
22. | 重庆 -.3183038 -.6323313 |
23. | 四川 -.652319 .9108785 |
24. | 贵州 -.9411649 -.6618432 |
25. | 云南 -.7608307 -.2586383 | |--------------------------------|
26. | 西藏 -.6072451 -1.569231 |
27. | 陕西 -.7326311 .1913275 |
28. | 甘肃 -.9497479 -.5987777 |
29. | 青海 -.6269016 -1.50444 |
30. | 宁夏 -.4114082 -1.422286 | |--------------------------------| 31. | 新疆 -.5836563 -.7628338 | +--------------------------------+
. summarize f1 f2
Variable | Obs Mean Std. Dev. Min Max
-------------+--------------------------------------------------------
f1 | 31 -4.09e-09 .988557 -.9497479 3.102133
f2 | 31 9.13e-09 .9464783 -1.569231 1.864629
在这些因子分之间是存在着相关,在默认选项中,promax旋转允许因子分之间存在相关。
通过运行命令correlate f1 f2可得。
从运行出来的结果看到,两个因子分相关关系是很小的。
. correlate f1 f2
(obs=31)
| f1 f2
-------------+------------------
f1 | 1.0000
f2 | 0.0158 1.0000
另一个后因子分析制图命令,scoreplot可绘出这些观测案例的因子分的散点图。
在本例的得分图中,我们可以看到,上海、北京、浙江、天津这些城市的主因子1的得分相对于其他城市高,因为主因子1是收入因子,这些城市的收入在全国是排在前列的。
而我们可以看到北京、上海的在主因子2(即投资、社会因子)的得分是较低,这是因为这两个城市的经济总量相对较小。
在江苏、山东、广东这些经济总量名列前茅的省份,它们的主因子2的得分也是相应位于其他城市前面。
得分图
练习:
将上一章的主成分分析的例子的数据进行因子分析。
省份
GDP
(亿元)
居民
消费
水平
(元)
固定资
产投资
(亿元)
职工平
均工资
(元)
货物周
转量
(亿吨公
里)
居民消
费价格
指数
(上年
100)
商品零
售价格
指数
(上年
100)
工业总
产值
(亿元)
area x1 x2 x3 x4 x5 x6 x7 x8
北京10488.03 20346 3814.7 56328 758.9 105.1 104.4 10413 天津6354.38 14000 3389.8 41748 2703.4 105.4 105.1 12503 河北16188.61 6570 8866.6 24756 5925.5 106.2 106.7 23031 山西6938.73 6187 3531.2 25828 2562.2 107.2 107.2 10024 内蒙古7761.8 8108 5475.4 26114 3658.7 105.7 104.7 8740.2 辽宁13461.57 9625 10019.1 27729 7033.9 104.6 105.3 24769 吉林6424.06 7591 5038.9 23486 1157.8 105.1 106.2 8406.9 黑龙江8310 7039 3656 23046 1690.9 105.6 105.8 7624.5 上海13698.15 27343 4823.1 56565 16029.8 105.8 105.3 25121 江苏30312.61 11013 15300.6 31667 4300.9 105.4 104.9 67799 浙江21486.92 13893 9323 34146 4974.9 105 106.3 40832 安徽8874.17 6377 6747 26363 5843.2 106.2 106.3 11162 福建10823.11 10361 5207.7 25702 2396.2 104.6 105.7 15213 江西6480.33 5753 4745.4 21000 2285.5 106 106.1 8499.6 山东31072.06 9573 15435.9 26404 10107.8 105.3 104.9 62959 河南18407.78 5877 10490.6 24816 5165.1 107 107.5 26028 湖北11330.38 7406 5647 22739 2526.4 106.3 106.3 13455 湖南11156.64 7145 5534 24870 2349.8 106 105.6 11553 广东35696.46 14390 10868.7 33110 4428.4 105.6 106 65425 广西7171.58 6103 3756.4 25660 2079 107.8 107.6 6072 海南1459.23 6550 705.4 21864 597.7 106.9 106.7 1103.1 重庆5096.66 9835 3979.6 26985 1490.3 105.6 105 5755.9 四川12506.25 6072 7127.8 25038 1578.7 105.1 105.3 14762 贵州3333.4 4426 1864.5 24602 805.3 107.6 107.2 3111.1 云南5700.1 4553 3435.9 24030 821.3 105.7 106.1 5144.6 西藏395.91 3504 309.9 47280 35.5 105.7 103.9 48.19 陕西6851.32 6290 4614.4 25942 2027 106.4 106.9 7480.8 甘肃3176.11 4869 1712.8 24017 1594.9 108.2 107.9 3667.5 青海961.53 5830 583.2 30983 335.7 110.1 110.6 1103.1 宁夏1098.51 7193 828.9 30719 703.6 108.5 108.5 1366.5 新疆4203.41 5542 2260 24687 1273 108.1 108.5 4276.1。