京公网安备 11010802034615号
经营许可证编号:京B2-20210330
讨论:因子分析非正定矩阵是怎么回事儿
在最近的工作中需要用spss做因子分析,但是在具体操作过程中遇到了头疼的“非正定矩阵的问题”,困扰了很久。看了论 坛上很多网友的讨论和解决办法,加上自己的一些摸索,也最终找到了问题的原因和解决办法,现在写出来与大家分享,希望对有同样困扰的朋友一些启示,当然其 中一定有不对的地方,欢迎大家一起讨论。
一、案例介绍
某运营商无线增值业务全国各省某一个月内运营情况,变量35个,样本31个(全国31个省),希望通过因子分析对各省综合实力进行排序。
二、问题描述
通过spss的因子分析对原始变量进行降维处理时,SPSS提示相关系数矩阵为“非正定矩阵”,无法给出KMO值,但是SPSS仍然给出了后续因子分析结果。
三、疑问
(1)什么是正定矩阵?
(2)因子分析是否一定要求变量的相关系数矩阵为正定矩阵?
(3)非正定矩阵的存在对因子分析结果有何影响?
(4)如何修正使得变成正定矩阵?
四、解决办法
通过在论坛上查阅人相关问题,发现其他网友总结出现这种情况的原因主要集中在两点:
(1)样本量太少,而指标过多。
(2)某些变量间相关性太强。
而解决方案分别要求增加样本,或者剔除某些显著强相关的变量。
但是在我的这个例子里面无法增加样本,因此只能从变量的相关性上考虑,看是不是存在一些和其他变量高度相关的变量。通过查看因子分析结果中的相关系数矩阵,的确发现大部分变量之间都存在高度相关性,而且相关系数在0.9以上。
但是现在问题来了,那是不是应该直接删除高度相关的变量?该删 除哪些变量?按照我的情况估计很多变量都要剔除了,那对于分析结果就会产生很大的影响。
为了找出具体是哪些变量导致问题的出现,我用了一个比较笨的办法:逐一淘汰法。刚开始时不把所有变量都用来做因子分析,只选取一小部分,例如我先选取了10个变量做分析,发现spss没有再提示“非正定矩阵”而是正常的输出了KMO检验值,而且顺利完成了因子分析结果;然后下一步我再逐个添加其他变量进行测试,当发现添加某个变量spss提示“非正定矩阵”时,就记下这个变量,然后再换成下一个变量继续测试,直到把所有变量测试完。通过这样的测试,我终于找到让spss认为“非正定矩阵”的原因:一共有5个变量,只要不纳入这5个变量进行分析,spss就能正常的进行因子分析。
找到原因后,我本来想直接删除掉这5个变量好了,但是我查看了一下spss因子分析的输出结果,发现了为什么是这5个变量的原因,如下图:
上图的截图是“解释的总方差”显示所有变量的相关系数矩阵的所有特征值,大家可以看到在用红色方框标注的5个特征值,他们的数值的数量级都是10的负16次方、17次方、18次方,甚至出现了负值,几乎可以认为就是零了,远远小于其他特征值,根据之前的逐一测试法确认,这5个特征值是与之前发现的那5个变量是对应的,我想这就应该是为什么是这5个变量导致出现非正定矩阵的原因吧。
那进一步思考,特征值过小或者为负值说明了什么呢,根据正定矩阵的判定,正定矩阵的充分必要条件是:特征值>0,所有出现负的特征值就肯定会出现“非正定矩阵”的原因,但就靠这点似乎还不够,因为有些特征值是大于0的,只是非常非常小而已。我推测(仅仅是我推测),因为我们在做主成分分析的时候,每个主成分的方差就等于对于特征值,特征值太小意味着主成分的方差太小,方差太小意味着包含变量的 信息量太少,而我们在做因子分析时往往也是用主成分法来抽取公因子,所以特征值太小可能也无法满足正定矩阵的条件,当然这是我的推测。
五、总结
根据整个过程,我总结了一下几点:
(1)出现非正定矩阵的情况,并不一定都是样本太少(本例中样本才31,变量有35个)。
(2)剔除变量的时候,可以利用逐一淘汰法来发现问题变量,再考虑是否要删除。
(3)非正定矩阵似乎对因子分析结果并无太多影响,因为我们往往只抽取了部分公因子(累计方差贡献率>85%),特征值过小意味着方差贡献率也会很小,往往不会被选作公因子,所以对结果影响不大,这也是为什么spss仅仅是提示,仍然会输出因子分析结果的原因。
好了,这个是我工作中碰到的一个实际例子,之前一直困扰了我很久,现在写出来与大家分享,希望能对有同样问题的朋友一个启发,当然里面一定有不对的地方,希望大家多多指正。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在数据分析、机器学习的实操场景中,聚类分析与主成分分析(PCA)是两种高频使用的统计与数据处理方法。二者常被用于数据预处理 ...
2026-02-24在聚类分析的实操场景中,K-Means算法因其简单高效、易落地的特点,成为处理无监督分类问题的首选工具——无论是用户画像分层、 ...
2026-02-24数字化浪潮下,数据已成为企业核心竞争力,“用数据说话、用数据决策”成为企业发展的核心逻辑。CDA(Certified Data Analyst) ...
2026-02-24CDA一级知识点汇总手册 第五章 业务数据的特征、处理与透视分析考点52:业务数据分析基础考点53:输入和资源需求考点54:业务数 ...
2026-02-23CDA一级知识点汇总手册 第四章 战略与业务数据分析考点43:战略数据分析基础考点44:表格结构数据的使用考点45:输入数据和资源 ...
2026-02-22CDA一级知识点汇总手册 第三章 商业数据分析框架考点27:商业数据分析体系的核心逻辑——BSC五视角框架考点28:战略视角考点29: ...
2026-02-20CDA一级知识点汇总手册 第二章 数据分析方法考点7:基础范式的核心逻辑(本体论与流程化)考点8:分类分析(本体论核心应用)考 ...
2026-02-18第一章:数据分析思维考点1:UVCA时代的特点考点2:数据分析背后的逻辑思维方法论考点3:流程化企业的数据分析需求考点4:企业数 ...
2026-02-16在数据分析、业务决策、科学研究等领域,统计模型是连接原始数据与业务价值的核心工具——它通过对数据的规律提炼、变量关联分析 ...
2026-02-14在SQL查询实操中,SELECT * 与 SELECT 字段1, 字段2,...(指定个别字段)是最常用的两种查询方式。很多开发者在日常开发中,为了 ...
2026-02-14对CDA(Certified Data Analyst)数据分析师而言,数据分析的核心不是孤立解读单个指标数值,而是构建一套科学、完整、贴合业务 ...
2026-02-14在Power BI实操中,函数是实现数据清洗、建模计算、可视化呈现的核心工具——无论是简单的数据筛选、异常值处理,还是复杂的度量 ...
2026-02-13在互联网运营、产品迭代、用户增长等工作中,“留存率”是衡量产品核心价值、用户粘性的核心指标——而次日留存率,作为留存率体 ...
2026-02-13对CDA(Certified Data Analyst)数据分析师而言,指标是贯穿工作全流程的核心载体,更是连接原始数据与业务洞察的关键桥梁。CDA ...
2026-02-13在机器学习建模实操中,“特征选择”是提升模型性能、简化模型复杂度、解读数据逻辑的核心步骤——而随机森林(Random Forest) ...
2026-02-12在MySQL数据查询实操中,按日期分组统计是高频需求——比如统计每日用户登录量、每日订单量、每日销售额,需要按日期分组展示, ...
2026-02-12对CDA(Certified Data Analyst)数据分析师而言,描述性统计是贯穿实操全流程的核心基础,更是从“原始数据”到“初步洞察”的 ...
2026-02-12备考CDA的小伙伴,专属宠粉福利来啦! 不用拼运气抽奖,不用复杂操作,只要转发CDA真题海报到朋友圈集赞,就能免费抱走实用好礼 ...
2026-02-11在数据科学、机器学习实操中,Anaconda是必备工具——它集成了Python解释器、conda包管理器,能快速搭建独立的虚拟环境,便捷安 ...
2026-02-11在Tableau数据可视化实操中,多表连接是高频操作——无论是将“产品表”与“销量表”连接分析产品销量,还是将“用户表”与“消 ...
2026-02-11