解释psych :: cor.smoother函数

时间:2016-04-26 14:14:34

标签: r matrix correlation psych

我试图联系William Revelle,但他没有回应。

psych 包中有一个名为cor.smoother的函数,它确定相关矩阵是否为正定。其解释如下:

cor.smoother通过系统地一次丢弃一个变量并找到特征值分解来检查排名nvar-1的所有nvar未成年人。它报告那些变量,当它们被删除时,产生它还报告每个变量被丢弃时的负特征值的数量。最后,它将原始相关矩阵与平滑的相关矩阵进行比较,并报告那些绝对偏差大于切割的项目。这些都是关于什么的提示相关矩阵可能有问题。“

我希望有人能以一种更容易理解的方式为我解释,这是真正的粗体陈述吗?

1 个答案:

答案 0 :(得分:0)

对你的问题迟来的答案。

当矩阵的至少一个特征值小于0时,相关矩阵被认为是不合适的(或者更准确地说,不是正半定的)。如果你有一些缺失的数据并且正在使用它们,就会发生这种情况。完全相关。如果您根据具有一些甚至大量缺失数据的数据集进行四重或多重相关,则尤其可能发生这种情况。

(相关矩阵R可以分解为一组特征向量(X)和特征值(λ),其中R = X lambda X'。这种分解是成分分析和因子分析的基础,但是比你想知道的要多。)

cor.smooth函数找到特征值,然后通过使它们略微为正来调整负值(并调整其他值以补偿此变化)。

cor.smoother函数尝试识别使矩阵不正确的变量。它通过考虑通过一次丢弃一个变量而生成的所有矩阵,并查看哪些矩阵不是正半正定(即具有特征值<0)来实现这一点。理想情况下,这将识别出一个正在弄乱的变量。 。

这方面的一个例子是在burt数据集中,悲伤 - 压痛相关性可能是错误的,.87应该是.81。

cor.smoother(burt)#identifies柔情和悲伤可能是罪魁祸首