我有一个数据集,其中包含717个观测值(行),这些观测值由33个变量(列)描述。通过对所有变量进行z评分来标准化数据。没有两个变量是线性相关的()。我还删除了所有方差很小(小于)的变量。下图显示了相应的相关矩阵(以绝对值表示)。0.1
当我尝试factoran
在Matlab中使用以下方法运行因子分析时:
[Loadings1,specVar1,T,stats] = factoran(Z2,1);
我收到以下错误:
The data X must have a covariance matrix that is positive definite.
你能告诉我问题出在哪里吗?是否由于使用的变量之间相互依存性较低?另外,我该怎么办?
我的相关矩阵:
3
我认为这是相互依存度低的相反问题。您可能有一些变量之间线性相关,这会导致协方差矩阵是半确定的(即,具有一些零本征值)。
—
usεr11852
对于投票否决问题的人们来说:为什么样本协方差矩阵的正定性问题在这里会成为话题?用户担心为什么因子分析的标准应用程序不起作用。如果需要,请索取更多信息!
—
usεr11852
您能否计算并呈现样本协方差矩阵的特征值?(例如
—
usεr11852
eig(cov(Z2))
)。我强烈怀疑其中一些很小。
我同意@usεr11852:似乎这个问题被误认为是题外话(我自己投票决定将其关闭)。它的确看起来像是一个编程问题,但实际上是一个完全合理且合理的问题。我对其进行了编辑,并投票决定重新开放。可惜OP似乎已经消失了。
—
变形虫说恢复莫妮卡2015年
我认为这个问题可能有一些统计内容,而Matlab社区将无法提供帮助。您如何计算
—
StasK 2015年
Z2
矩阵?如果您的数据中缺少值,那么当使用数据的不同子样本计算矩阵中的不同相关性时,成对删除可能会使矩阵变得不可逆。