当前位置: 首页 > news >正文

数学建模笔记 因子分析

文章目录

  • 因子分析
  • 跟主成分分析对比
  • 因子分析的实例
    • 例1
    • 例2
  • 因子分析模型
  • 原理
    • 假设
    • 性质
    • 因子载荷矩阵的意义
  • 参数估计
  • 因子旋转方法
  • 因子分析
  • SPSS操作实例
    • 第一次运行
    • 对因子分析结果的介绍
    • 因子载荷散点图
    • 因子得分

因子分析

跟主成分分析对比

  • 主成分分析:

    • 主成分是各指标的线性组合
    • 选取主要的几个主成分包含了原始数据80%以上的信息
    • 实现降维
  • 因子分析

    • 因子的线性组合构成原始变量(指标)
    • 每个指标有一个特殊因子。
    • 让特殊因子尽可能小,比如公共因子解释90%,特殊因子解释10%。就像回归分析的残差
  • 主成分分析只是一个计算,也不需要构造模型

  • 而因子分析是自己构造模型,模型随着我们需要的因子个数改变

  • 因子分析有许多假定

  • 因子分析比主成分分析好,在建模中优先用因子分析

因子分析的实例

例1

  • 对十个指标进行降维

例2

因子分析模型

原理

  • u是均值
  • 公共因子可以看作是每个原始变量共同拥有的某些特征
  • 特殊因子可以理解为只影响这个指标的因子

用矩阵形式表现

  • A是系数矩阵,也称为因子载荷矩阵
  • 一般m<=p,公共因子个数小于原始变量个数,要降维嘛
  • 一个重要假定:A(p*m矩阵)的秩为m,用回归的说法就是保证了没有完全多重共线性。求出来的系数是有效的
  • 要因子分析,就是要求A这个矩阵

假设

求A,要进行一些假设

  • 公共因子均值为0
  • 公共因子协方差矩阵是单位矩阵
    • 说明公共因子彼此之间是不相关的,且具有单位方差
  • 特殊因子协方差矩阵是一个对角矩阵
  • 公共因子与特殊因子不相关
    • 类似回归里的变量不具有内生性,内生性会导致估计出来的结果失效,没有一致性
  • 通过假设我们可以通过某种方法求出A

性质

  • 分解协方差矩阵

x的均值就是u

协方差矩阵的定义:

x-u变为Af+e,展开,每一项与假设结合处理

最后原始变量的协方差矩阵分解,等于A乘A转置,加上特殊因子的协方差矩阵

  • 证明因子载荷矩阵不唯一

  • 正交矩阵就是自己乘自己转置为单位矩阵
  • 人为构造A*,f*发现仍然成立,说明只要乘一个正交矩阵,因子载荷矩阵不唯一
  • 所以可以找到一个我们便于解释的因子载荷矩阵。可以通过乘一个特殊的正交矩阵的方式,相当于进行了一次旋转。我们称为因子旋转

因子载荷矩阵的意义

  • a i j a_{ij} aij
    • 原始变量 x i x_{i} xi与公因子 f i f_{i} fi的协方差
    • x标准化后就是相关系数
    • 默认经过了标准化
    • 证明也不是很难

  • 行元素平方和 h i 2 h_{i}^2 hi2

    • 原始变量 x i x_{i} xi对公因子的依赖程度
  • h i 2 h_{i}^2 hi2是公因子对 x i x_{i} xi的影响,称为共性方差

  • σ i 2 σ_{i}^2 σi2是特殊因子的方差,称为个性方差

  • 由于标准化之后的 x i x_{i} xi方差为1,所以 h i 2 + σ i 2 h_{i}^2+σ_{i}^2 hi2+σi2为1

  • 作用:如果 h i 2 h_{i}^2 hi2为0.9,就可以说明公因子解释了90%,特殊因子解释了10%

  • 列元素平方和 g i 2 g_{i}^2 gi2
    • 反应公因子 f i f_{i} fi对x的贡献
  • 到时候SPSS会把这些都跑出来
  • 这一块是写论文,跑出来的结果怎么解释的关键

参数估计

  • 主成分、最大似然估计、主轴因子法用的比较多
  • 数学建模时可以都试一下,看一下哪个更方便自己解释,就选哪个

因子旋转方法

  • 比赛时用正交旋转一般就够了
  • 要使得新公共因子载荷系数绝对值尽可能接近0或1
    • 方便解释公因子,定义公因子

  • SPSS中因子旋转方法
    • 最多使用最大方差法就行

因子分析

  • 将公共因子表示为原始变量的线性组合

  • 看起来像主成分分析,其实不是的,因为我们对因子有很多假设,没有那么简单

  • 因子得分实际上就是求公共因子,不要理解复杂了

  • 论文中实际上用第三种计算得分方法,是在第二种方法上改进的

SPSS操作实例

具体的操作,比较实用

第一次运行

第一次运行因子分析的结果一般作为参考,首先我们要确定原始数据是否适合进行因子分析,即能否通过KMO检验和巴特利特球形检验。

  • 导入数据

  • 勾选相关的统计
    • 相关性矩阵包括系数、显著性水平、检验

  • 其中KMO检验和巴特利特球形检验
    • KMO检验直接根据SPSS给出的KMO值判断
    • 巴特利特球形检验
      • 原假设为变量间不存在相关性
      • 如果P值<0.05,则拒绝原假设,说明可以做因子分析

  • 继续操作

  • 这里的主成分方法,如果不对得到的结果进行因子旋转,提取出来的因子跟主成分分析得到的主成分是一样的
  • 提取的因子数,可以先不确定,先进行一次分析再确定,所以先勾选上面的基于特征值
  • 因子分析一般会运行两遍
  • 因子旋转方法
  • 因子得分方法

结果分析,能否通过检验,说明一下

确定因子数量

  • 跟主成分分析相似
  • 后面越平坦说明信息越少
  • 这个红框框可以在ppt画

调整因子个数重新计算

对因子分析结果的介绍

  • 共性方差

SPSS会默认标准化。

比如100m这里说明,提取的两个公共因子对这个100m的变量贡献率为95%

正交旋转不会改变公因子方差

  • 总方差解释表
    • 旋转后的载荷平方和不会改变来及贡献率

  • 成分矩阵
    • 成分矩阵就是没旋转的因子载荷矩阵
    • 这里明显可以看出旋转后的更好解释

  • 有时候旋转后的也不是很好解释,那我们可以改变提取方法和旋转方法等
  • 让结果好解释

因子载荷散点图

因子得分

  • 实现降维

  • 不能用于评价,不能说明得分越高就越好

  • 降维后可以用于聚类和回归

要将那两个检验写上去,当检验通过,说明指标间相关性较强,说明因子分析有效

相关文章:

  • 网课查题接口 搜题公众号对接题库教程
  • 7. 内置函数range()、循环结构
  • 利率浮动幅度bp什么意思,浮动利率bps换算百分比
  • 多个类型实现同一接口的方法
  • UE5物体高亮显示(蓝图版)
  • 解决el-tree子节点过多导致渲染缓慢问题
  • Selenium-下拉选择框、弹出框、滚动条操作
  • 机器学习算法——K近邻算法详解
  • 禁忌搜索算法TS求解TSP问题
  • Chapter 6 CNN(Convolutional Neural Network)
  • 网课题库接口搭建教程
  • 时代落在英伟达身上的是粒什么沙,国产GPU的机会又在哪?
  • 【软件测试】什么?这是最全的--金融行业测试类型细分,宝藏干G货......
  • c++学习笔记3_函数模板的使用并实现自己定义的队列
  • 进程地址空间
  • C学习-枚举(九)
  • jquery cookie
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • nodejs调试方法
  • REST架构的思考
  • SQLServer插入数据
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 开源SQL-on-Hadoop系统一览
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 使用docker-compose进行多节点部署
  • 听说你叫Java(二)–Servlet请求
  • 我有几个粽子,和一个故事
  • 一个JAVA程序员成长之路分享
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • !!Dom4j 学习笔记
  • #define与typedef区别
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (0)Nginx 功能特性
  • (12)Linux 常见的三种进程状态
  • (4.10~4.16)
  • (八)c52学习之旅-中断实验
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (过滤器)Filter和(监听器)listener
  • (四)Android布局类型(线性布局LinearLayout)
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)IOS中获取各种文件的目录路径的方法
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .apk 成为历史!
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .net反编译工具
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • .Net中wcf服务生成及调用
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka