提问人:Peter 提问时间:12/29/2009 最后编辑:Brian Tompsett - 汤莱恩Peter 更新时间:12/25/2015 访问量:2469
比较多个时间序列的最有意义的方法
Most meaningful way to compare multiple time series
问:
我需要编写一个程序,对不同日期范围(主要是 2007-2009 年)和频率(每周、每月、每年......
我想出了:
- 找到频率最高的序列,然后用零填充其他序列,使它们具有相同数量的元素。然后执行该操作。
如何以最有意义的方式呈现数据?
试着想想所有的可能性
答:
2赞
Alexey Kalmykov
12/29/2009
#1
如果零对于这个时间序列来说是一个有意义的值(例如,以摄氏度为单位的温度),那么用零填充所有空白可能不是一个好主意(即,之后您将无法区分实值和存根值)。您可能需要插值您的时间序列。其基本数据结构可以是数组/双链表。
1赞
Pablo Rodriguez
12/29/2009
#2
您可以采取以下几种方法:
- 使用最细粒度的时间序列数据(例如秒)并在需要时插值/填充数据
- 使用最粗粒度(例如,年)并在需要时汇总数据
- 两个极端之间的任何中间步骤
您应该始终了解您的数据,因为:
- 在插值的情况下,您必须选择最佳算法(线性或二次插值、样条、指数......
- 在求和的情况下,您必须选择适当的聚合函数(总和、最大值、平均值......
一旦所有时间序列具有相同的时间刻度,就可以执行算术魔术,但请注意,插值会生成额外的信息,而汇总会删除可用信息。
1赞
DevonMcC
8/23/2010
#3
我已经相当广泛地研究了这个问题。插值方法的危险在于,您偏向了各种度量(尤其是波动率),并引入了虚假相关性。我发现傅里叶插值在一定程度上缓解了这种情况,但更好的方法是走另一条路:聚合更频繁的观测值以匹配不太频繁的序列的周期性,然后比较这些观测值。
评论