半方差的鲁棒在线算法

问题描述 投票:0回答:2

我正在寻找相当于 welford 算法 的在线计算半方差(下行部分方差)。有谁知道有什么好的参考资料吗?这样的算法存在吗?

编辑:相对于固定目标获取半方差的情况是微不足道的。问题是计算相对于平均值的半方差

algorithm math statistics numerical
2个回答
0
投票

我相信答案是不存在的,我将尝试概述为什么会这样。

考虑通过两个标准来定义“有用”的在线算法:

  1. 处理过程中必须有固定的内存需求。
  2. 每次更新都需要固定的时间。

这比顺序/增量/在线算法的字面定义更严格,后者实际上只要求一次可以传递一块数据。然而,请考虑如果 1) 或 2) 不成立,那么在处理足够多的元素后,运行算法所需的内存或所需的时间最终将变得不可行。通常,使用在线算法的原因之一是它们可以连续使用,而不用担心性能慢慢变差。另外,请注意,有在线算法用于计算同时满足 1 和 2 的均值和方差,我认为这就是我们的目标。

现在提出问题。在处理过程中,平均值会随着每一位新数据的变化而变化。这反过来意味着低于平均值的观测值集将会发生变化。发生这种情况时,我们需要根据集合“delta”调整运行半方差,“delta”定义为不在旧均值以下的元素集与新均值以下的元素集之间的并集中的元素。在存在新数据的情况下,我们必须在将旧半方差调整为新半方差的过程中计算这个增量。

现在让我们考虑计算这个集合增量的复杂性。我们需要找到旧平均值和新平均值之间的所有元素。我们将始终跟踪旧平均值,而新平均值可以在固定时间内增量计算,因此不会造成任何问题。然而,要计算增量本身,除了要求我们跟踪集合中所有先前的元素之外,没有其他方法可以做到这一点。这立即打破了在线算法的内存条件。其次,即使我们对集合中的先前元素进行排序,找到旧平均值和新平均值之间的元素所能达到的最佳速度也是 O(log(元素数量)),这比固定的要差。因此,最终,有了足够的元素,在线算法不仅需要比我们更多的内存,而且还需要更多的时间。


0
投票

http://www3.sympatico.ca/jean-v.cote/computation_of_semi-variance.pdf P.S.:这不是增量计算。我有另一个想法。我会随时通知您。

© www.soinside.com 2019 - 2024. All rights reserved.