【问题标题】:Detecting change in streaming data检测流数据的变化
【发布时间】:2011-01-03 04:09:06
【问题描述】:

我有一组流式值,我想分析这些值的突然变化,并可能忽略数据中的尖峰/噪声。我查看了移动平均线、winsorised 均值和其他几种可能的解决方案,包括控制系统中的 PID 控制器、colt 库和 numpy,以获取有关如何解决此问题的线索。

下面是一个示例数据集。
22.0, 22.0, 22.0, 22.0, 20.8806130178211, 20.8806130178211, 20.8806130178211, 20.8806130178211, 20.8806130178211, 20.8806130178211, 21.840329667841555, 21.840329667841555, 20.8806130178211, 20.8806130178211, 20.8806130178211,20.8806130178211, 20.8806130178211, 20.8806130178211, 21.840329667841555, 21.840329667841555, 21.840329667841555,21.840329667841555, 22.80350850198276

理想情况下,我想检测到第 1、第 3 和第 4 部分中的值是否以粗体显示。第二部分可以视为尖峰。

寻找一种优雅的数学/算法解决方案,其工作方式类似于移动平均线,因为如果数据长时间没有变化(动态窗口),它将忽略旧数据。对于上述数据,在考虑下一个数据窗口 20.8806130178211 时,会忽略 22 的初始值。

解决方案(程序/类)应该能够接受一个新的数据输入值 (22.0232),如果它计算出该值在可接受的范围内,即它没有发生很大变化,则返回 true 或 false 值。

谢谢
sfk

【问题讨论】:

    标签: java statistics


    【解决方案1】:

    也许比查看数据中的移动平均线更好的方法是查看数据中变化的移动平均线。因此,您可以获取数据集的第一个差异并识别大于某个阈值的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-12
      • 2017-03-27
      • 2017-03-01
      相关资源
      最近更新 更多