【问题标题】:Get this error "ValueError: Encountered exception in stationarity test ('adf')" during training arima model在训练 arima 模型期间收到此错误“ValueError: Encountered exception in stationarity test (\'adf\')\”
【发布时间】:2022-10-14 06:46:49
【问题描述】:

我试图训练一个 arima 模型,但我得到了这个错误。

ValueError: Encountered exception in stationarity test ('adf'). This can occur in seasonal 
settings when a large enough `m` coupled with a large enough `D` difference the training 
array into too few samples for OLS (input contains 7 samples). Try fitting on a larger 
training size (raised from LinAlgError: Singular matrix)

这是我的代码:

auto_model = pm.auto_arima(
            train_data.Qty,
            start_p=1,
            start_q=1,
            test='adf',
            max_p=3,
            max_q=3,
            m=1,
            d=None,
            seasonal=False,
            start_P=0,
            D=0,
            trace=True,
            error_action="ignore",
            suppress_warnings=True,
            stepwise=True,
            return_valid_fits=False,
        )
p = 1
d = 1
q = 1
arima_order = (p, d, q)
auto_model_fit = auto_model.fit(train_data.Qty)
auto_predict = auto_model_fit.predict(n_periods=CS.PREDEICT_MONTHS)
model = sm.tsa.SARIMAX(train_data.Qty, trend='c', order=arima_order,enforce_stationarity=False, enforce_invertibility=False)
# model = ARIMA(train_data.Qty, order=(p, d, q))
model_fit = model.fit()

adjust_pre = model_fit.predict(start=0, end=30, dynamic=False)
adjust_pre.drop(index=0, inplace=True)
adjust_pre.reset_index(drop=True, inplace=True)

训练数据是 24 个月的销售额,训练大小的长度是 24,我想预测未来 6 个月的销售额,但我得到了上面的错误。谁能帮我解决这个问题?

【问题讨论】:

    标签: python machine-learning time-series statsmodels arima


    【解决方案1】:

    我遇到了同样的问题,发现 adf 作为平稳性测试会出现一些奇怪的错误。您可以尝试将 kpss 作为测试,如 test='kpss'。

    【讨论】:

      猜你喜欢
      • 2022-10-15
      • 2019-08-02
      • 2022-10-22
      • 1970-01-01
      • 2023-02-06
      • 1970-01-01
      • 2019-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多