如何让 ARIMA 预测的不是下一次观察而是第 n 次观察?

时间:2021-05-30 19:40:00

标签: python time-series arima

我正在处理时间序列预测问题,我对 ARIMA 和时间序列很陌生,所以请耐心等待;)。实际上我的问题是,对于“标准”ARIMA,您使用训练集的一个子集来预测系列中的下一个观察结果(如果我没有错...),我想要的是: a) 使用固定数量的观察来预测输出,b) 不是预测系列中的下一个观察,而是预测固定数量的观察之后的观察(实际上我想提前 24 小时进行预测,所以在 24 小时之后) “位置”,因为我正在处理每小时数据)。这是我正在使用的代码,我应该如何修改它?

from statsmodels.tsa.arima_model import ARIMA
from sklearn.metrics import mean_squared_error
train, test = array(load[:'2018']), array(load['2019':'2019'])
history = [x for x in train]
predictions = list()
# walk-forward validation
for t in range(len(test)):
    model = ARIMA(history, order=(1,1,0))
    model_fit = model.fit()
    output = model_fit.forecast()
    yhat = output[0]
    predictions.append(yhat)
    obs = test[t]
    history.append(obs)
    print('predicted=%f, expected=%f, %f of %f' % (yhat, obs, t, len(test)))
# evaluate forecasts
rmse = sqrt(mean_squared_error(test, predictions))
print('Test RMSE: %.3f' % rmse)

0 个答案:

没有答案