如何计算块中的协方差矩阵?

时间:2015-08-05 15:01:58

标签: matlab math matlab-guide data-analysis

在函数"cov"中有一个Matlab构建来计算给定矩阵C的协方差矩阵。如果C太大,例如1000*60000加倍,并且我的计算机中没有足够的RAM,则必须编写一个函数来计算给定矩阵的协方差矩阵C块或块。我的问题是如何计算块/块中的协方差矩阵?假设给定矩阵的大小是1000*60000加倍,我的计算机无法使用"cov"函数处理。

1 个答案:

答案 0 :(得分:0)

假设你的意思是你有60,000个观察1000个变量,那么你可以只计算块中的covaraince矩阵,然后在你去的时候将它们组合起来:

  1. 将您的观察分成大小为N的块。(N必须确定适合您的RAM)
  2. 计算N< th chunk
  3. 的协方差
  4. 将第N个组块与之前N-1个组块的总协方差组合
  5. Here是关于如何组合协方差矩阵的讨论。基本上,您希望在处理它们时跟踪块的协方差和均值,然后通过利用它们在列出的协方差here的第一个属性中列出的均值表示的均方减去平方来进行组合。