如何跳过 ARIMA 模型(python)中的第一个滞后 N 天?

Posted

技术标签:

【中文标题】如何跳过 ARIMA 模型(python)中的第一个滞后 N 天?【英文标题】:How to skip the the first lag N days in ARIMA model (python)? 【发布时间】:2021-09-24 15:17:41 【问题描述】:

我的数据包含 21 周的每日销售额(17 周的训练数据,4 周的验证数据),并且想要预测下周的每日销售额,例如站在第 10 周的星期一,我想用第 1-9 周的数据在 python 中预测第 11 周的每日销售额。

由于在目标日期之前缺少 1-2 周的数据(对于第 11 周星期一,我错过了滞后 1-7,对于第 11 周星期日,我错过了滞后 1-13),我应该如何构建自变量,数据结构或配置 arima 模型,以便在训练数据中可以反映缺失的日期,并且不会将最近的滞后作为输入?

谢谢!

【问题讨论】:

【参考方案1】:

我在这里看到了两种可能性。

    我假设您正在使用 statsmodels ARIMA 类。您可以在定义订单时指定 ARIMA 应该使用哪些滞后。例如,如果您提供order=(4,0,0),它将使用最后四个滞后作为自回归组件。如果你给order=([1,0,1,1],0,0),它只会使用最后一个、第三个和第四个倒数滞后,而忽略倒数第二个。在[] 中,您可以使用 1 定义要使用的滞后,以及使用 0 忽略特定组件的滞后。

    您可以使用插补来填充缺失值。有很多方法可以做到这一点,您需要为您的用例找到一个好的方法,对于初学者,您可以在这里查看:https://machinelearningmastery.com/statistical-imputation-for-missing-values-in-machine-learning/

我不知道你的用例,但我建议第二种方式。

【讨论】:

以上是关于如何跳过 ARIMA 模型(python)中的第一个滞后 N 天?的主要内容,如果未能解决你的问题,请参考以下文章

Python中的ARIMA模型SARIMA模型和SARIMAX模型对时间序列预测

如何在 R 中解释自动 arima 结果的第二部分?

使用 Python 训练 arima 模型时如何解决 LinAlgError 和 ValueError

Python/Pandas - 如何调整 auto_arima 模型参数以获得未来预测

如何让pandas停止跳过TSV文件中的第一个空白列?

用Python和ARIMA模型进行股价时间序列预测(A0001ECON17083101v001)