输入:随机向量X = xi,i = 1..n。
X = meanxi,i = 1..n的均值向量输出:协方差矩阵Sigma(n * n)。
输出:协方差矩阵。 (i,j)= 1/n *(xi-meanxi)*(xj-meanxj),i,j = 1..n
2)Sigma(i,j) = cov(xi,xj),对称矩阵。
该算法是否正确,没有副作用?
协方差矩阵计算
Q
协方差矩阵计算
8
A
回答
4
每个xi
应该是一个具有自己的方差和均值的向量(随机变量)。协方差矩阵是对称的,所以你只需要计算它的一半(并复制其余部分)并且在主对角线上具有xi的方差。
S = ...// your symmetric matrix n*n
for(int i=0; i<n;i++)
S(i,i) = var(xi);
for(j = i+1; j<n; j++)
S(i,j) = cov(xi, xj);
S(j,i) = S(i,j);
end
end
其中xi的方差(VAR):
v = 0;
for(int i = 0; i<xi.Count; i++)
v += (xi(i) - mean(xi))^2;
end
v = v/xi.Count;
和协方差(COV)
cov(xi, xj) = r(xi,xj) * sqrt(var(xi)) * sqrt(var(xj))
其中r(xi, xj)
是Pearson product-moment correlation coefficient
EDIT
或,由于COV(X,Y)= E(X * Y) - E(X)* E(Y)
cov(xi, xj) = mean(xi.*xj) - mean(xi)*mean(xj);
其中.*
是Matlab的状逐元素乘法。
因此,如果x = [x1, x2]
,y = [y1, y2]
然后z = x.*y = [x1*y1, x2*y2]
;
相关问题
- 1. 使用Excel计算协方差矩阵
- 2. 使用VBA计算协方差矩阵
- 3. Java中的计算协方差矩阵
- 4. 在Matlab中计算协方差矩阵
- 5. 计算协方差矩阵式
- 6. PyMC - 方差 - 协方差矩阵估计
- 7. 计算协方差矩阵的逆矩阵导致'Inf'
- 8. 计算协方差矩阵 - numpy.cov和numpy.dot之间的差异?
- 9. 行计算相关/协方差矩阵的有效方法
- 10. Numpy协方差矩阵numpy.cov
- 11. 协方差矩阵gsl
- 12. 按组的方差协方差矩阵
- 13. Proc GLM的方差协方差矩阵
- 14. 计算协方差矩阵在MATLAB与给定的概率
- 15. 使用numpy和生成器计算协方差矩阵
- 16. 如何从随机向量计算协方差矩阵?
- 17. 计算1000点5×5矩阵的MATLAB中的协方差
- 18. 计算滚动窗口协方差矩阵
- 19. 由Python Numpy计算的协方差矩阵每次都改变
- 20. OpenCV只用一个样本计算协方差矩阵
- 21. Matlab不同类的协方差矩阵计算
- 22. 如何从ff_matrix高效地计算协方差矩阵
- 23. 如何用熊猫计算协方差矩阵
- 24. 提取R中估计协方差参数的协方差矩阵?
- 25. 计算F统计量与用户提供的协方差矩阵
- 26. 协方差矩阵lm对象R
- 27. 协方差矩阵与opencl和opencv
- 28. 显示数据为协方差矩阵
- 29. 两个不同的协方差矩阵?
- 30. 协方差为矩阵元素 - Matlab的
问题陈述不是很清楚。你真的有一个单一的向量作为输入? xi都有同样的意思吗?在计算平均值时,为什么要用(n-1)除? – Henrik 2010-07-22 08:54:02
理论上我有很多(X实际上是一个过程X(t)),其中t是[0..k],但是在建模期间,我只对k = kmax的情况感兴趣,这就是为什么我得到单向量X(kmax)= X由r个数组成。 n-1是更正,不会有太大影响。关于手段 - 他们是不同的,因为我现在看到。 – Singularity 2010-07-22 11:05:28
我投票结束这个问题,因为这是一个数学验证问题,而不是[帮助]范围内的编程问题。 – TylerH 2017-09-07 16:03:06