建模不均匀间隔的时间序列


12

我有一个连续变量,在一年中以不定期的间隔进行采样。有些日子每小时的观测不只一次,而另一些日子则没有几天。这使得检测时间序列中的模式特别困难,因为某些月份(例如10月)的采样很高,而另一些则没有。

在此处输入图片说明

我的问题是对这个时间序列建模的最佳方法是什么?

  • 我相信大多数时间序列分析技术(例如ARMA)都需要固定频率。我可以汇总数据,以获取恒定的样本或选择非常详细的数据子集。使用这两个选项时,我将丢失原始数据集中的某些信息,这些信息可能会揭示不同的模式。
  • 除了可以按周期分解系列之外,我还可以将整个数据集提供给模型,并期望它能够拾取模式。例如,我将分类变量中的小时,工作日和月份进行了转换,并尝试了具有良好结果的多元回归(R2 = 0.71)

我的想法是,诸如ANN之类的机器学习技术也可以从不均匀的时间序列中选择这些模式,但是我想知道是否有人尝试过这种方法,并且可以为我提供一些有关在神经网络中表示时间模式的最佳方法的建议。

Answers:


4

ARIMA,指数平滑等确实需要均匀间隔的采样点。在编写时,您可以将数据存储在存储桶中(例如几天),但是在编写时,也会丢失信息。另外,由于ARIMA不能很好地处理缺失值,因此您可能最终会丢失值,因此您需要进行估算。

正如您再次写道,一种替代方法是将时间虚拟变量输入回归框架。我个人并不真正喜欢分类假人,因为这意味着相邻类别之间的截断。这通常不是很自然。因此,我宁愿看一下具有不同周期性的周期性样条。这种方法的优点是可以处理不均匀的采样以及缺失值。

[R2

最后,不要过度建模。仅从查看数据来看,很明显在6月,8月的一天和9月/ 10月发生了一些事情。我建议您首先找出这是什么并将其包含在模型中,例如作为解释变量(如果需要,可以将其包含在ARIMAX中)。那里发生的事情显然不是季节性的。


0

由于您的问题和@Stephan Kolassa给出的很好的答案特别讨论了ARIMA和神经网络,因此我想提一下,您可以随时提供此forecast程序包R-它具有nnetar训练带有1个隐藏层的简单前馈神经网络的功能。滞后的输入。

也许您可以尝试以下方法:

  • 为您的每个观察结果提取许多功能,例如一周中的某天,每月中的某天,工作日/周末等。(仅提及日期时间作为您问题中的潜在依赖项,因此这就是为什么我将其包括在内-但您可以包括所有可能的事物相信可能会影响您的兴趣变量)。
  • 您感兴趣的变量的滞后值以及日期时间信息(例如星期几等)将作为您的输入。例如,您可以将datetime变量用作外部回归变量(xreg)。

并根据这些输入预测您感兴趣的变量的未来价值。另外,您还可以考虑将要预测的值在给定的每一天都包含观察到的平均值和方差/偏差。这意味着您必须首先使用ARIMA预测预期的均值和方差,然后将其作为上述方法的补充输入。

hth。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.