对比主成分分析与因子分析

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  )


主成分分析载荷矩阵图 与 因子分析正交旋转结果图 对比

https://zhuanlan.zhihu.com/p/37755749 感谢原作者 

おすすめ

転載: blog.csdn.net/weixin_42683052/article/details/109202614