Auto.arima vs autobox 他​​们有什么不同吗?

机器算法验证 时间序列 有马 自动算法
2022-01-30 19:04:43

通过阅读本网站上的帖子,我知道有一个 R函数 auto.arima(在forecast 中)。我还知道该站点的成员IrishStat于 1980 年代初构建了商业包autobox 。由于这两个包今天存在并自动为给定数据集选择 arima 模型,它们有什么不同?他们可能会为同一数据集生成不同的模型吗?

3个回答

它们代表了对两个相似但不同的问题的两种不同方法。我写了auto.arima,@IrishStat 是Autobox.

auto.arima()适合(季节性)ARIMA 模型,包括漂移项。Autobox适合传递函数模型以处理水平偏移和异常值。ARIMA 模型是传递函数模型的一种特殊情况。

即使您关闭了 中的电平转换和异常值检测,由于在识别 ARIMA 参数方面的选择Autobox不同,您也会得到不同的 ARIMA 模型。auto.arima()

在我对 M3 和 M 竞争数据的测试中,产生了比这些数据auto.arima()更准确的预测。Autobox但是,Autobox使用包含主要异常值和水平变化的数据会做得更好。

编辑:根据您的评论,我相信如果您关闭许多autobox's 选项,您可能会得到与auto.arima. 但是如果你不这样做,并且在存在异常值的情况下肯定会有区别:auto.arima不关心异常值,同时autobox会检测它们并适当地处理它们,这将提供更好的模型。也可能存在其他差异,我相信 IrishStat 可以描述这些差异。


我相信autobox除了搜索最佳 AR、I 和 MA 系数之外,还可以检测异常值和其他东西。如果这是正确的,则需要更多的分析和其他几个 R 函数才能具有类似的功能。IrishStats 是这个社区的重要成员,而且非常友好。

当然,R 是免费的,并且可以在 ARIMA 之外做很多事情。

经济学风格的 ARIMA 的另一个免费选择是X13-ARIMA SEATS来自美国人口普查局,它是开源的。有适用于 Windows 和 Linux 的二进制文件,但它在我的 Mac 上直接编译,因为我已经加载了 gnu 的 gfortran 编译器。它是 的继任者X12-ARIMA,经过多年的开发和测试,最近几天才发布。(它更新了 X12 并添加了 SEATS/TRAMO 功能。X12 是美国官方工具,而 SEATS/TRAMO 来自西班牙银行,是“欧洲工具”。)

我真的很喜欢 X12(现在是 X13)。如果您输出大量诊断信息并通读它们并了解它们的含义,那么它们实际上是 ARIMA 和时间序列方面相当好的教育。我已经开发了自己的工作流程,但是有一个 R 包x12可以在 R 中完成大部分工作(您仍然必须为 X12 创建输入模型(“.spc”)文件)。

我说X12擅长“经济学风格” ARIMA指的是3年以上数据的月度数据。(你需要5年以上的数据才能使用一些诊断功能。)它具有异常值识别功能,可以处理各种异常值规范,并且可以处理节假日、浮动节假日、交易日效应和大量经济事物。这是美国政府用来创建季节性调整数据的工具。

迈克尔/韦恩

如果满足以下一个或多个条件,AUTOBOX 肯定会交付/识别不同的模型

1)数据中有脉冲

2) 数据中有 1 个或多个级别/步长偏移

3)如果数据中有季节性脉冲

4)数据中有1个或多个本地时间趋势没有简单补救

5)如果模型的参数随时间变化

6) 如果误差的方差随时间变化并且没有功率变换是足够的。

就具体示例而言,我建议你们俩都选择/制作时间序列并将它们都发布到网络上。我将使用 AUTOBOX 以无人值守模式分析数据,并将模型发布到列表中。然后你运行 R 程序,然后你们每个人对这两个结果进行单独的客观分析,指出相同点和不同点。将这两个模型连同所有可用的支持材料(包括最终错误条款)发送给我以征求我的意见。总结这些结果并将其呈现给列表,然后让列表的读者投票选出他们认为最好的程序。