pm AutoARIMA 找不到合适的模型
pm AutoARIMA no suitable models found
我正在尝试使用 pmdarima 的 AutoARIMA 创建季节性 ARIMA (SARIMA) 模型。这样做的原因是新数据将在项目的整个生命周期内变得可用,并且需要自动找到最佳时间序列模型的代码。不幸的是,我当前的代码似乎产生了垃圾:
import pmdarima as pm
import pandas as pd
train_data = pd.read_csv("test.csv", header=None, names=["Value"])["Value"]
model = pm.AutoARIMA(seasonal=True, m=168, trace=True)
model.fit(train_data.fillna(0))
输出(到目前为止,在大型服务器上经过一段时间后):
Performing stepwise search to minimize aic
ARIMA(2,1,2)(1,0,1)[168] intercept : AIC=inf, Time=4041.19 sec
ARIMA(0,1,0)(0,0,0)[168] intercept : AIC=-35451.160, Time=1.07 sec
ARIMA(1,1,0)(1,0,0)[168] intercept : AIC=inf, Time=15118.06 sec
ARIMA(0,1,1)(0,0,1)[168] intercept : AIC=-35951.886, Time=3805.77 sec
ARIMA(0,1,0)(0,0,0)[168] : AIC=-35453.123, Time=0.56 sec
ARIMA(0,1,1)(0,0,0)[168] intercept : AIC=-35723.198, Time=2.69 sec
ARIMA(0,1,1)(1,0,1)[168] intercept : AIC=inf, Time=61326.67 sec
ARIMA(0,1,1)(0,0,2)[168] intercept : AIC=inf, Time=39971.60 sec
ARIMA(0,1,1)(1,0,0)[168] intercept : AIC=-36054.745, Time=4211.60 sec
ARIMA(0,1,1)(2,0,0)[168] intercept : AIC=-36344.782, Time=30668.84 sec
数据有两种季节性模式(一种是每天一次,一种是每周一次)。包括每日模式会产生合理的结果(使用 m=24
),但每周往往会导致 AIC=inf
,如上例所示。
问题似乎是 pmdarima 在一段时间后超时并插入一个 inf 的 AIC 作为非计算 AIC 的替代品。我最终进行了常规分析,并选择了一个稍微过大的 SARIMA 模型,该模型需要更长的时间来拟合,但肯定包括所有相关的影响。
我正在尝试使用 pmdarima 的 AutoARIMA 创建季节性 ARIMA (SARIMA) 模型。这样做的原因是新数据将在项目的整个生命周期内变得可用,并且需要自动找到最佳时间序列模型的代码。不幸的是,我当前的代码似乎产生了垃圾:
import pmdarima as pm
import pandas as pd
train_data = pd.read_csv("test.csv", header=None, names=["Value"])["Value"]
model = pm.AutoARIMA(seasonal=True, m=168, trace=True)
model.fit(train_data.fillna(0))
输出(到目前为止,在大型服务器上经过一段时间后):
Performing stepwise search to minimize aic
ARIMA(2,1,2)(1,0,1)[168] intercept : AIC=inf, Time=4041.19 sec
ARIMA(0,1,0)(0,0,0)[168] intercept : AIC=-35451.160, Time=1.07 sec
ARIMA(1,1,0)(1,0,0)[168] intercept : AIC=inf, Time=15118.06 sec
ARIMA(0,1,1)(0,0,1)[168] intercept : AIC=-35951.886, Time=3805.77 sec
ARIMA(0,1,0)(0,0,0)[168] : AIC=-35453.123, Time=0.56 sec
ARIMA(0,1,1)(0,0,0)[168] intercept : AIC=-35723.198, Time=2.69 sec
ARIMA(0,1,1)(1,0,1)[168] intercept : AIC=inf, Time=61326.67 sec
ARIMA(0,1,1)(0,0,2)[168] intercept : AIC=inf, Time=39971.60 sec
ARIMA(0,1,1)(1,0,0)[168] intercept : AIC=-36054.745, Time=4211.60 sec
ARIMA(0,1,1)(2,0,0)[168] intercept : AIC=-36344.782, Time=30668.84 sec
数据有两种季节性模式(一种是每天一次,一种是每周一次)。包括每日模式会产生合理的结果(使用 m=24
),但每周往往会导致 AIC=inf
,如上例所示。
问题似乎是 pmdarima 在一段时间后超时并插入一个 inf 的 AIC 作为非计算 AIC 的替代品。我最终进行了常规分析,并选择了一个稍微过大的 SARIMA 模型,该模型需要更长的时间来拟合,但肯定包括所有相关的影响。