为什么SARIMA有季节性限制?

问题描述 投票:0回答:1

原始的ARMA算法具有以下公式:

“马”

在这里您可以看到,ARMA需要p + q + 1个数字进行计算。因此,毫无疑问,这很清楚。

但是谈论SARIMA算法,我无法理解一件事。 SARIMA公式类似于带有exta的ARMA:

“SARIMA”

其中S是代表季节性的数字。 S是常量。

因此,SARIMA必须计算p + q + P + Q + 1个数字。仅计算P + Q个数字。如果P = 1且Q = 2,则不会太大。

但是,如果我们使用的时间太长,例如每天365天,那么SARIMA就无法停止拟合。看这个模型。第一个需要9秒钟才能适应,而第二个2小时后还没有完成拟合!

import statsmodels.api as sm

model = sm.tsa.statespace.SARIMAX(
    df.meantemp_box, 
    order=(1, 0, 2),
    seasonal_order=(1, 1, 1, 7)
).fit()

model = sm.tsa.statespace.SARIMAX(
    df.meantemp_box, 
    order=(1, 0, 2),
    seasonal_order=(1, 1, 1, 365)
).fit()

而且我听不懂。从数学上讲,这些模型是相同的-它们都采用相同的p,q,P

Q。但是第二个要么花太长时间学习,要么根本无法学习。

我做错什么了吗?

原始的ARMA算法具有以下公式:在这里您可以看到,ARMA需要p + q + 1个数字来进行计算。因此,毫无疑问,这很清楚。但是说话...

python time-series statsmodels arima
1个回答
1
投票

首先,一个可能的解决方案:如果您使用的是Statsmodels v0.11或开发版本,则在具有长期季节性影响时可以使用以下选项:

© www.soinside.com 2019 - 2024. All rights reserved.