0

我有一个以下数据框,其中列数一直到 2000 和 1000 行

索引日期 第 1 栏 第 2 栏 第 3 栏
2021-01-02 3.1 1.2 8.9
2021-01-03 2.9 4.8 6.7

我正在尝试在所有列上运行 auto-arima 并获取预测值。这就是我到目前为止所拥有的

```
    X = df.values
    train, test = X[1:len(X)-12], X[len(X)-12:]
    print(test)
    print(train)
    
    
    def find_orders(test):
    
        stepwise_model = auto_arima(train, start_p=1, start_q=1,
                          test='adf',       # use adftest to find optimal 'd'
                          max_p=3, max_q=3, # maximum p and q
                          m=1,              # frequency of series
                          d=None,           # let model determine 'd'
                          seasonal=False,   # No Seasonality
                          start_P=1, 
                          D=1, 
                          trace=True,
                          error_action='ignore',  
                          suppress_warnings=True, 
                          stepwise=True) # this works 
    
        return stepwise_model.order, stepwise_model.seasonal_order
    
    
    for column in test:
            order, seasonal_order = find_orders(test)
            fit_arimax(test, order=order, seasonal_order=seasonal_order)

```

我收到以下错误

Anaconda3\lib\site-packages\sklearn\utils\validation.py in column_or_1d(y, warn) 919 return np.ravel(y) 920 --> 921 raise ValueError( 922 "y 应该是一维数组," 923 "得到了一个形状 {} 的数组。".format(shape))

ValueError: y 应该是一个一维数组,得到一个形状为 (142, 4) 的数组。

关于我能做些什么来解决这个问题的任何想法。

提前致谢

4

0 回答 0