我想使用一次遍历算法计算平均值
、标准差
、偏度
、峰度
和协方差
。我发现最简单和最快的方法是由伯克利研究集团的Stuart McCrary发布的。例如,对于标准差
,可以使用以下方法:
std = sqrt((sum(x^2)-N*mean(X)^2)/(N-1))
我读到这种方法不够好,因为它在数值上是不稳定的。不幸的是,我对数值稳定性没有深刻的理解,但我理解它是一些问题,由于浮点运算的有限精度而发生。
在我的情况下,我只会处理10^1-10^6
范围内的整数。
在我的情况下,我可以使用这种方法而不必担心数值稳定性吗?