比较多个时间序列的最有意义的方法

Most meaningful way to compare multiple time series

提问人:Peter 提问时间:12/29/2009 最后编辑:Brian Tompsett - 汤莱恩Peter 更新时间:12/25/2015 访问量:2469

问:

我需要编写一个程序,对不同日期范围(主要是 2007-2009 年)和频率(每周、每月、每年......

我想出了:

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

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

试着想想所有的可能性

时间序列 数据操作

评论

0赞 Drew Hoskins 12/29/2009
你为什么希望这个系列有相同数量的元素?您呈现数据的目标是什么?
0赞 Peter 12/29/2009
目标是找到最有意义的方式在图形上呈现数据。如果它有一个不均匀的时间尺度,那就没有意义了吗?我可能是错的

答:

2赞 Alexey Kalmykov 12/29/2009 #1

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

1赞 Pablo Rodriguez 12/29/2009 #2

您可以采取以下几种方法:

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

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

  • 在插值的情况下,您必须选择最佳算法(线性或二次插值、样条、指数......
  • 在求和的情况下,您必须选择适当的聚合函数(总和、最大值、平均值......

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

1赞 DevonMcC 8/23/2010 #3

我已经相当广泛地研究了这个问题。插值方法的危险在于,您偏向了各种度量(尤其是波动率),并引入了虚假相关性。我发现傅里叶插值在一定程度上缓解了这种情况,但更好的方法是走另一条路:聚合更频繁的观测值以匹配不太频繁的序列的周期性,然后比较这些观测值。