我不确定这是否是编程或统计问题,但我 %99 确定应该存在数字问题。所以也许可以提出一个程序化的解决方案。
我正在使用 MATLAB 的 mvnpdf 函数来计算一些观测值的多元高斯 PDF。我经常收到“SIGMA 必须是对称且正定的”错误。
但是,我从数据中获取协方差矩阵,所以数据应该是合法的。重新生成问题的代码是:
err_cnt = 0;
for i = 1:1000
try
a = rand(3);
c = cov(a);
m = mean(a);
mvnpdf(a, m, c);
catch me
err_cnt = err_cnt + 1;
end
end
每次运行时,我都会收到约 500-600 个错误。
PS我的情况下不生成随机数据,只是在这里生成演示一下。