python实现因子分析,python求因子代码
以前:因子分析模型的Python版本
显示数据集1、KMO检测和小巴检测2、蔡尔德数确定3、正交旋转4、因子得分所有编码数据集显示。
目前,30个省份有9个家庭支出指标。一些数据如下
目前希望通过因子分析来评价各省家庭的综合消费支出水平。
另一方面,在使用因子分析模型之前,KMO检验和巴莱特检验需要保证变量的相关性。测试标准如下
库(psych)) kmo和Bartlette检查软件包data-read . CSV(raw _ data . CSV))data1=data[,-1] # area列kmo) data1)
从测试结果来看,KMO值为0.88,Bartlette检测到的P值远小于0.05,所以这个数据集非常适合做因子分析。
二。确定公因子个数的一般标准:特征值大于1或累计方差贡献率大于85%(此值可根据实际数据酌情更改)))))))))))。
基本步骤:计算原矩阵的相关系数矩阵3354,计算相关系数矩阵的特征值3354,计算累计方差贡献率。
这里用累积方差贡献率来确定公因子的个数。
corr=COR(data1)EIG=EIGEN)CORR(CCX=)EIG $ VA)/SUM(EIG $ VA))#贡献率(CX=cumsum (EIG $ va )/sum) EIG
结果表明,当公因子个数为3时,累积方差贡献率达到90%,包含了原始数据的大部分信息。
3.正交旋转正交旋转可以使因子载荷矩阵中各因子的差异变大,有利于解释各因子的意义。
库(mv stats)因子分析所需的数据包fac0=factPC(scale) data1),3) fac1=factPC) scale(data1),3,rot=varimax )是前端因子加载矩阵data.frame (data (-1))
3358www。Sina.com/s因子负荷矩阵特征:公共因子F1对人均食品教育交通支出负荷大,这是3358www.Sina.com/; F2对人均医疗支出负荷大,旋转前F3对人均衣着支出负荷大,旋转后。
四。因子得分=fac 1 $ scores # row names(Score)=data $ provincial plot.text)得分(,1:2]) #因子1和因子2的plot得分(plot . text)得分2:3])因子2和因子3的plot得分http://www.Sina.com/:f1因子得分高的地区是上海、广东、北京和浙江。
3558 www.Sina.com/:因F3得分高的地区有京、沪、浙、内蒙、新疆,即这些地区人均服装支出较高。由于气候的原因,新疆、内蒙古和其他地区的居民人均在服装上花费很多。北京、上海、浙江等经济发达地区的人们,为了追求更好的生活品质,人均服装消费也位居前列。
日常消费因子在北京、上海、浙江三个因子上得分相对较高。可以看出,这三个地区的综合消费水平都位居全国前列。
医疗因子
Rank=Fac1$Rank #总分和排名row names(Rank)-data $ state Rank=Rank[order]rank $ ri,deciding=f),]Rank
代码衣着因子
州图书馆psych kmo和Bartlette检查所需的软件包data-read . CSV(raw _ data . CSV)data1=data[),-1)区域列kmo(data1)bartlett . test)data1)corr=cor)data1)EIG=EIGEN(corr))CX=(EIG $ va)/sum)EIG)EIG 3,使用rot=varimax )旋转因子分析data . frame)fac 0 $ row . names=colnames(data(-1))data . frame)fac 1 $ loading ing row . names
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。