楼主: lip1203
53541 47

[学习资料] 原创:因子分析中相关系数矩阵为非正定矩阵的案例(含解决方案)   [推广有奖]

  • 0关注
  • 3粉丝

硕士生

40%

还不是VIP/贵宾

-

威望
0
论坛币
532 个
通用积分
0.2403
学术水平
4 点
热心指数
5 点
信用等级
2 点
经验
1280 点
帖子
115
精华
0
在线时间
155 小时
注册时间
2010-11-17
最后登录
2015-7-22

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

在最近的工作中需要用spss做因子分析,但是在具体操作过程中遇到了头疼的“非正定矩阵的问题”,困扰了很久。看了论坛上很多网友的讨论和解决办法,加上自己的一些摸索,也最终找到了问题的原因和解决办法,现在写出来与大家分享,希望对有同样困扰的朋友一些启示,当然其中一定有不对的地方,欢迎大家一起讨论。


一、案例介绍某运营商无线增值业务全国各省某一个月内运营情况,变量35个,样本31个(全国31个省),希望通过因子分析对各省综合实力进行排序。


二、问题描述通过spss的因子分析对原始变量进行降维处理时,SPSS提示相关系数矩阵为“非正定矩阵”,无法给出KMO值,但是SPSS仍然给出了后续因子分析结果如附件图片:未命名2


三、疑问1)        什么是正定矩阵?2)        因子分析是否一定要求变量的相关系数矩阵为正定矩阵?3)        非正定矩阵的存在对因子分析结果有何影响?4)        如何修正使得变成正定矩阵?


四、解决办法通过在论坛上查阅人相关问题,发现其他网友总结出现这种情况的原因主要集中在两点:

1)        样本量太少,而指标过多

2)        某些变量间相关性太强

而解决方案分别要求增加样本,或者剔除某些显著强相关的变量。但是在我的这个例子里面无法增加样本,因此只能从变量的相关性上考虑,看是不是存在一些和其他变量高度相关的变量。通过查看因子分析结果中的相关系数矩阵,的确发现大部分变量之间都存在高度相关性,而且相关系数在0.9以上,如附件图片:未命名3


但是现在问题来了,那是不是应该直接删除高度相关的变量?该删除哪些变量?按照我的情况估计很多变量都要剔除了,那对于分析结果就会产生很大的影响。为了找出具体是哪些变量导致问题的出现,我用了一个比较笨的办法:逐一淘汰法。刚开始时不把所有变量都用来做因子分析,只选取一小部分,例如我先选取了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仅仅是提示,仍然会输出因子分析结果的原因。 好了,这个是我工作中碰到的一个实际例子,之前一直困扰了我很久,现在写出来与大家分享,希望能对有同样问题的朋友一个启发,当然里面一定有不对的地方,希望大家多多指正。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:相关系数矩阵 非正定矩阵 正定矩阵 因子分析 相关系数 分析 解决方案 正定 原创 皮尔逊相关系数 偏相关系数 pearson相关系数 相关系数检验 spearman相关系数 复相关系数 相关系数矩阵

未命名.jpg (24.63 KB)

未命名.jpg

未命名3.JPG (86.08 KB)

未命名3.JPG

未命名2.JPG (10.94 KB)

未命名2.JPG

因子分析出现非正定矩阵案例.doc

190.5 KB

需要: 1 个论坛币  [购买]

已有 4 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
寒佳瞳 + 5 + 2 解决了我的问题
林夕孟 + 1 + 1 观点有启发
xiaowenzi22 + 20 观点有启发
耕耘使者 + 2 + 1 + 1 鼓励原创

总评分: 经验 + 20  论坛币 + 5  学术水平 + 3  热心指数 + 4  信用等级 + 1   查看全部评分

本帖被以下文库推荐

48
kenmini 发表于 2024-4-12 12:49:19 |只看作者 |坛友微信交流群
谢谢楼主的分享

使用道具

47
我姓王 发表于 2018-9-25 17:06:38 |只看作者 |坛友微信交流群
是个有益的尝试

使用道具

46
leeyaya 在职认证  发表于 2018-9-3 11:10:36 |只看作者 |坛友微信交流群
同意你的观点。

使用道具

45
绿毛水怪c 发表于 2018-6-1 11:52:12 |只看作者 |坛友微信交流群
原本31个样本,35个指标,删掉特征值小的5个指标,那么就剩30个指标,这不就符合“样本数大于指标数”了吗?我的论文是10个样本,23个指标,按照你的方法发现除了前面9个指标,后面14个指标的特征值都是10的负13,把这14个删掉也就剩9个指标了。




解释总方差

所以要在指标数大于样本数的情况下出KMO检验是不可能了吗?

使用道具

44
echo_jg 发表于 2017-6-21 10:34:49 |只看作者 |坛友微信交流群
谢谢楼主不辞辛劳的分享

使用道具

43
月影X 发表于 2017-5-3 20:08:49 |只看作者 |坛友微信交流群
刚好遇到了这个问题,感谢楼主分享

使用道具

42
书海溪流 发表于 2016-10-12 11:32:52 |只看作者 |坛友微信交流群
非常实用,感谢分享

使用道具

41
寒佳瞳 学生认证  发表于 2016-8-25 16:18:04 |只看作者 |坛友微信交流群
谢谢楼主~

使用道具

40
李沐寒521521 在职认证  发表于 2016-1-21 22:09:23 |只看作者 |坛友微信交流群
支持下楼主,我写的论文也遇到这个问题了,不过我不打算采用楼主的方法了,毕竟太麻烦,好像也不影响结果了,我这外行就是利用因子分析这个东东显得高大上了。不过必须给楼主点个赞啊,这种严谨的治学观念是广大统计人应该都来学习的!!!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-14 19:00