我想使用fit
函数或类似方法将SARIMA
模型与数据上的non-zero mean
配合起来。
我有一个从1949-01到1960-12的每月国际航空旅客数据。我想使用python来拟合最佳模型,而该模型无法像r中的函数那样依靠快速可靠的auto.arima
。然后,我在auto.arima
中使用r
函数来获得最佳模型,但由于附加了nom-constant mean
而无法在python上拟合该模型。我已经将p, d, q, P, D, Q
固定在适当的位置,如下面的代码所示。
我从r
auto.arima输出ARIMA(2,0,1) with non-zero mean
那里得到了这个
r
的{{1}}输出
auto.arima
数据
ARIMA(0,0,0)(0,1,0)[12] with drift
Coefficients:
drift
3.9653
s.e. 0.2605
包装
data = [112, 118, 132, 129, 121, 135, 148, 148, 136, 119, 104, 118, 115,
126, 141, 135, 125, 149, 170, 170, 158, 133, 114, 140, 145, 150,
178, 163, 172, 178, 199, 199, 184, 162, 146, 166, 171, 180, 193,
181, 183, 218, 230, 242, 209, 191, 172, 194, 196, 196, 236, 235,
229, 243, 264, 272, 237, 211, 180, 201, 204, 188, 235, 227, 234,
264, 302, 293, 259, 229, 203, 229, 242, 233, 267, 269, 270, 315,
364, 347, 312, 274, 237, 278, 284, 277, 317, 313, 318, 374, 413,
405, 355, 306, 271, 306, 315, 301, 356, 348, 355, 422, 465, 467,
404, 347, 305, 336, 340, 318, 362, 348, 363, 435, 491, 505, 404,
359, 310, 337, 360, 342, 406, 396, 420, 472, 548, 559, 463, 407,
362, 405, 417, 391, 419, 461, 472, 535, 622, 606, 508, 461, 390,
432]
健身功能
import statsmodels
import statsmodels.api as sm
from statsmodels.tsa.stattools import coint, adfuller
我知道mod = sm.tsa.statespace.SARIMAX(data,
order=(2,1,1),
seasonal_order=(0,1,0,12),
enforce_stationarity=False,
enforce_invertibility=False)
results = mod.fit()
print(results.summary().tables[1])
的适合位置,但不知道如何处理ARIMA(2,1,1)(0,1,0)[12]
漂移
3.9653
s.e. 0.2605