Python实现ARIMA滚动多步预测代码
时间: 2023-11-19 11:03:00 浏览: 192
以下是 Python 实现 ARIMA 滚动多步预测的示例代码:
```python
import pandas as pd
from statsmodels.tsa.arima.model import ARIMA
# 加载数据
data = pd.read_csv('data.csv', index_col=0, parse_dates=True)
# 设置参数
p = 2
d = 1
q = 2
# 训练模型
model = ARIMA(data, order=(p, d, q))
model_fit = model.fit()
# 滚动多步预测
predictions = []
for i in range(12):
# 获取最后一个时间点的值
last_value = data.iloc[-1][0]
# 预测下一个时间点的值
forecast = model_fit.forecast()[0]
# 添加到预测列表中
predictions.append(forecast)
# 将预测值添加到原始数据中
data = data.append(pd.DataFrame({'value': forecast}, index=[data.index[-1] + pd.DateOffset(months=1)]))
# 重新训练模型
model_fit = ARIMA(data, order=(p, d, q)).fit()
# 输出预测结果
print(predictions)
```
在这个示例中,我们使用了 `statsmodels` 库中的 `ARIMA` 模型进行滚动多步预测。首先,我们加载原始数据并设置 ARIMA 模型的参数,然后训练模型并开始滚动多步预测。在每个时间点,我们使用模型预测下一个时间点的值,并将其添加到预测列表中。同时,我们将预测值添加到原始数据中,并重新训练模型。最后,输出预测结果。
阅读全文