打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
因子分析及其在R里的实现过程
userphoto

2015.08.03

关注
因子分析把数据看作公共因子,特殊因子和误差构成。主成分分析把方差划分为不同的正交成分,因子分析则把方差划分为不同的起因因子,其特征值计算是从相关矩阵出发,且将主成分转换为因子并计算出因子得分。目前在心理学,生物学和经济学中广泛使用。
数学模型:
其中X[n,p]为p维原始数据,A[p,m]为因子载荷矩阵,F=f1,f2...fm为公共因子向量,e=e1,e1...为特殊因子,m<=p为公共因子数。其中因子载荷矩阵A不是唯一的夬,这样可以通过因子旋转使得新因子有更好的实际意义.
因子分析,回归分析和主成分分析的区别:
因子分析与回归分析不同,因子分析中的因子是一个比较抽象的概念,而回归因子有非常明确的实际意义。
主成分分析与因子分析也不同,主成分分析仅仅是变量变换,而因子分析需要构造因子模型。
主成分分析,用原始变量的线性组合表示新的综合变量,即主成分。
因子分析:潜在的假象变量和随机影响变量的线性组合表示原始变量。
R中函数factanal()执行因子分析,用法:
factanal(x, factors, data = NULL, covmat = NULL, n.obs = NA,
subset, na.action, start = NULL,
scores = c("none", "regression", "Bartlett"),
rotation = "varimax", control = NULL, ...)
x数据框或数据矩阵;covmat样本的协方差阵或相关矩阵,scores因子得分计算方法。
下面是R中的数据, 可以假设为公司18个员工对公司各项调查结果的满意度
> v1 <- c(1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,4,5,6)
> v2 <- c(1,2,1,1,1,1,2,1,2,1,3,4,3,3,3,4,6,5)
> v3 <- c(3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,5,4,6)
> v4 <- c(3,3,4,3,3,1,1,2,1,1,1,1,2,1,1,5,6,4)
> v5 <- c(1,1,1,1,1,3,3,3,3,3,1,1,1,1,1,6,4,5)
> v6 <- c(1,1,1,2,1,3,3,3,4,3,1,1,1,2,1,6,5,4)
> m1 <- cbind(v1,v2,v3,v4,v5,v6)
> factanal(m1, factors = 3) #默认不计算因子得分
Call:
factanal(x = m1, factors = 3)
Uniquenesses:#特殊因子
v1 v2 v3 v4 v5 v6
0.005 0.101 0.005 0.224 0.084 0.005
Loadings:#因子载荷矩阵(用来分析解释各个因子的含义
Factor1 Factor2 Factor3
v1 0.944 0.182 0.267
v2 0.905 0.235 0.159
v3 0.236 0.210 0.946
v4 0.180 0.242 0.828
v5 0.242 0.881 0.286
v6 0.193 0.959 0.196
Factor1 Factor2 Factor3
SS loadings 1.893 1.886 1.797 #公共因子fi对变量v1,v2....v6的方差总贡献
Proportion Var 0.316 0.314 0.300 #方差贡献率(将来可以作为综合评价模型中各因子的权重w1,w2,w3),三个因子的贡献率差不多
Cumulative Var 0.316 0.630 0.929#累计方差贡献率,总贡献率达到92.9%
The degrees of freedom for the model is 0 and the fit was 0.4755
#计算18个员工在3个因子上的得分(由此可以算出综合评价模型中每个员工的因子得分Fij,从而得到综合评价模型:Sj=w1*F1j+w2*F2j+w3*F3,j=1,2...18,i=1,2,3
> factanal(~v1+v2+v3+v4+v5+v6, factors = 3,
+ scores = "Bartlett")$scores
Factor1 Factor2 Factor3
1 -0.9039949 -0.9308984 0.9475392
2 -0.8685952 -0.9328721 0.9352330
3 -0.9082818 -0.9320093 0.9616422
4 -1.0021975 -0.2529689 0.8178552
5 -0.9039949 -0.9308984 0.9475392
6 -0.7452711 0.7273960 -0.7884733
7 -0.7098714 0.7254223 -0.8007795
8 -0.7495580 0.7262851 -0.7743704
9 -0.8080740 1.4033517 -0.9304636
10 -0.7452711 0.7273960 -0.7884733
11 0.9272282 -0.9307506 -0.8371538
12 0.9626279 -0.9327243 -0.8494600
13 0.9229413 -0.9318615 -0.8230509
14 0.8290256 -0.2528211 -0.9668378
15 0.9272282 -0.9307506 -0.8371538
16 0.4224366 2.0453079 1.2864761
17 1.4713902 1.2947716 0.5451562
18 1.8822320 0.3086244 1.9547752
和主成分分析对照
> prcomp(m1,scale=TRUE)
Standard deviations:
[1] 1.9225064 1.0359124 1.0003870 0.4012524 0.2023886 0.1676783
Rotation:
PC1 PC2 PC3 PC4 PC5 PC6
v1 0.4154985 -0.53088297 0.1760717 -0.2791358 0.5317514 -0.39223298
v2 0.4007058 -0.54223870 0.2485226 0.3048547 -0.5042931 0.36932463
v3 0.4133938 0.07418871 -0.5496063 -0.5693303 -0.4344463 -0.09302655
v4 0.3940548 0.08433475 -0.5976225 0.5877130 0.3543977 0.09721936
v5 0.4206885 0.44028459 0.3342420 -0.2798686 0.2920358 0.59484588
v6 0.4045287 0.46655507 0.3691854 0.2850910 -0.2516003 -0.58121033
> summary(prcomp(m1,scale=TRUE))
Importance of components:
PC1 PC2 PC3 PC4 PC5 PC6
Standard deviation 1.923 1.0359 1.0004 0.40125 0.20239 0.16768
Proportion of Variance 0.616 0.1789 0.1668 0.02683 0.00683 0.00469
Cumulative Proportion 0.616 0.7949 0.9617 0.98849 0.99531 1.00000
>

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
《应用多元统计分析》第七章因子分析实验报告
主成分分析与因子分析(三):使用SAS实现主成分分析 - FACTOR过程
我国居民消费结构的因子分析
Python实战|手把手教你做因子分析
因子分析
R语言 | 第四讲:R语言数据类型及结构
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服