美文网首页
python Factor analysis 因子分析

python Factor analysis 因子分析

作者: 你的仙女本仙 | 来源:发表于2020-03-24 21:04 被阅读0次

    数据:


    image.png
    
    import pandas as pd
    from factor_analyzer import FactorAnalyzer
    import matplotlib.pyplot as plt
    
    df =pd.read_excel("表7.1.xlsx")#默认会把第一行作为列名字,第一列数据不可用
    dataframe =df.drop(labels='地区',axis=1) #删除第一列(地区),axis 默认为0,指删除行,列 axis=1;
    fa = FactorAnalyzer(8, rotation=None)
    fa.fit(dataframe)
    
    
    ev, v = fa.get_eigenvalues()
    print(ev,v)
    
    image.png
    plt.scatter(range(1,dataframe.shape[1]+1),ev)
    plt.plot(range(1,dataframe.shape[1]+1),ev)
    plt.title('Scree Plot')
    plt.xlabel('Factors')
    plt.ylabel('Eigenvalue')
    plt.grid()
    plt.show() #从图中可以看出选择2个公共因子比较合理
    
    image.png
    fa2=fa = FactorAnalyzer(2, rotation="varimax")
    fa2.fit(dataframe)
    
    print("提取出的公因子经过旋转后的方差贡献情况:\n",fa2.loadings_)
    print("各因子的累积方差贡献率:\n", fa2.get_communalities())
    print("各因子的方差贡献率:\n", fa2.get_factor_variance())
    print("因子得分系数矩阵:\n",fa2.transform(dataframe))
    
    
    
    image.png

    相关文章

      网友评论

          本文标题:python Factor analysis 因子分析

          本文链接:https://www.haomeiwen.com/subject/cjwayhtx.html