ARIMA在statsmodels中没有样本预测?

时间:2014-06-26 05:23:26

标签: python statsmodels

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

在任何情况下,我真正需要的是为了能够在操作中使用statsmodel(假设我可以首先以某种方式验证模型)是一种机制,用于在新数据到达时合并以便制作下一组预测。我希望能够在可用数据上拟合模型,对其进行选择,然后在下一个数据点可用时进行解开,并将其合并到更新的预测集中。目前,每当新数据可用时,我都必须重新调整模型,正如我所说,这需要很长时间。

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

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

1 个答案:

答案 0 :(得分:0)

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

偶尔会知道AIC对参数的数量过于宽松。我尝试将结果与BIC进行比较。

我还会调查您的数据是否具有某种季节性。例如,这些AR术语中的所有27个都不重要,你真的只需要滞后= 1,滞后= 24(例如)。对于每日季节性的小时数据可能就是这种情况。