https://zhuanlan.zhihu.com/p/37755749
主成分分析步骤:
- 选取初始变量
- 根据初始变量特性选择使用协方差矩阵还是相关矩阵来求主成分
- 计算协方差矩阵或相关矩阵的特征值和特征向量
- 确定主成分个数
- 对主成分做经济解释,主成分的经济意义由各线性组合中权重较大的几个指标来确定
因子分析步骤:
- 选择分析变量
- 计算原始变量的相关系数矩阵
- 提取公因子
- 取方差(特征值)大于0的因子
- 因子的累积方差贡献率达到80%
- 因子旋转
- 因子的实际意义更容易解释
计算因子得分
主成分分析步骤:
分析前,先进行相关性检验,变量之间存在较强相关性,才能使用主成分分析方法。
cor()
1)获取初始数据,统一量纲,将数据进行标准化处理
scale( data )
2)计算相关系数矩阵,求得特征值和特征向量
cor()
eigen( cor() )
$values ; $vectors
3)确定主成分个数
psych:: fa.parallel( scale(), fa="pc" )
abline(h=1)
4)提取主成分
principal( scale(), nfactors=3, rotate="varimax", scores=T )
$cumulative var
计算各主成分
RCi= ∑ ( RCij * Xj )
绘制主成分分析载荷矩阵,查看各个主成分综合构成变量
fadiagram( principal( scale(), nfactors=3, rotate="varimax", scores=T ) ,digits=2 )
5)将原数据分别按第一,第二,第三主成分得分排序,观察各地区主要受哪个主成分影响
View( data[ order ( data$ RCi , decreasing=T ), ] )
因子分析步骤:
1)数据标准化处理,计算相关系数矩阵,求特征值及特征向量
scale( data ); cor(); eigen( cor() )$values ; eigen( cor() )$vectors
2)确定因子个数
psych:: fa.parallel( scale(), fa="???" )
abline(h=1)
3)提取公共因子,使用fa()函数获得相应结果
fa( cor() ,nfactors=3 ,rotate="varimax" ,fm="pa" )
4)使用fa.diagram()函数绘制正交旋转结果的图形
fa.diagram( fa() ,simple=TRUE )
主成分分析载荷矩阵图 与 因子分析正交旋转结果图 对比