多维时间序列的干预分析

机器算法验证 时间序列 多元分析 有马 干预分析
2022-03-16 16:36:56

我想做一个干预分析,以量化一段时间内关于酒精销售的政策决定的结果。但是,我对时间序列分析还很陌生,所以我有一些初学者的问题。

对文献的审查表明,其他研究人员已经使用 ARIMA 来模拟酒精的时间序列销售,并使用虚拟变量作为回归量来模拟干预效果。虽然这似乎是一种合理的方法,但我的数据集比我在文献中遇到的要丰富一些。首先,我的数据集按饮料类型(即啤酒、葡萄酒、烈酒)分类,然后按地理区域进一步分类。

虽然我可以为每个分类组创建单独的 ARIMA 分析,然后比较结果,但我怀疑这里有更好的方法。任何更熟悉多维时间序列数据的人可以提供一些提示或建议吗?

3个回答

具有干预虚拟变量的 ARIMA 模型是具有 ARIMA 误差的线性模型的特例。

您可以在这里做同样的事情,但使用更丰富的线性模型,包括饮料类型和地理区域的因素。

在 R 中,可以使用 arima() 估计模型,其中回归变量通过 xreg 参数包含在内。不幸的是,您必须使用虚拟变量对因子进行编码,否则相对简单。

如果您想将饮料类型的销售建模为向量 [t 时的葡萄酒销量、t 时的啤酒销量、t 时的烈酒销量],您可能需要查看向量自回归 (VAR) 模型。您可能希望 VARX 品种具有外生变量向量,如地区和政策干预虚拟变量,以及葡萄酒、啤酒和烈酒序列。它们的拟合相当简单,您将获得脉冲响应函数来表达外源冲击的影响,这可能也很有趣。Lütkepohl 关于多元时间序列的书中有全面的讨论。

最后,我当然不是经济学家,但在我看来,您可能还会考虑这些饮料类型和水平的比例。人们可能在酒水预算限制下运作——我知道我这样做——这将耦合水平并(反)关联错误。

每个时间序列都应该单独评估,最终的想法是收集,即将相似的序列分组为具有相似/共同结构的组或部分。由于时间序列数据可以在未指定的时间点通过未知的确定性结构进行干预,因此建议进行干预检测以找出干预实际产生影响的位置。如果您知道某项法律在(法律上)的特定时间点生效,这实际上(事实上)可能不是干预实际发生的日期。由于不合规或不响应,系统可以在已知生效日期之前甚至在该日期之后做出响应。指定干预的日期可能会导致模型规范偏差。我建议你谷歌“干预检测”或“异常检测”。天普大学的魏教授由 Addison-Wessley 出版了一本关于这方面的好书。我相信标题是“时间序列分析”。进一步的评论 干预变量可能表现为脉冲或电平/阶跃或季节性脉冲或本地时间趋势。

针对扩大关于当地时间趋势的讨论:

如果您有一个系列显示 1,2,3,4,5,7,9,11,13,15,16,17,18,19... 在第 5 期和第 10 期出现趋势变化. 对我来说,时间序列中的一个主要问题是检测电平偏移,例如 1,2,3,4,5,8,9,10,..或电平偏移的另一个示例 1,1,1,1,2 ,2,2,2, AND/OR 或时间趋势中断的检测。正如一个脉冲是一个步骤的差异一样,一个步骤是一个趋势的差异。我们将干预检测理论扩展到第四维度,即趋势点变化。在开放性方面,我已经能够结合 ARIMA 和传递函数模型来实现这样的干预检测方案。我是高级时间序列统计学家之一,他们合作开发了包含这些功能的 AUTOBOX。我不知道还有谁编写了这项激动人心的创新程序。