统计分析中,有时会给出矩阵为非正定矩阵的错误提示(not positive definite.)。其中造成非正定的原因大约有几个,根据相应的原因可以有相应的解决方法。
通常情况下,矩阵的特征值或者模都是大于等于0的,但是总是会有一些情况导致特征值<0的情况出现。主要发生在以下几个情况:
1 Linear Dependency
通常出现在两个性状呈现显著的线性相关时。可以在数据探索分析过程中,借助excel等工具,分析两个性状的表型回归。
2 Error Reading the Data
数据读入过程中出错。可能发生在读取不同格式的文件是,文件中的缺失值,引起错位,导致数据出错。
3 Typographical Error
排版错误。这个好像不大遇到。当然有这个可能......
4 Starting Values
初始值设置的原因。在迭代之前,都预先根据初始值计算sigma值,一旦sigma值不合适,出现非正定的情况。一旦出现这种情况,需要首先排查模型是否正确,确保没有语法错误。
5 Sampling Variation
通常是由于样本数据量太小造成。
6 Missing Data
数据缺失过多会导致矩阵一定程度的非正定。
7 My Variable is a Constant!
模型中有一个是常量。因此在数据分析前需要对原始数据结构有大体了解。PROC SUMMARY/ MEAN/ UNIVARIATE能够提供有力帮助。
8 polychoric correlation 多分格相关
可以通过proc pairwise检样相关矩阵是否正定.
9 No Error Variance
对角线元素为0时,需要警惕出现非正定的情况。
10 Negative Error Variance
通常情况下,对角线元素都是方差组分,因此值为负是不可思议的。这种情况往往出现在模型拟合不是很好的情况下,因此需要对模型进行全面评估和分析。
|