Я строю модель ARIMA для прогнозирования полета. У меня есть данные за 10 лет, и я хочу предсказать исторические полеты. Я сделал модель ARIMA, но продолжаю получать сообщение об ошибке: «endog требуется иметь ndim 1, но имеет ndim 2».
Вот код:
df = read_excel('dataset.xlsx')
df = df[['Year', 'Historical Flights','Country GDP']]
print(df.head())
X = df.iloc[:, :].values
size = int(len(X) * 0.66)
train, test = X[0:size], X[size:len(X)]
history = [x for x in train]
predictions = list()
for t in range(len(test)):
model = ARIMA(history, order=(2,1,2))
model_fit = model.fit(disp=0)
output = model_fit.forecast()
yhat = output[0]
predictions.append(yhat)
obs = test[t]
history.append(obs)
print('predicted=%f, expected=%f' % (yhat, obs))
error = mean_squared_error(test, predictions)
print('Test MSE: %.3f' % error)