【问题标题】:One pass common statistics. Numerical stability for integers一通通用统计。整数的数值稳定性
【发布时间】:2018-09-03 18:30:08
【问题描述】:

我想使用一次性算法计算 meanstdskewnesskurtosiscovariance。我发现的最简单最快的一种方法是由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


【解决方案1】:

为了提高数值稳定性,您可以对数据进行标准化。 见:Wikipedia: normalization

例如:您有一个数据集X_1, ..., X_n,均值x_bar,标准差s。然后通过:(X_i - x_bar) / s

对数据进行归一化

【讨论】:

    猜你喜欢
    • 2016-12-23
    • 2019-11-05
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 2011-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多