python中的SARIMAX定制

时间:2019-08-31 14:44:43

标签: python statsmodels

我有一个问题

为什么SARIMAX需要花费很多时间来执行?

数据长度仅为2200,如果我花点时间(24或168或365),则需要花费很多时间

同时,对于每月数据(2200个条目)周期为12,它并不需要太多时间!

有什么办法可以解决这个问题?

1 个答案:

答案 0 :(得分:1)

不幸的是,没有什么可以做的。通过SARIMAX模型进行的估算需要大量的矩阵运算,如果您有例如seasonal_order=(1, 0, 0, 365),那么您将拥有至少365 x 365的矩阵,如果您增加到seasonal_order=(1, 0, 0, 365),则您的矩阵至少应为730 x730。即使对于延迟时间较长的中等季节,操作将需要一些时间。

最近引入的一个选项(尚未发布,因此您必须安装来自Github的最新版本),可以在某种程度上进行改进:使用选项low_memory=True和{ {1}}。请记住两件事:

  • 没有必须执行的矩阵运算,因此不会有很大的提速。最好的情况可能是将速度提高10倍左右。
  • 这将限制您可以进行事后估算的工作。您仍然可以进行样本外预测,但不能进行样本内动态预测,并且不会看到估计参数的标准误差。