二次移动平均法交通量预测可视化及RMSE的代码
时间: 2024-01-26 13:01:52 浏览: 13
以下是基于Python的二次移动平均法交通量预测可视化及RMSE计算代码示例:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 加载数据集
data = pd.read_csv('traffic_volume.csv', parse_dates=['date_time'], index_col='date_time')
# 将数据按小时进行聚合
data_hourly = data.resample('H').sum()
# 计算一次移动平均值
data_hourly['MA1'] = data_hourly['traffic_volume'].rolling(window=24).mean()
# 计算二次移动平均值
data_hourly['MA2'] = data_hourly['MA1'].rolling(window=24).mean()
# 选择最近7天的数据进行预测
data_pred = data_hourly.tail(24 * 7)
# 绘制原始数据和预测结果
plt.plot(data_hourly.index, data_hourly['traffic_volume'], label='Original Data')
plt.plot(data_pred.index, data_pred['MA2'], label='Predicted Data')
plt.legend(loc='best')
plt.show()
# 计算RMSE
rmse = np.sqrt(((data_pred['MA2'] - data_pred['traffic_volume']) ** 2).mean())
print('RMSE:', rmse)
```
其中,`traffic_volume.csv`是包含交通量数据的CSV文件,`parse_dates`参数用于将时间列解析为日期时间类型,`index_col`参数用于将日期时间列设置为索引列。首先将数据按小时进行聚合,然后分别计算一次移动平均值和二次移动平均值,选择最近7天的数据进行预测并绘制原始数据和预测结果的图像,最后计算RMSE并输出。