【问题标题】:How to sort many time series' by how trending each series is如何根据每个系列的趋势对多个时间系列进行排序
【发布时间】:2021-05-11 10:27:55
【问题描述】:

您好,我正在记录大约 15 万件涌入的数据。我尝试按项目 ID 分组并使用 the docs 中的一些函数,但它们似乎没有显示“趋势”。

因为有很多系列可供分组。我目前正在对每个系列执行查询以计算一个值,将其存储并按此排序。

我曾尝试使用线性回归(直线的平均角度),但这并不完全适用,因为 X 轴是时间戳,与 Y 轴值不相关,因此最终得到一条接近垂直的线.也许我可以将 X 值计算为其他值?

我遇到的另一个问题是某些系列的价值比其他系列高得多,因此一个系列跳升 1000 可能是巨大的(非常趋势),而对于总是更高的其他系列来说没什么大不了的。

有没有办法我可以从一个系列中生成一个值来表示该系列的趋势如何,例如,它与正常情况相比上升了很多。

这是一个不流行的系列和几天前流行的系列的示例。所以后者的趋势值会比第一个高:

谢谢!

【问题讨论】:

    标签: math statistics time-series influxdb trend


    【解决方案1】:

    我认为类似的问题自然会出现在股票市场中,并且通常在检测异常值时会出现。

    所以有不同的移动方式。大概1就够了。

    1. 您的图表中似乎有一个moving average。您可以将差值作为移动平均线并查看分布以评估适当的阈值以供您注意。在第一张图中,您似乎有一个可能相关的事件。您可以设置一个阈值,例如真实序列与移动平均之间差异的平均值的两个标准差。

    2. 降低每个系列的趋势。即使是 1) 也足够好(我的意思是减去该系列的实际价值减去过去 X 天的平均值),您可以使用更复杂的想法来消除趋势。但这可能需要针对每种情况给予更多关注,例如您应该注意季节性等。也许是Hodrick Prescott 或内联:https://machinelearningmastery.com/decompose-time-series-data-trend-seasonality/

    3. 也许 1) 中的想法更正式地描述为Bollinger Bands。这可以帮助您以一定的概率知道时间序列应该在哪里。

    4. 有更复杂的方法可以识别时间序列中的异常值(如此处:https://towardsdatascience.com/effective-approaches-for-time-series-anomaly-detection-9485b40077f1)或此处进行文献综述:https://arxiv.org/pdf/2002.04236.pdf

    【讨论】:

      猜你喜欢
      • 2022-01-03
      • 1970-01-01
      • 2023-01-14
      • 2021-07-15
      • 2023-03-03
      • 2020-02-05
      • 2021-08-28
      • 2019-05-05
      • 1970-01-01
      相关资源
      最近更新 更多