【发布时间】:2018-09-03 18:30:08
【问题描述】:
我想使用一次性算法计算 mean、std、skewness、kurtosis 和 covariance。我发现的最简单最快的一种方法是由Stuart McCrary from Berkeley Research Group 发布的。例如std 可以使用:
std = sqrt((sum(x^2)-N*mean(X)^2)/(N-1))
我读到这种方法不够好,因为它在数值上不稳定。不幸的是,我对数值稳定性没有深入的了解,但据我了解,这是一些问题,这是由于浮点运算的精度有限而发生的。
在我的例子中,我将只处理 10^1-10^6 范围内的整数。
我可以在我的情况下使用这种方法并且不关心数值稳定性吗?
【问题讨论】:
-
“虽然教科书方法在大多数情况下可以产生准确的结果,但仍有一定程度的不确定性,可能某个特定试验会进入教科书方法不准确的领域。”该研究本身并没有详细说明其局限性!
-
@BassemAkl 研究不是,但在很多不同的地方都写过,上面的方程是最快和最简单的,但存在数值不稳定性。
标签: algorithm statistics numerical-stability