因子分析法————数据降维

news/2024/11/16 18:37:24/文章来源:https://www.cnblogs.com/dlmuwxw/p/18327380

因子分析法通过研究变量间的相关系数矩阵,把这些变量间错综复杂的关系归结成少数几个综合因子,起到了很好的降维作用

目录
  • 一、因子分析与主成分分析的对比
    • 1.原理对比
    • 2.作用区别
  • 二、因子分析的实例
  • 三、因子分析的理论介绍
    • 1.因子分析的模型
    • 2.模型假设
    • 3.因子载荷矩阵的统计意义
      • (1)A的行元素平方和
      • (2)A的列元素平方和
    • 4.参数估计
    • 5.因子旋转的方法
    • 6.因子得分
  • 四、因子分析的操作步骤
  • 五、结果分析
    • 1.模型检验
      • (1)KMO检验和巴特利特球形检验。
      • (2)巴特利特球形检验
    • 2.确定因子的数目
    • 3.调整因子个数重新计算
    • 4.公因子方差
    • 5.总方差解释表
      • (1)初始特征值
      • (2)载荷平方和
    • 6.成分矩阵
    • 7.旋转后的因子载荷散点图
    • 8.因子得分

一、因子分析与主成分分析的对比

1.原理对比

主成分分析的原理是把主成分分解为原始指标数据的线性组合
而因子分析则是找出原始指标数据的公共因子

2.作用区别

二、因子分析的实例

我们要对某个事物进行评价,由于评价指标太多,往往很难做出正确的评价,此时就需要对指标进行降维处理

三、因子分析的理论介绍

1.因子分析的模型

将原始指标分解为公共因子特殊因子的线性组合。然后写出其矩阵形式,我们的目标就是解出因子载荷矩阵A

2.模型假设

此处假设的目的是保证公共因子之间不相关

3.因子载荷矩阵的统计意义

(1)A的行元素平方和

A的行元素平方和hi表示原始变量z,对公因子依赖的程度

(2)A的列元素平方和

4.参数估计

参数估计就是解因子载荷矩阵A,SPSS中提供了很多中方法,其中最常用的有三种,在下图中已经用红色标出。
在应用中我们可以三个都试一下,找出最好解释的一种

5.因子旋转的方法

我们虽然解出了A,但是这个A不一定符合我们的要求,因此我们需要对其进行正交旋转,这样方便我们进行解释。
在SPSS中已经给出了各个方法

6.因子得分

因子分析是将变量表示为公共因子和特殊因子的线性组合;此外,我们可以反过来将公共因子表示为原变量的线性组合,即可得到因子得分
实现这一步骤的方法,SPSS给给出了

四、因子分析的操作步骤

操作步骤只需要按照下图设置好即可,选项的选择我们会在下方的结果分析一一介绍。
要注意,因子分析要进行两次,通过第一次得到的碎石图固定出得到因子的数目

五、结果分析

1.模型检验

(1)KMO检验和巴特利特球形检验。

KMO统计量是取值在0和1之间,意味着变量间的相关性越强,原有变量越适合作因子分析;当所有变量间的简单相关系数平方和接近0时,KMO值越接近于0,意味着变量间的相关性越弱,原有变量越不适合作因子分析。
KMO检验标准:KMO>0.9,非常适合;0.8<KMO<0.9,适合;0.7<KMO<0.8, 一般;0.6<KMO<0.7,不太适合;KMO<0.5,不适合

(2)巴特利特球形检验

巴特利特球形检验是一种检验各个变量之间相关性程度的检验方法。一般在做因子分析之前都要进行巴特利特球形检验,用于判断变量是否适合用于做因子分析。
它的原假设是相关系数矩阵是一个单位阵(不适合做因子分析,指标之间的相关性太差,不适合降维),因此拒绝原假设即认为适合做因子分析

2.确定因子的数目

观察碎石图,选择较为陡峭的因子作为因子数

3.调整因子个数重新计算

4.公因子方差


800米(s)这个变量的公因子方差为0.9,这可以解释为我们提取的两个公共因子对100米(s)这个变量的方差贡献率为90%,即这两个公共因子能够反映出(或者说保留)100米(s)这个变量90%的信息

5.总方差解释表

(1)初始特征值

从“初始特征值”一栏中可以看出,前2个公共因子解释的累计方差达93.747%,而后面的公共因子的特征值较小,对解释原有变量的贡献越来越小,因此提取两个公共因子是合适的

(2)载荷平方和

“提取载荷平方和” 一栏是在未旋转时被提取的2个公共因子的方差贡献信息,其与“初始特征值”栏的前两行取值一样。
“旋转载荷平方和”是旋转后得到的新公共因子的方差贡献信息,每个公共因子的方差贡献率有变化,这一步骤相当于把贡献率给平均化了,便于我们解释。但最终的累计方差贡献率不变。

6.成分矩阵


旋转后的每个公共因子上的载荷分配更清晰,因而比未旋转时更容易解释各因子的意义。我们在实际应用中只用关注旋转后的因子载荷矩阵即可。
因子载荷是变量与公共因子的相关系数,当某变量在某公共因子中的载荷绝对值越大,表明该变量与该公共因子更密切,即该公共因子更能代表该变量,其最大值为1。

7.旋转后的因子载荷散点图

根据“旋转后的成分矩阵”的两列数据所作,由此图观察所得信息与从“旋转成分矩阵”所得信息一致。(如果有三个因子,那么画出来的图就是三维图)

8.因子得分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/772794.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 实现行为驱动开发 (BDD) 自动化测试详解

​在当今的软件开发领域,行为驱动开发(Behavior Driven Development,BDD)作为一种新兴的测试方法,逐渐受到越来越多开发者的关注和青睐。Python作为一门功能强大且易于使用的编程语言,在实现BDD方面也有着独特的优势。那么,如何利用Python实现BDD自动化测试呢?本文将为…

Fenwick Tree

看这篇题解 解释一下是为什么 看蓝书的图,比如\(a_3\)对\(c_8\)的贡献,操作一次,贡献系数为\(1\),然后将\(a_8\)中\(a_3\)的贡献次数改为\(1\),考虑一下操作第二次在干什么,我们是先更新了\(a_3\)对\(c_4\)的贡献,然后让\(c_8\)为\(c_4\)和\(a_8\)(注意这里的\(a_8\)已…

04HTML+CSS

今天开始学了CSS,CSS叫做-层叠样式表。主要是来美化界面的。今日学习内容有 1.CSS的引入方式,CSS的引入方式有三种 内部样式表:学习使用 CSS 代码写在 style 标签里面 l 外部样式表:开发使用 l CSS 代码写在单独的 CSS 文件中(.css)在 HTML 使用 link 标签引入 ,在.CSS文…

ssy中学暑假集训向量学习笔记(完结)

今天模拟赛T4是个极其恶心的东西,用到了许多高中数学知识,md,先引入前置知识。 复数 定义虚数单位\(i\) 满足\(i^2=-1\),复数域\(C\),形如\(a+bi,(a,b\in \mathbb{R})\)的数叫做复数。 复数\(a+bi\)可以在坐标系中表示为\((a,b)\)的向量。 同时复数的加减法满足向量的加减法…

ssy中学暑假集训向量学习笔记(应该能完结)

今天模拟赛T4是个极其恶心的东西,用到了许多高中数学知识,md,引入前置知识。 向量 定义 顾名思义,向量就是有方向的量,在平面直角坐标系上可以用\((a,b)\)表示,图如下:图像上即为由\(A\)指向\(B\)的一条向量。 投影 投影不好解释,拿图吧。\(AC\)在\(AB\)上的投影就是\(…

2023.7.2-3-4Mssql xp_cmdshell提权

1.概念 Mssql和SQL sever的一个产品的不同名称。都属于微软公司旗下。而上述Mssql xp_cmdshell提权也属于数据库提权的一种。 主要依赖于sql server自带的存储过程。 1.1xp_cmdshell提权 扩展存储过程中xp_cmdshell是一个开放接口,可以让sql sever调用cmd命令。 此过程在 SQL …

第二次测试部分题解 (c,d,g)

c-一个欧拉函数模板题1 #include<iostream>2 using namespace std;3 4 int main()5 {6 int n;7 cin >> n;8 int r = n;9 for (int i = 2; i * i <= n; i++) 10 { 11 if (n % i == 0) 12 { 13 r = r / i * (i -…

[随笔]我的创作纪念日

今天,是我开始创作的第256天,哈哈...这刚好是8位无符号二进制的“模”,一个“轮回”。 一些心得和感悟、一些历程与经历、一些收获与体会,大家感兴趣可以看看。历程 我最开始接触这个平台大约是在2020年10月份的时候,那时我正直大三上期,我已经开始备研。附言:黎老师(我…

搭建极狐GitLab(基于Docker): 步骤整合汇总记录

执行背景: (1) CentOS7(虚拟机ISO映像文件=CentOS-7-x86_64-DVD-2009.iso); (2) repo(yum)源已切换为国内源;命令汇总:1. 安装Docker 相关命令: # 查看仓库源中可使用版本 yum list docker-ce --showduplicates | sort -r# 安装指定版本 yum install docker-ce-docker完整版本号…

【待做】【攻防技术系列+权限提升】Windows提权

Windows提权思维导图Windows提权工具 vulmap vulmon开发的一款开源工具,原理是根据软件的名称和版本号来确定,是否有CVE及公开的EXP。这款Linux的工具挺好用,但是对于Windows系统层面不太适用。 windows-exp-suggester 这款和本工具的原理一样,尝试使用了之后,发现它的CVE…

[随笔]创作4天的心得感悟

随笔。【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/18327364 出自【进步*于辰的博客】今天,3月14日,和往常一样,也不是什么节日,就是看到博友们发的动态,也有所感慨。 算一算,我接触此平台已经327天了。虽…

【待做】【攻防技术系列+网络协议】ICMP协议

ICMP协议简介 ICMP(Internet Control Message Protocol)因特网控制报文协议。它是IPv4协议族中的一个子协议,用于IP主机、路由器之间传递控制消息。控制消息是在网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然不传输用户数据,但是对于用户数据…