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

合集下载

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

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

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

一、问题描述通过SPSS的因子分析对原始变量进行降维处理时,SPSS提示相关系数矩阵为“非正定矩阵”,无法给出KMO直,但是SPSS仍然给出了后续因子分析结果。

二、疑问1)什么是正定矩阵?2)因子分析是否一定要求变量的相关系数矩阵为正定矩阵?3)非正定矩阵的存在对因子分析结果有何影响?4)如何修正使得变成正定矩阵?三、解决办法通过在论坛上查阅人相关问题,发现其他网友总结出现这种情况的原因主要集中在两点:1)样本量太少,而指标过多2)某些变量间相关性太强而解决方案分别要求增加样本,或者剔除某些显著强相关的变量,但是在我的这个例子里面无法增加样本,因此只能从变量的相关性上考虑,看是不是存在一些和其他变量高度相关的变量。

通过查看因子分析结果中的相关系数矩阵,的确发现大部分变量之间都存在高度相关性,而且相关系数在以上:但是现在问题来了,那是不是应该直接删除高度相关的变量?该删除哪些变量?按照我的情况估计很多变量都要剔除了,那对于分析结果就会产生很大的影响。

为了找出具体是哪些变量导致问题的出现,我用了一个比较笨的办法:逐一淘汰法。

刚开始时不把所有变量都用来做因子分析,只选取一小部分,例如我先选取了10个变量做分析,发现SPSS没有再提示“非正定矩阵”而是正常的输出了KMO佥验值,而且顺利完成了因子分析结果;然后下一步我再逐个添加其他变量进行测试,当发现添加某个变量SPSS提示“非正定矩阵”时,就记下这个变量,然后再换成下一个变量继续SPSS认为“非正定矩阵”的原因:测试,直到把所有变量测试完。

通过这样的测试,我终于找到让一共有5个变量,只要不纳入这5个变量进行分析,spss就能正常的进行因子分析。

找到原因后,我本来想直接删除掉这5个变量好了,但是我查看了一下spss因子分析的输出结果,发现了为什么是这5个变量的原因,如下图:上图的截图是“解释的总方差”显示所有变量的相关系数矩阵的所有特征值,大家可以看到在用红色方框标注的5个特征值,他们的数值的数量级都是10的负16次方、17次方、18次方,甚至出现了负值,几乎可以认为就是零了,远远小于其他特征值,根据之前的逐一测试法确认,这 5 个特征值是与之前发现的那5个变量是对应的,我想这就应该是为什么是这5个变量导致出现非正定矩阵的原因吧。

因子分析︱使用Stata做主成分分析

因子分析︱使用Stata做主成分分析

因子分析︱使用Stata做主成分分析文章来自计量经济学圈主成分分析在许多领域的研究与应用中,往往需要对反映事物的多个变量进行大量的观测,收集大量数据以便进行分析寻找规律。

多变量大样本无疑会为研究和应用提供了丰富的信息,但也在一定程度上增加了数据采集的工作量,更重要的是在多数情况下,许多变量之间可能存在相关性,从而增加了问题分析的复杂性,同时对分析带来不便。

如果分别对每个指标进行分析,分析往往是孤立的,而不是综合的。

盲目减少指标会损失很多信息,容易产生错误的结论。

因此需要找到一个合理的方法,在减少需要分析的指标同时,尽量减少原指标包含信息的损失,以达到对所收集数据进行全面分析的目的。

由于各变量间存在一定的相关关系,因此有可能用较少的综合指标分别综合存在于各变量中的各类信息。

主成分分析与因子分析就属于这类降维的方法。

主成分分析是设法将原来众多具有一定相关性(比如P个指标),重新组合成一组新的互相无关的综合指标来代替原来的指标。

主成分分析,是考察多个变量间相关性一种多元统计方法,研究如何通过少数几个主成分来揭示多个变量间的内部结构,即从原始变量中导出少数几个主成分,使它们尽可能多地保留原始变量的信息,且彼此间互不相关.通常数学上的处理就是将原来P个指标作线性组合,作为新的综合指标。

最经典的做法就是用F1(选取的第一个线性组合,即第一个综合指标)的方差来表达,即Var(F1)越大,表示F1包含的信息越多。

因此在所有的线性组合中选取的F1应该是方差最大的,故称F1为第一主成分。

如果第一主成分不足以代表原来P个指标的信息,再考虑选取F2即选第二个线性组合,为了有效地反映原来信息,F1已有的信息就不需要再出现在F2中,用数学语言表达就是要求Cov(F1, F2)=0,则称F2为第二主成分,依此类推可以构造出第三、第四,……,第P个主成分。

2. 问题描述下表1是某些学生的语文、数学、物理、化学成绩统计:首先,假设这些科目成绩不相关,也就是说某一科目考多少分与其他科目没有关系。

kmo非正定矩阵

kmo非正定矩阵

kmo非正定矩阵
KMO非正定矩阵是指Kaiser-Meyer-Olkin测试中的矩阵不满足正定性质的情况。

在统计学中,KMO测试是一种常用的检验数据适合因子分析的方法。

如果KMO矩阵不是正定的,那么因子分析的结果可能会出现问题。

KMO测试是一种用于检验数据适合因子分析的方法。

它通过计算各个变量之间的相关性来确定数据是否适合因子分析。

如果变量之间的相关性很高,那么这些变量可能可以被归纳为一个因子。

KMO 测试的结果是一个0到1之间的值,值越大表示数据越适合因子分析。

然而,如果KMO矩阵不是正定的,那么因子分析的结果可能会出现问题。

正定矩阵是指所有特征值都是正数的矩阵。

如果KMO矩阵不是正定的,那么它可能会有负特征值,这意味着因子分析可能会出现问题。

KMO非正定矩阵可能会导致因子分析结果不可靠。

因子分析是一种用于确定变量之间的关系的方法。

如果因子分析的结果不可靠,那么我们就无法确定变量之间的关系。

这可能会导致我们做出错误的决策。

为了避免KMO非正定矩阵的问题,我们可以采取一些措施。

首先,我们可以检查数据是否满足因子分析的假设。

如果数据不满足假设,
那么因子分析的结果可能会不可靠。

其次,我们可以使用其他方法来确定变量之间的关系,例如聚类分析或回归分析。

KMO非正定矩阵可能会导致因子分析结果不可靠。

为了避免这个问题,我们需要检查数据是否满足因子分析的假设,并考虑使用其他方法来确定变量之间的关系。

spss数据非正定矩阵

spss数据非正定矩阵

spss数据非正定矩阵
因子分析法是指从研究指标相关矩阵内部的依赖关系出发,把一些信息重叠、具有错综复杂关系的变量归结为少数几个不相关的综合因子的一种多元统计分析方法。

基本思想是:根据相关性大小把变量分组,使得同组内的变量之间相关性较高,但不同组的变量不相关或相关性较低,每组变量代表一个基本结构一即公共因子。

简单点说就是,探讨存在相关关系的变量之间,是否存在不能直接观察到的但对可观测变量的变化其支配作用的潜在因子的分析方法就是因子分析,也叫因素分析。

通俗点:原始变量是共性因子的线性组合。

接下来说因子分析中如果出现非正定矩阵,怎么办?
利用进行因子分析时,虽然输出结果提示相关系数矩阵为“非正定矩阵”检验和球形检验均没有,但是检验和巴特利球体检验主要是用来检验各变量是否适合做因子分析,而此时然给出了后续因子分析结果。

估计有很多同学冒出了大大的问号?
其实问题主要是来自两个方面样本量太少,而指标过多,某些变量间相关性太强。

amos中计算非正定矩阵

amos中计算非正定矩阵

amos中计算非正定矩阵
【原创实用版】
目录
1.概述非正定矩阵
2.AMOS 中出现非正定矩阵的原因
3.解决 AMOS 中非正定矩阵的方法
4.总结
正文
一、概述非正定矩阵
在结构方程模型分析中,我们常常会遇到非正定矩阵的问题。

非正定矩阵指的是一个矩阵,其特征值不全是非负的。

在实际应用中,非正定矩阵会导致参数估计无法进行,从而影响模型的拟合效果。

二、AMOS 中出现非正定矩阵的原因
在 AMOS 软件中,如果模型的矩阵存在非正定的情况,软件会提示“非正定矩阵”。

出现这种情况的原因通常是变量之间存在高度的线性相关。

在因子分析中,如果变量之间的相关性过高,甚至存在完全一样的变量,那么就很容易导致非正定矩阵的出现。

三、解决 AMOS 中非正定矩阵的方法
针对 AMOS 中出现的非正定矩阵问题,我们可以采取以下几种方法进行解决:
1.删除或合并部分变量:通过检查变量之间的相关性,如果我们发现存在高度相关的变量,可以考虑删除这些变量或者将这些变量进行合并,从而降低变量之间的相关性。

2.增加样本量:如果我们发现非正定矩阵的问题主要是由于样本量不
足导致的,那么我们可以考虑增加样本量,从而提高模型的稳定性。

3.改变模型:如果我们发现当前的模型无法很好地拟合数据,那么我们可以考虑更换其他更合适的模型,如从因子分析模型更换为结构方程模型等。

四、总结
在 AMOS 中计算非正定矩阵时,我们需要注意检查变量之间的相关性,以及模型的稳定性。

主成分分析、因子分析

主成分分析、因子分析

主成分分析在许多领域的研究与应用中,往往需要对反映事物的多个变量进行大量的观测,收集大量数据以便进行分析寻找规律。

多变量大样本无疑会为研究和应用提供了丰富的信息,但也在一定程度上增加了数据采集的工作量,更重要的是在多数情况下,许多变量之间可能存在相关性,从而增加了问题分析的复杂性,同时对分析带来不便。

如果分别对每个指标进行分析,分析往往是孤立的,而不是综合的。

盲目减少指标会损失很多信息,容易产生错误的结论。

因此需要找到一个合理的方法,在减少需要分析的指标同时,尽量减少原指标包含信息的损失,以达到对所收集数据进行全面分析的目的。

由于各变量间存在一定的相关关系,因此有可能用较少的综合指标分别综合存在于各变量中的各类信息。

主成分分析与因子分析就属于这类降维的方法。

主成分分析是设法将原来众多具有一定相关性(比如P个指标),重新组合成一组新的互相无关的综合指标来代替原来的指标。

主成分分析,是考察多个变量间相关性一种多元统计方法,研究如何通过少数几个主成分来揭示多个变量间的内部结构,即从原始变量中导出少数几个主成分,使它们尽可能多地保留原始变量的信息,且彼此间互不相关.通常数学上的处理就是将原来P个指标作线性组合,作为新的综合指标。

最经典的做法就是用F1(选取的第一个线性组合,即第一个综合指标)的方差来表达,即Var(F1)越大,表示F1包含的信息越多。

因此在所有的线性组合中选取的F1应该是方差最大的,故称F1为第一主成分。

如果第一主成分不足以代表原来P个指标的信息,再考虑选取F2即选第二个线性组合,为了有效地反映原来信息,F1已有的信息就不需要再出现在F2中,用数学语言表达就是要求Cov(F1, F2)=0,则称F2为第二主成分,依此类推可以构造出第三、第四,……,第P个主成分。

2. 问题描述下表1是某些学生的语文、数学、物理、化学成绩统计:首先,假设这些科目成绩不相关,也就是说某一科目考多少分与其他科目没有关系。

因子分析中的缺失数据处理技巧分享(四)

因子分析中的缺失数据处理技巧分享(四)

因子分析是一种常用的统计方法,用于分析变量之间的关系和结构。

在因子分析中,处理缺失数据是一个常见的问题,因为缺失数据会对结果产生影响。

因此,需要掌握一些处理缺失数据的技巧,以确保因子分析的准确性和可靠性。

首先,当面对缺失数据时,我们需要了解数据的缺失机制。

数据的缺失机制可以分为完全随机缺失、随机缺失和非随机缺失三种类型。

完全随机缺失意味着缺失数据的出现与其他变量无关,随机缺失表示缺失数据的出现与其他变量有关,但是缺失的概率是随机的,而非随机缺失表示缺失的数据与其他变量有关,并且缺失的概率是非随机的。

其次,针对不同的缺失机制,我们可以采用不同的处理方法。

对于完全随机缺失,最常用的处理方法是删除带有缺失数据的观测样本。

这种方法简单直接,但是会减少样本的数量,从而影响统计分析的结果。

对于随机缺失,我们可以使用插补方法来处理缺失数据,比如均值插补、回归插补、最大似然估计等。

而对于非随机缺失,则需要更加复杂的处理方法,比如多重插补、模型融合等。

此外,我们还可以利用现有的变量信息来估计缺失数据。

比如,我们可以利用其他变量的信息来估计缺失数据的数值,然后进行插补。

这种方法可以在一定程度上减少插补的误差,提高数据的准确性。

在因子分析中,处理缺失数据的技巧还包括对模型的适应性进行评估。

我们可以使用各种统计指标来评估因子分析模型的拟合程度,比如卡方值、拟合优度指数、均方根误差等。

通过对模型的适应性进行评估,我们可以更好地理解缺失数据对因子分析结果的影响,从而采取相应的处理方法。

最后,我们需要注意在因子分析中,缺失数据处理过程中可能会引入一定的误差。

因此,我们需要在结果的解释和解读过程中谨慎对待。

在解释因子分析结果时,我们需要考虑到缺失数据处理方法的影响,避免对结果的过度解读。

总的来说,处理缺失数据是因子分析中的一个重要问题,需要我们掌握一定的技巧和方法。

通过了解数据的缺失机制、采用合适的处理方法、评估模型的适应性以及谨慎对待结果的解释,我们可以有效地处理缺失数据,提高因子分析的准确性和可靠性。

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

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

一、案例介绍某运营商无线增值业务全国各省某一个月内运营情况,变量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个变量导致出现非正定矩阵的原因吧。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

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

三、疑问
1)什么是正定矩阵
2)因子分析是否一定要求变量的相关系数矩阵为正定矩阵
3)非正定矩阵的存在对因子分析结果有何影响
4)如何修正使得变成正定矩阵
四、解决办法
通过在论坛上查阅人相关问题,发现其他网友总结出现这种情况的原因主要集中在两点:
1)样本量太少,而指标过多
2)某些变量间相关性太强
而解决方案分别要求增加样本,或者剔除某些显著强相关的变量,但是在我的这个例子里面无法增加样本,因此只能从变量的相关性上考虑,看是不是存在一些和其他变量高度相关的变量。

通过查看因子分析结果中的相关系数矩阵,的确发现大部分变量之间都存在高度相关性,而且相关系数在以上:
但是现在问题来了,那是不是应该直接删除高度相关的变量该删除哪些变量按照我的情况估计很多变量都要剔除了,那对于分析结果就会产生很大的影响。

为了找出具体是哪些变量导致问题的出现,我用了一个比较笨的办法:逐一淘汰法。

刚开始时不把所有变量都用来做因子分析,只选取一小部分,例如我先选取了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仅仅是提示,仍然会输出因子分析结果的原因。

好了,这个是我工作中碰到的一个实际例子,之前一直困扰了我很久,现在写出来与大家分享,希望能对有同样问题的朋友一个启发,当然里面一定有不对的地方,希望大家多多指正。

相关文档
最新文档