给出M维和N个样本的数据矩阵数据,比方说,
data = randn(N, M);
Run Code Online (Sandbox Code Playgroud)
我可以计算协方差矩阵
data_mu = data - ones(N, 1)*mean(data);
cov_matrix = (data_mu'*data_mu)./N
Run Code Online (Sandbox Code Playgroud)
如果我使用原生MATLAB函数
cov_matrix2 = cov(data)
Run Code Online (Sandbox Code Playgroud)
这总是等于
cov_matrix = (data_mu'*data_mu)./(N-1)
Run Code Online (Sandbox Code Playgroud)
也就是说,分母是(N-1)少一个.
为什么??你能重现吗?这是一个错误?
我使用MATLAB版本7.6.0.324(2008).
也就是说,分母是(N-1)少一个.为什么??你能重现吗?这是一个错误?
请参阅cov文档.它与人口方差与样本方差有关.
还要注意的是,如果你希望使用的N-1分母ñ相反,你可以尾随添加1参数调用,即cov(x,y,1)或cov(x,1)按文档.
| 归档时间: |
|
| 查看次数: |
6543 次 |
| 最近记录: |