SARIMAX模型在statsmodels中拟合太慢

dar*_*der 6 time-series statsmodels grid-search

我正在尝试使用statsmodels中的方法通过拟合SARIMAX(p,d,q)x(P,D,Q,s)模型来进行网格搜索以执行模型选择SARIMAX()。我确实将d和设置D为1和s7,并迭代pin {0, 1}qin {0, 1, 2}Pin {0, 1}Qin {0, 1}和中的值trend in的值{None, 'c'},总共进行了48次迭代。在模型拟合阶段,如果参数的任何组合导致了非平稳或不可逆模型,我将转到下一个参数组合。

我有一组时间序列,每个序列代表一个代理随时间变化的性能,由83个(每日)测量值和一个每周的季节性组成。我保留了90%的数据用于模型拟合,剩下的10%用于预测/测试。

我发现,在网格搜索过程中进行模型拟合需要花费很长时间,大约需要11 分钟,而对于一对代理来说,而相同的48次迭代所花费的时间则要少得多,不到10

但是,如果在执行网格搜索之前,我对与分析花费很长时间的代理相对应的数据进行了日志转换,则相同的48次迭代大约需要15 !但是,尽管我喜欢加速因子,但与使用原始(即未经对数转换的)数据的情况相比,最终的预测结果却较差。因此,我宁愿将数据保留为原始格式。

我的问题如下:在某些时间段内导致这种速度变慢的原因是什么?有没有一种方法可以通过给定SARIMAX()SARIMAX.fit()某些参数来加快模型拟合的速度?我试过了simple_differencing = True,在状态空间中构造一个较小的模型,将时间从11分钟减少到6分钟,但这仍然太长。

我将不胜感激。