使用 Python 进行 ARIMA 模型预测,训练好的model_fit模型进行180时间步预测,并与测试集实际值进行比较,输出预测误差,请提供程序示例
时间: 2024-03-24 10:39:52 浏览: 60
python实现ARIMA时间序列预测模型,附有示例数据以及完整流程的结果
5星 · 资源好评率100%
好的,下面是一个 Python 的程序示例,用于训练 ARIMA 模型并进行预测:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.arima_model import ARIMA
# 读取数据
data = pd.read_csv('data.csv', header=None, names=['value'])
train_data = data.iloc[:100]
test_data = data.iloc[100:]
# 训练 ARIMA 模型
model = ARIMA(train_data, order=(1, 1, 1))
model_fit = model.fit(disp=0)
# 进行预测
forecast, stderr, confidence_interval = model_fit.forecast(steps=180)
# 输出预测误差
error = np.mean(np.abs(test_data['value'] - forecast))
print('预测误差为:%.2f' % error)
# 可视化预测结果和实际值
plt.plot(test_data.reset_index(drop=True))
plt.plot(forecast)
plt.legend(['Actual', 'Forecast'])
plt.show()
```
这段代码中,我们首先读取了数据,将前100个数据作为训练集,后面的数据作为测试集。然后我们使用 ARIMA 模型训练了一个 order=(1, 1, 1) 的模型,并使用训练好的模型进行了180个时间步的预测,得到了预测值 forecast。最后,我们计算了预测误差并进行了可视化展示。
阅读全文