【问题标题】:Most meaningful way to compare multiple time series比较多个时间序列的最有意义的方法
【发布时间】:2010-12-30 16:58:45
【问题描述】:

我需要编写一个程序,对不同日期范围(主要从 2007-2009 年)和频率(每周、每月、每年...)的多个时间序列执行算术 (+-*/)。

我想出了:

  • 找到频率最高的系列。然后用零填充其他系列,使它们具有相同数量的元素。然后执行操作。

如何以最有意义的方式呈现数据?

尝试考虑所有可能性

【问题讨论】:

  • 您为什么希望系列具有相同数量的元素?您展示数据的目标是什么?
  • 目标是找到最有意义的方式在图表上呈现数据。如果它的时间尺度不均匀,它就没有意义了吗?我可能错了

标签: time-series data-manipulation


【解决方案1】:

如果零对于这个时间序列来说是一个有意义的值(例如摄氏温度),那么用零填充所有空白可能不是一个好主意(即您将无法区分真实值和存根值然后)。您可能想要interpolate 您的时间序列。基本数据结构可以是数组/双链表。

【讨论】:

    【解决方案2】:

    您可以采取多种方法:

    • 使用最细粒度的时间序列数据(例如,秒)并在需要时插入/填充数据
    • 使用最粗粒度(例如年份)并在需要时汇总数据
    • 两个极端之间的任何中间步骤

    您应该始终了解您的数据,因为:

    • 在插值的情况下,您必须选择最佳算法(线性或二次插值、样条、指数...)
    • 在进行汇总时,您必须选择适当的聚合函数(sum、maximum、mean...)

    一旦所有时间序列的时间尺度都相同,您就可以执行算术魔术,但请注意插值会产生额外信息,而汇总会删除可用信息。

    【讨论】:

      【解决方案3】:

      我已经相当广泛地研究了这个问题。插值方法的危险在于您会偏向各种度量 - 特别是波动性 - 并引入虚假相关性。我发现傅里叶插值在一定程度上缓解了这种情况,但更好的方法是采用另一种方式:聚合更频繁的观察结果以匹配不太频繁的序列的周期性,然后比较它们。

      【讨论】:

        猜你喜欢
        • 2022-11-29
        • 2020-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-07
        • 2016-09-27
        相关资源
        最近更新 更多