季节性时间序列预测代码
时间: 2023-09-15 14:23:11 浏览: 88
季节性预测代码matlab-ECOTOOL:用于时间序列分析和预测的新工具箱
以下是一个简单的季节性时间序列预测的 Python 代码示例,使用 ARIMA 模型:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.arima_model import ARIMA
# 读取数据
data = pd.read_csv('data.csv', header=0, parse_dates=[0], index_col=0, squeeze=True)
# 拆分训练集和测试集
train_data = data[:'2019']
test_data = data['2020':]
# 拟合 ARIMA 模型
model = ARIMA(train_data, order=(1, 1, 1))
model_fit = model.fit(disp=0)
# 预测
predictions = model_fit.forecast(steps=len(test_data))[0]
# 计算误差
mse = np.mean((predictions - test_data) ** 2)
print('Mean Squared Error:', mse)
# 绘制预测结果图表
plt.plot(train_data, label='Train')
plt.plot(test_data, label='Test')
plt.plot(test_data.index, predictions, label='Predicted')
plt.legend(loc='best')
plt.show()
```
在这个示例中,我们使用了一个名为 `data.csv` 的时间序列数据集,并将其读入为 Pandas DataFrame 对象。然后,我们将数据集拆分为训练集和测试集,并使用 ARIMA 模型进行拟合。最后,我们使用拟合的模型进行预测,并计算了预测误差。最后,我们将训练集、测试集和预测结果绘制在同一个图表上,以便对预测结果进行可视化比较。
阅读全文