有没有办法将两个数据集的协方差结合起来,而不是通过合并数据来计算新的协方差?假设我已经从100万条数据中计算出了协方差,然后如果我再得到另外200万条数据,这些数据也已经计算出了协方差,我能否将这些已经计算出的协方差结合起来以产生新的协方差?我主要感兴趣的是在从合并后的300万条数据中计算协方差时减少所需的计算量。
对于均值,这可以很容易地实现。新的均值 = (数据集1大小 * 均值1 + 数据集2大小 * 均值2) / (数据集1大小 + 数据集2大小)
有没有类似的方法来计算协方差,以便我能利用预先计算的数据?如果在计算数据集1和数据集2的协方差时存储一些信息能帮助我更容易地找到新的合并协方差,我也可以这样做。
回答:
完整的推导过程见此PDF http://prod.sandia.gov/techlib/access-control.cgi/2008/086212.pdf