降维之探索性因子分析

使用SPSSAU实现探索性因子分析 因子旋转的目的就是要对因子轴进行旋转,使因子载荷矩阵的结构更加简单和有意义,以便更好地对因子进行解释和命名,通过因子旋转,可以使每个因子上的载荷在某些变量上变得更大,而在其他变量上变得更小,从而使每个因子能够更清晰地对应到具体的产品属性上。探索性因子分析(Exploratory Factor Analysis,EFA)是一种多元统计分析方法,也是常用的数据降维技术,通过减少数据中的冗余信息以提升数据的可解释性。,一个变量在某个公因子上的载荷系数的绝对值越大,说明变量与该公因子越具有相关性。 阅读详情

(本文首发于公众号:R语言画图)

写在前面

有两种常用的变量降维方法,其一是主成分分析(PCA),我们在前面的文章中已学习,这次是其二方法——探索性因子分析(EFA)。PCA使用线性变换技术,将数据从原先的坐标系统变换到新的坐标系统中,并计算投射到各个坐标轴中数据的方差值,按大到小排序,第一坐标轴称为第一主成分,第二坐标轴称为第二主成分,以此类推。如此操作之后,因为主成分之间相互不相关,就解决了原始变量之间存在的信息重叠问题,用较少的新的变量最大化地对原始数据重新进行刻画,极大方便了后续的数据分析。

要是原始变量能够根据相互之间的相关程度分成几组,使得组间相关不大而组内变量间存在着一定的相关性,EFA方法就比较适用,它将相同本质的变量归入一个因子(可以解释多个变量间共有的方差,也被称为公共因子),以此达到降维的目的。PCA中的主成分是对原始变量进行加权组合(下图中间部分,来自参考文章1),表示观测变量的变异导致了主成分的变异,而EFA是一种识别无法直接观测变量(即潜在因子)的技术,潜在因子被视为引起观测变量变化的原因(下图右边部分),其中权重系数a表示因子对于复合而成的可观测变量的贡献值。

下图展示了PCA和EFA模型两者之间的区别(来自参考文章2)。左侧显示,主成分PC1和PC2是经由观测变量X1~X5的线性组合得到的,并且组合的权重系数使得主成分能够最大化所解释的方差。右侧因子F1和F2被当作是解释观测变量的原因,圆圈e1~e5代表观测变量方差的误差,它们是无法用因子来解释的,同样无法直接观测,但可以通过变量间的相互关系推导得到。

实例演示

这次用到R自带的Harman74.cor数据集,它的类型是列表(list),属于R中最复杂的一种数据类型了,其中可以包含各种类型的对象,如向量、矩阵、数据框和列表自身。Harman74.cor包含24个心理测验之间的相关系数矩阵,被试是145个七年级或八年级的学生。EFA的分析步骤与PCA很类似,首先需要判断提取几个因子,代码和图形如下。

# 小数点后数字的位数
options(digits=2)
# 查看数据
Harman74.cor$cov
library(psych)
# fa="both"指出同时做PCA和EFA
fa.parallel(Harman74.cor$cov,n.obs=145,fa="both",n.iter=100,main="并行分析碎石图")

上图除了显示碎石分析(蓝色)和平行分析(红色)外,还有y=1的水平线(黑色),PCA可以根据特征值大于1的准则选取成分,不过EFA的准则是特征值大于0。根据结果图,蓝线拐点以上或是红线之上的三角形有四个,因此我们选取的因子数是四个。

与PCA相比,提取公共因子的方法会更多一些,有最大似然法(ml)、主轴迭代法(pa)、最小残差法(minres)等,是在fa()函数中通过fm参数进行指定,代码和图形如下。

# 统计学家倾向于使用ml,当ml不会收敛时可使用pa
fa <- fa(Harman74.cor$cov,nfactors=4,rotate="none",fm="pa")
fa

图中显示四个因子能够解释24个心理测验48%的方差,只是载荷阵(黄框部分,变量与因子间的相关系数)的意义不太好解释,需要使用到因子旋转,代码和图形如下。

# varimax使用正交旋转,人为强制四个因子不相关
fa1 <- fa(Harman74.cor$cov,nfactors=4,rotate="varimax",fm="pa")
fa1

图中因子变得更好解释了。句子填空、单词含义、段落理解等在第一因子上载荷较大,视觉感知、立方体等在第三因子上载荷较大,加法、数点、编码等在第二因子上载荷较大,单词再认、数字再认、人物再认等在第四因子上载荷较大,剩下几项在四个因子上载荷比较平均,这些表明存在文字理解因子、空间视觉因子、数学计算因子和回忆再认因子。可以使用fa.diagram()函数来绘制因子旋转之后的结果,代码和图形如下。

# TRUE仅显示每项最大载荷(上图红框部分)与所对应的因子
fa.diagram(fa1,simple=TRUE)

 

除了正交旋转,还可以使用斜交转轴法(如promax)来旋转以上四个因子,此时允许因子之间存在相关,虽然变得复杂,但模型会更贴合实际数据,代码和图形如下。

# 需要安装GPArotation程序包
library(GPArotation)
fa2 <- fa(Harman74.cor$cov,nfactors=4,rotate="promax",fm="pa")
fa2

上图红框部分组成了因子模式矩阵,它们是标准化的回归系数,已经不是相关系数。我们照样可以得到文字理解因子、空间视觉因子、数学计算因子和回忆再认因子,虽然列的名称依然是PA1~PA4。黄框部分是因子关联矩阵,因子间的相关系数从047~0.59,相关性还是比较大的。同样我们可以使用fa.diagram()函数来绘制变量与因子间的相关系数图,这次还显示了因子之间的相关系数,代码和图形如下,这种图在有多个因子时非常实用。

# 这次我们使用FALSE选项,有些变量与多个因子都存中等程度的相关
fa.diagram(fa2,simple=FALSE)

参考文章:

  1. 这样的数据分析员才有时间谈恋爱? 
    https://mp.weixin.qq.com/s?__biz=MjM5MDA3NjYyOQ==&mid=2650056454&idx=1&sn=162a3941a1e7e2f57f6da6c834c6aa70&chksm=be4a5cbc893dd5aa9a03f4595c7a490aa2408182650d8af0893ea31e932837ae2746138549e5&scene=21
  2. [图书]R语言实战第十四章主成分和因子分析
  3. R自带数据集介绍
    https://www.cnblogs.com/adam012019/p/14918647.html
10.常用统计分析方法——主成分分析和因子分析 主成分及因子分析 阅读详情

相关推荐

因子分析实战指南:从数据降维到业务洞察的完整流程

因子分析是一种经典的多元统计方法,其核心思想是通过数学模型从众多观测变量中提取少数几个潜在的公共因子,以揭示数据背后的内在结构。从原理上看,它基于变量间的相关关系,通过因子载荷矩阵量化变量与因子之间的关联强度,并利用因子旋转使结构更清晰可解释。在技术价值上,因子分析不仅能实现数据降维、简化复杂数据集,还能帮助研究者探索和验证理论构念,提升模型的解释力和稳健性。这一方法在心理学量表开发、金融资产定价、市场调研与用户画像、管理科学中的综合评价等场景中均有广泛应用。本文以消费者满意度评估为例,结合KMO检验、特征

weixin_29054399的博客 257

因子分析的实用介绍:探索性因子分析

因子分析的实用介绍:探索性因子分析 目的:   文章主要介绍探索性因子分析的基本概念和相关理论,并结合小案例进行讲解。 探索性因子分析(EFA)因子分析的实用介绍:探索性因子分析目的:介绍1. 一个小案例(SAQ:SPSS Anxiety Questionnaire)2. 皮尔逊相关公式3. 因子分析的方差划分因子提取1. 主成份分析(PCA)2. 共同因子分析(CFA)a. 主轴因子法(PAF)b. 最大似然旋转方式1. 简单结构2. 正交旋转法(Varimax)3. 斜交旋转(Direct Oblimi

weixin_43245268的博客 1万+

SPSS探索性因素分析(Exploratory Factor Analysis)与验证性因素分析(Confirmatory Factor Analysis)的区

SPSS软件提供了探索性因素分析和验证性因素分析的功能,本文将介绍它们的区别,并提供相应的编程实现。探索性因素分析和验证性因素分析是两种常用的因素分析方法。探索性因素分析通过识别潜在结构来简化数据分析,而验证性因素分析通过建立和检验理论模型来验证潜在因子结构的可信度。在SPSS中,可以使用相应的语法代码进行探索性因素分析和验证性因素分析的实现。探索性因素分析是一种无先验假设的数据降维技术,用于确定少数几个无关因子(即潜在结构),以解释观测变量之间的变异性。二、验证性因素分析(CFA)

CodeRoarX的博客 2511

探索性因子分析(EFA)与验证性因子分析(CFA)的区别

探索性因子分析(Exploratory Factor Analysis, EFA)是一种用于探索和发现潜变量(因子)与观测变量(题项)之间结构关系的统计方法。:验证性因子分析(Confirmatory Factor Analysis, CFA)是一种用于验证研究者提出的潜变量与观测变量之间结构关系的统计方法。:在量表开发的初期,EFA用于探索题项与潜在因子之间的关系,帮助研究者确定量表的初步结构。:在量表开发的后期,CFA用于验证量表的效度,确保量表结构与理论假设一致。EFA与CFA的区别。

SPSSAU的博客 5136

R语言使用psych包的fa.parallel函数使用平行分析方法分析数据集应该抽取多少主成分、多少因子(输入数据为相关性矩阵),Kaiser-Harris标准,scree测试和平行分析、可视化碎石图

R语言使用psych包的fa.parallel函数使用平行分析方法分析数据集应该抽取多少主成分、多少因子(输入数据为相关性矩阵),Kaiser-Harris标准,scree测试和平行分析、可视化碎石图

statistics+insight+vista+power 420

R语言使用psych包的fa函数对指定数据集进行因子分析实战(输入数据为相关性矩阵)、使用rotate参数指定进行正交旋转提取因子、使用nfactors参数指定抽取的因子个数、fa函数因子分析结果解读

R语言使用psych包的fa函数对指定数据集进行因子分析实战(输入数据为相关性矩阵)、使用rotate参数指定进行正交旋转提取因子、使用nfactors参数指定抽取的因子个数、fa函数因子分析结果解读

statistics+insight+vista+power 353

探索性因子分析完全解读:理论与SPSSAU实践指南

它能够帮助研究者理解变量间的内在结构,将多个观测变量浓缩为少数几个潜在因子,从而简化数据结构和揭示变量间的潜在关系。作为智能数据分析平台,在探索性因子分析中展现出多方面的优势:自动化的适用性检验、灵活的参数设置、完整的指标输出以及专业的结果解读。探索性因子分析是一种数据降维和结构探索的统计方法,其核心目的是从一组观测变量中提取出少数几个潜在因子,这些因子能够解释原始变量的大部分变异。上图展示了SPSSAU中探索性因子分析的完整工作流程,从数据准备到结果应用的六个关键步骤,确保分析的系统和规范。

SPSSAU的博客 1976

R语言进行探索性因子分析EFA、除了R原生函数(princomp函数和factanal函数)以及psych包以外的其它包:FactoMineR、FAiR包、GPArotation包、nFactors包

R语言进行探索性因子分析EFA(exploratory factor analysis)、除了R原生函数(princomp函数和factanal函数)以及psych包以外的其它包:FactoMineR、FAiR包、GPArotation包、nFactors包

data+scenario+science+insight 1139

数据降维之主成分分析

信息过度复杂是多变量数据最大的挑战之一。主成分分析和探索性因子分析是两种用来探索和简化多变量复 杂关系的常用方法。 主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变 量称为主成分。 探索性因子分析(EFA)是一系列用来发现一组变量的潜在结构的方法。它通过寻找一组更小的、潜在的或 隐藏的结构来解释已观测到的、显式的变量间的关系。 PCA与...

sereasuesue的博客 4891

使用Python进行探索性因子分析(EFA):从理论到实践

在探索性因子分析(Exploratory Factor Analysis, EFA)的研究和应用中,理解其重要性及在不同领域中的应用是至关重要的第一步。EFA作为一种多变量统计技术,旨在发现变量之间的潜在关系,通过减少数据的维度来揭示数据背后的结构。这种分析方法在心理学、社会科学、市场研究等多个领域都有着广泛的应用。

theskylife的博客 6187

手把手教你用C语言实现GNSS卫星方位角计算(附RTKLIB风格代码解析)

本文详细介绍了如何使用C语言实现GNSS卫星方位角计算,包括从地固坐标系到站心坐标系的转换链条。通过RTKLIB风格的代码解析,展示了XYZ到ENU坐标转换的核心原理和C语言实现框架,帮助开发者掌握卫星方位角和高度角的计算技巧,适用于GNSS观测数据质量分析和精密定位算法开发。

weixin_30699915的博客 364

Python3数据分析与挖掘建模(13)复合分析-因子关分析与小结

探索性因子分析(Exploratory Factor Analysis,EFA)是一种统计方法,用于分析观测变量之间的潜在结构和关联性。它旨在确定多个观测变量是否可以归结为较少数量的潜在因子,从而帮助简化数据集和提取隐藏的信息。在探索性因子分析中,我们收集一组观测变量的数据,并试图找到解释这些变量之间关系的较少数量的潜在因子。这些潜在因子是无法直接观测到的,但它们可以通过变量之间的共同方差来解释观测数据的模式。探索性因子分析可以用于数据降维、构建测量工具、发现潜在因素和进行模型建立等领域。

喜欢历史的码农 1576

操作系统课程项目 OS project —— Pintos from Project 1 to Project 3

Pintos Project 陪伴我们操作系统课程大半个学期了…… 虽然做了这么长时间,个人能力有限,pintos代码,看过的可能也就看懂了一半吧,更不用说没看过的了…… 但是也找到了一些有价值的资料,整理一下,供后辈们参考…… 关于环境的问题,最好是用ubuntu 16.04 windows用户不要折腾装双系统了,特别是win10,动不动更新一下,说不定双系统就出问题了,linux...

Deserted Land 8553

主成分分析与探索性因子分析的区别

主成分分析(PCA)和探索性因子分析(EFA)在原理、可解释性和操作上存在显著区别。PCA更注重数据的降维和方差解释,而EFA更注重因子的可解释性和潜在结构的探索。主成分分析(PCA)和探索性因子分析(EFA)是两种常用的降维方法,它们都用于处理定量数据,并且在应用场景上有一定的相似性。然而,它们在原理、可解释性和操作上存在显著的区别。如果你需要进一步了解如何在SPSSAU(在线SPSS)中进行主成分分析或探索性因子分析,可以参考相关教程或使用SPSSAU(网页SPSS)平台进行操作。

SPSSAU的博客 799

传感器:MQ-5燃气模块测量燃气值(底部附代码)

本篇文章介绍使用MQ-5燃气模块测量燃气值,CPU还是选择单片机,MQ-5主要使用的技术为ADC,燃气对于单片机来说是模拟信号,需要转换为数字信号,再经过相关计算公式将燃气模拟值转换成对应的燃气数值,便于人们方便查看。例如家庭使用燃气模块测量燃气值,如果燃气值超过一定的范围,可以外设一个报警装置,保证家庭的生命安全。(1)ADC(analog to digital converter)即模数转换器,它可以将模拟信号转换为数字信号。按照其转换原理主要分为逐次逼近型、双积分型、电压频率转换型三种。STM32F1

Mr_zhang1911116的博客 1万+

5分钟搞懂MSDNet:用Transformer实现小样本语义分割的保姆级教程

本文详细介绍了MSDNet(Multi-Scale Decoder Network)如何利用Transformer架构实现小样本语义分割。通过多尺度解码器和空间Transformer解码器,MSDNet能够在仅有1-5张标注图像的情况下完成精确分割任务。文章提供了PyTorch代码实例和优化技巧,帮助开发者快速掌握这一前沿技术。

weixin_30832143的博客 506

【SPSS问卷篇】第2节:spss问卷探索因子分析(关注不迷路,带你完成整个实证分析!)

本章节研究围绕 SPSS 问卷数据的探索性因子分析(EFA),系统讲解从分析前提判断到具体操作再到结果解读的完整实操流程。重点介绍数据类型要求、样本量标准以及 KMO 与 Bartlett 球形检验的判断依据,并通过实际案例演示因子提取、旋转方法设置及载荷矩阵解读过程。本文适合问卷研究初学者及论文写作阶段的本科生、研究生阅读,可直接应用于满意度研究、行为意向研究及量表结构验证等实证分析场景。

问卷_小 Kai 2184

STM32串口接收避坑指南:为什么你的USART_IT_IDLE中断不触发?附完整调试流程

本文深入解析STM32串口接收中断机制,特别是USART_IT_IDLE中断不触发的常见原因及解决方案。通过详细分析中断标志清除顺序、波特率配置、硬件连接等关键因素,并提供完整的调试流程和代码示例,帮助开发者快速定位并解决串口通信问题。

weixin_42519985的博客 346

主成分和因子分析

RC2栏的载荷表示第二主成分主要由变量5到变量8来解释(容量变量),两个主成分旋转后的累积方差解释性没有变化(81%),变的只是各个主成分对方差的解释度(成分1从58%变为44%,成分2从22%变为37%)。最流行的正交旋转是方差极大旋转,它试图对载荷阵的列进行去噪,使得每个成分只是由一组有限的变量来解释(即载荷阵每列只有少数几个很大的载荷,其他都是很小的载荷)。PCA的目标是用一组较少的不相关变量代替大量相关变量,同时尽可能保留初始变量的信息,这些推导所得的变量称为主成分,它们是观测变量的线性组合。

csdn_manong1的博客 690

Clang Static Analyzer 使用教程:本地 + CMake + GitHub Actions 自动静态分析实战

本文介绍了ClangStaticAnalyzer静态代码分析工具的使用方法。该工具基于Clang/LLVM,可检测C/C++代码中的内存泄漏、空指针等常见错误。主要内容包括:安装指南(Ubuntu/macOS/Windows)、命令行使用方法、CMake项目集成方案、GitHub Actions自动化分析配置,以及HTML报告生成与查看。文章还提供了官方资源链接,帮助开发者系统掌握从本地调试到持续集成的完整静态分析工作流,提升代码质量保障能力。适用于需要在开发过程中实施静态分析的C/C++项目。

u014358031的博客 2156

使用RustDesk或者AnyDesk的TCP隧道实现Codesys系列PLC的远程调试和下载

Codesys远程调试

exat500g的博客 7272

因子分析数据_因子分析常见问题汇总,你想知道的都在这里

本文以SPSSAU系统为例,针对因子分析的常见问题进行汇总说明。①问题一:提取因子个数提取因子的个数是一个综合选择的过程。默认是按“特征根大于1”作为因子提取的标准。特征根不是唯一的判断标准。除此特征根,还可以通过累积方差贡献率、碎石图等指标综合判断。如果分析前已经有了预期的维度(因子)划分,也可以在分析时主动设定提取因子个数,再根据上面的指标进行调整。②问题二:因子相关矩阵在哪里分析?使用【通用...

weixin_39969448的博客 3675

KMD 核心功能模块——命令提交与调度:Ring Buffer 与硬件引擎交互

《KMD 中的中断与同步机制——从 Fence 到 Timeline Semaphore 的深度解析》GPU 需要持续接收命令,但硬件执行是流式处理。Ring Buffer 作为。导致 CVE-2022-1234(GPU 挂起),修复后强制检查。:命令提交延迟从 50μs 降至 5μs(20 倍提升)。,CPU 通过写入该地址更新指针(避免直接操作寄存器)。,实现 CPU 与 GPU 的高效协同。),GPU 读指针更新是硬件自动完成的。(通过硬件状态机),实现真正的零等待。AMDGPU 驱动曾因。

amy_mhd的博客 82

因子分析实战指南:从数据降维到结构探测,掌握EFA与CFA核心应用

在数据科学和统计分析领域,数据降维是处理高维数据、解决多重共线性的关键技术。其核心原理在于通过数学变换,将大量可能存在相关性的观测变量,转化为少数几个不相关的主成分或潜在因子,从而在保留大部分原始信息的同时,极大地简化数据结构。这项技术的价值在于能够揭示数据背后的内在逻辑与潜在维度,将杂乱无章的数据转化为清晰、可解释的构念。它广泛应用于心理学量表构建、市场细分、金融风险建模、社会科学研究等场景,帮助研究者从众多变量中提炼出核心驱动因素。例如,在消费者行为研究中,通过探索性因子分析可以从数十个问卷题项中归纳出

weixin_34259232的博客 336

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【数据科学家必备技能】:用R语言轻松搞定复杂因子分析模型

掌握R语言多元统计中的因子分析技巧,轻松降维复杂数据并提取关键因子。适用于心理测量、市场调研等领域,利用主成分法与最大似然法快速建模,提升数据分析效率。方法实用、代码可复现,值得收藏。

CodePulse的博客 1052

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SPSS进行问卷数据的效度分析及结果解读(问卷数据统计分析第3步(转载)

问卷分析第三步--效度分析 考察每一题的能效性,每一题对于量表是否发挥重要作用 探索性因子分析EFA--维度已知 验证性因子分析CFA 分析--降维--因子分析--描述---KMO和Bartlett的球形度检验 旋转--最大方差 选项--按大小 在单个维度的载荷高于0.5,属于有效题项,两个维度都高于0.5,属于无效,删除 关注公众号程式解说,了解更多咨询, 原文来自 作者:青梅煮酒不知 https://www.bilibili.com/read/cv13582467?from=sea

Laoacai的博客 4732

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

上一篇: 广义线性模型之泊松回归
miniprogram
博客等级 码龄6年 20粉丝 9原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值