因子分析——python

目录

一、起源

二、基本思想

三、算法用途

四、因子分析步骤

五、factor_analyzer库

四、实例详解

1.导入库

2.读取数据

3.充分性检测

3.1 Bartlett's球状检验

 3.2 KMO检验

4.选择因子个数

4.1 特征值和特征向量

4.2 可视化展示

4.3 可视化中显示中文不报错

5.因子旋转

5.1 建立因子分析模型

5.2 查看因子方差-get_communalities()

5.3 查看旋转后的特征值

 5.4 查看成分矩阵

 5.5 查看因子贡献率

 6.隐藏变量可视化

7.转成新变量

五·、参考资料


一、起源

        因子分析的起源是这样的:1904年英国的一个心理学家发现学生的英语、法语和古典语成绩非常有相关性,他认为这三门课程背后有一个共同的因素驱动,最后将这个因素定义为“语言能力”。

        基于这个想法,发现很多相关性很高的因素背后有共同的因子驱动,从而定义了因子分析,这便是因子分析的由来。

二、基本思想

        我们再通过一个更加实际的例子来理解因子分析的基本思想:

        现在假设一个同学的数学、物理、化学、生物都考了满分,那么我们可以认为这个学生的理性思维比较强,在这里理性思维就是我们所说的一个因子。在这个因子的作用下,偏理科的成绩才会那么高。

        到底什么是因子分析?就是假设现有全部自变量x的出现是因为某个潜在变量的作用,这个潜在的变量就是我们说的因子。在这个因子的作用下,x能够被观察到。

        因子分析就是将存在某些相关性的变量提炼为较少的几个因子,用这几个因子去表示原本的变量,也可以根据因子对变量进行分类

        因子分子本质上也是降维的过程,和主成分分析(PCA)算法比较类似。

三、算法用途

        因子分析法和主成分分析法有很多类似之处。因子分析的主要目的是用来描述隐藏在一组测量到的变量中的一些更基本的,但又无法直接测量到的隐性变量。因子分析法也可以用来综合评价。

        其主要思路是利用研究指标的之间存在一定的相关性,从而推想是否存在某些潜在的共性因子,而这些不同的潜在的共性因子不同程度地共同影响着研究指标。因子分析可以在许多变量中找出隐藏的具有代表性的因子,将共同本质的变量归入一个因子,可以减少变量的数目。

四、因子分析步骤

应用因子分析法的主要步骤如下:

  • 对所给的数据样本进行标准化处理

  • 计算样本的相关矩阵R

  • 求相关矩阵R的特征值、特征向量

  • 根据系统要求的累积贡献度确定主因子的个数

  • 计算因子载荷矩阵A

  • 最终确定因子模型

五、factor_analyzer库

利用Python进行因子分析的核心库是:factor_analyzer

pip install factor_analyzer

这个库主要有两个主要的模块需要学习:

  • factor_analyzer.analyze(重点)

  • factor_analyzer.factor_analyzer

官网学习地址:factor_analyzer package — factor_analyzer 0.3.1 documentation

四、实例详解

 数据来源于中国统计年鉴。

1.导入库

# 数据处理
import pandas as pd
import numpy as np

# 绘图
import seaborn as sns
import matplotlib.pyplot as plt
# 因子分析
from factor_analyzer import FactorAnalyzer

2.读取数据

df = pd.read_csv("D:\桌面\demo.csv",encoding='gbk')
df

输出:

 如果不想要城市那一列的话,可以在读取的时候就删除,也可以后面再删

比如,读取时删除

df = pd.read_csv("D:\桌面\demo.csv", index_col=0,encoding='gbk').reset_index(drop=True)
df

返回:

 然后我们查询一下,数据的缺失值情况:

df.isnull().s
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值