SARIMA模型交通量预测实例
时间: 2023-10-02 21:12:04 浏览: 83
下面是一个使用SARIMA模型进行交通量预测的实例:
1. 数据准备
首先,我们需要准备交通量数据。这里使用的是一个包含每天车辆通过的总数的数据集。数据集可以在这里下载到。
2. 数据预处理
我们需要将数据转换为时间序列,并将其拆分为训练集和测试集。
```python
import pandas as pd
traffic_data = pd.read_csv('traffic_volume.csv', parse_dates=['date_time'])
traffic_data = traffic_data.set_index('date_time')['traffic_volume']
train_data = traffic_data[:'2018-09-30']
test_data = traffic_data['2018-10-01':]
```
3. 模型拟合
我们使用pmdarima库中的auto_arima函数来自动拟合SARIMA模型。
```python
from pmdarima.arima import auto_arima
model = auto_arima(train_data, seasonal=True, m=7)
```
4. 预测
我们使用拟合好的模型来进行交通量的预测。
```python
forecast = model.predict(n_periods=len(test_data))
test_data = test_data.to_frame()
test_data['forecast'] = forecast
```
5. 结果展示
最后,我们可以将预测结果与测试集数据进行比较,并绘制出预测结果的图表。
```python
import matplotlib.pyplot as plt
plt.plot(train_data.index, train_data.values, label='Training Data')
plt.plot(test_data.index, test_data['traffic_volume'], label='Test Data')
plt.plot(test_data.index, test_data['forecast'], label='Forecast')
plt.legend(loc='upper left', fontsize=8)
plt.show()
```
预测结果图表如下所示:
![traffic_volume_prediction](https://i.imgur.com/rlQ2r2P.png)
从图表中可以看出,预测结果与测试集数据比较接近,并且模型能够捕捉到时间序列中的季节性和趋势性。
阅读全文