【问题标题】:Auto ARIMA for multiple series gives " ValueError : Encountered exception in stationarity test ('adf') "多个系列的自动 ARIMA 给出 \" ValueError : Encountered exception in stationarity test (\'adf\') \"
【发布时间】:2022-10-15 22:31:33
【问题描述】:

我有一个包含 109 行和 96 列的时间序列数据框。我一直在尝试通过遍历每一列来在数据帧上实现 Auto 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 109 samples). Try fitting on a larger 
training size (raised from LinAlgError: Singular matrix) "

代码:

series = df_main_scaled.columns    
for col in series:
    print("Auto Arima for : ",{col})
    model = pm.auto_arima(df[col], start_p=1, start_q=1,
                        test='adf',
                        max_p=4, max_q=4,
                        m=1,             
                        d=None,          
                        trace=True,
                        error_action='ignore',  
                        suppress_warnings=True, 
                        stepwise=True)
    print(model.aic())
    model.summary()

【问题讨论】:

    标签: python pandas dataframe arima pmdarima


    【解决方案1】:

    只有 1 的季节性 (m) 没有任何意义。季节性意味着您的时间序列中反复出现的模式(例如,几个月内温度的上升和下降),但单个观察不能具有这样的模式。当然,您需要删除m 或设置更高的值,具体取决于您的数据。

    【讨论】:

      猜你喜欢
      • 2022-10-14
      • 2015-06-01
      • 1970-01-01
      • 2022-11-27
      • 1970-01-01
      • 1970-01-01
      • 2021-09-14
      • 2022-01-23
      • 2021-11-15
      相关资源
      最近更新 更多