gpt4 book ai didi

python - ARIMA 超出统计模型中的样本预测?

转载 作者:行者123 更新时间:2023-11-28 19:21:15 26 4
gpt4 key购买 nike

我有一个时间序列预测问题,我正在使用 statsmodels python 包来解决。使用 AIC 标准进行评估,结果证明最优模型相当复杂,类似于 ARIMA(27,1,8) [我没有对参数空间进行详尽搜索,但它似乎处于最小值附近].不过,我在使用该模型进行验证和预测时遇到了真正的麻烦,因为训练单个模型实例需要很长时间(数小时),因此进行重复测试非常困难。

在任何情况下,为了能够在操作中使用 statsmodels(假设我可以先以某种方式验证模型),我真正需要的最低限度是一种在新数据到达时合并新数据的机制,以便使下一组预测。我希望能够在可用数据上拟合一个模型,对其进行 pickle,然后在下一个数据点可用时取消 pickle,并将其合并到一组更新的预测中。目前,每次有新数据可用时,我都必须重新拟合模型,正如我所说,这需要很长时间。

我看过this question这基本上解决了我遇到的问题,但对于 ARMA 模型。然而,对于 ARIMA 情况,差异数据会增加复杂性。我需要能够生成原始时间序列的新预测(参见 ARIMAResultsWrapper.predict 方法中的 typ='levels' 关键字)。据我了解,statsmodels 目前无法做到这一点,但我需要使用现有功能的哪些组件才能自己编写一些东西来做到这一点?

编辑:我也在使用 transparams=True,因此预测过程需要能够将预测转换回原始时间序列,这是自制方法中的一个额外困难。

最佳答案

从事物的方案来看,ARIMA(27,1,8) 模型极其复杂。对于大多数时间序列,您可以使用五个左右的参数进行合理的预测。当然这取决于数据和域,但我非常怀疑是否需要 27 + 8 = 35 个参数。

众所周知,AIC 有时对参数数量过于宽松。我会尝试将结果与 BIC 进行比较。

我还会调查您的数据是否具有某种季节性。例如,也许所有 27 个 AR 项都无关紧要,您实际上只需要 lag=1 和 lag=24(例如)。具有每日季节性的每小时数据可能就是这种情况。

关于python - ARIMA 超出统计模型中的样本预测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24422943/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com