R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
这节课讲因子分析
项目实操——因子分析
探索性因子分析法(exploratory factor analysis),简称EFA,是一系列用来发现一组变量的潜在结构的方法,它通过寻找一组更小的、潜在的或隐藏的结构来解释已观测到的、显式的变量间的关系。
下面列举一个因子分析的案例:
factanal()函数
这里我们使用factanal()函数进行因子分析,使用ability.cov数据集进行演示:
首先对数据集进行处理,利用option()函数将数据保留两位小数
options(digits=2) covariances<-ability.cov$cov
cov2cor()函数转化为相关系数
#定义covariences变量,取数据集中的cov列,因为ability.cov数据集是一个列表
转化为系数矩阵(原来表里面的数据是方差,然后用cov2cor()函数转化为相关系数):
correlations<-cov2cor(covariances)
fa.parallel()函数
同样使用fa.parallel()函数判断参与分析的因子个数,这里我们把选项参数fa设置为‘Both’表示即研究主成分也研究因子分析:
fa.parallel(correlations,fa="both",n.obs=112,n.iter=100)
n.obs是观测的数量,也就是样本数,可以通过abilitycov$n.cobs计算得出
观察图中结果,显示要提取两个因子。FA分析是看特征值数大于0,pc看特征值数大于1
fa<-fa(correlations,nfactors=2,rotate="none",fm="pa")
#nfactors是指因子数,rotate是指需不需要旋转,fm是用于进行因子分析的方法
正交旋转法:两个因子之间不相关,斜交旋转法:两个因子之间相关
(后面的多看书-R语言实战)






