使用 VAR 具有季节性的时间序列数据?

机器算法验证 时间序列 向量自回归 季节性 评论
2022-03-21 19:39:49

我有两个时间序列:1)仅包含每月生产 2006-2011 的历史数据。2) 其中包含 2006-2057 年每月的历史和预测流量数据。

我想使用 VAR 将流量数据用作生产的预测器。我的问题是数据是季节性的,我不知道如何处理具有季节性的 VAR?如果我使用 SARMA,我将无法(据我了解)将流量测量用作生产的预测器。

2个回答

VAR 模型通常与季节性数据一起使用,例如在大多数时间序列(如 GDP 或失业)是季节性的宏观经济学中。季节性在 (1) 模型外部(通过在拟合 VAR 模型之前对序列进行季节性调整)或 (2) 在模型内部(例如通过包括季节性虚拟变量)进行处理。

对于(1),可以通过函数(如@GD_N 的另一个答案中提到的)或通过拟合单变量 SARIMA 模型或具有季节性假人或傅立叶项的 ARIMA 模型来执行季节性分解stl-decompose但也有其他选择。

对于 (2),季节性虚拟变量可以作为外生回归量包含在内,也可以通过 R 函数中的可选参数包含在内season(在包手册vars::VAR中向下滚动以获取详细信息)。

让我逐步向您解释如何消除季节性:

  1. 检测趋势:先判断时间序列是加法还是乘法
  2. 去趋势时间序列:这将暴露季节性。
  3. 平均季节性:从去趋势时间序列中,很容易计算平均季节性。我们将季节性相加并除以季节性数。

如果您使用的是 R,则有两个函数decomposestl,它们可以帮助您完成上述操作。通常,分解用于消除时间序列中的季节性影响。它提供了一种更简洁的方式来理解趋势。

  • 注1:您可以使用自相关函数来识别季节性(每周、每月、每季度、每半年或每年)
  • 注意 2:SARMA 处理季节性,也请阅读它。