具有非常小值的数据集变量的协方差矩阵/

时间:2013-12-29 17:54:28

标签: matlab numpy covariance scientific-computing

我有一个包含非常小值的数据集,因此当您尝试计算协方差矩阵时,您会得出NAN值。我应该如何更改数据,因为我能够在计算中缩放这些非常小的值?

我正在使用MATLAB,但任何其他替代方案对我来说也没问题。

1 个答案:

答案 0 :(得分:1)

从评论中可以清楚地看出,问题不是小值,而是数据中的NaN。如果您有统计工具箱,则可以使用nancov,它忽略包含NaN的观察(行)。如果没有,实施起来很简单:

cov(x(~any(isnan(x), 2), :))

如果数据中有多个NaN,如果为每对变量分别计算协方差,则可能会更好地估计协方差矩阵,并且仅针对给定对排除包含NaN的行。然而,这种方法的缺点是得到的矩阵可能不再是正定的。