






基于双向门控循环单元(BiGRU)的车速预测模型,主要面向汽车行驶工况的时间序列预测任务
一、研究背景
车速预测在智能交通系统、混合动力汽车能量管理、驾驶辅助系统等领域具有重要意义。通过历史车速序列预测未来车速,可为车辆控制策略提供关键输入,从而提升燃油经济性、降低排放、优化驾驶体验。
二、主要功能
- 加载多个标准驾驶工况数据(如NEDC、UDDS、WLTC等),并可选择其中一个作为测试工况。
- 构建输入输出样本,采用滑动窗口方式生成多步预测的序列对。
- 构建并训练BiGRU神经网络,实现从历史车速到未来车速序列的映射。
- 评估模型性能,输出多项指标(RMSE、MAE、MAPE、R²、NSE、相关系数等)。
- 生成多种可视化图表,包括预测曲线、误差分布、残差分析、热力图、指标对比等。
- 保存模型评价结果,便于后续分析与对比。
三、算法步骤
-
数据加载与选择
加载多个工况数据集,根据参数选择测试工况。
-
样本构造
使用长度为
d的历史序列预测长度为p的未来序列,生成训练集与测试集。 -
数据预处理
使用
mapminmax将数据归一化到[0,1],便于神经网络训练。 -
BiGRU网络构建
定义包含输入层、GRU层、反向GRU层、拼接层、全连接层和回归层的网络结构。
-
模型训练
使用Adam优化器,设置最大轮数、学习率衰减等超参数,训练网络。
-
预测与反归一化
对测试集进行预测,并将结果反归一化回原始车速尺度。
-
评价指标计算
计算训练集与测试集的多种误差和相关性指标。
-
结果可视化与保存
绘制预测对比图、误差分布图、热力图、QQ图、自相关图等,并保存结果。
四、技术路线
- 模型架构:BiGRU(双向GRU),通过拼接正向与反向GRU的输出,捕捉序列的双向依赖关系。
- 训练策略:Adam优化器 + 学习率衰减 + 梯度裁剪。
- 数据划分:多工况拼接作为训练集,单一工况作为测试集。
- 评价体系:涵盖误差指标(RMSE、MAE、MAPE)、拟合指标(R²、NSE)、统计指标(相关系数、PBIAS)等。
五、公式原理
1. GRU 核心公式
GRU通过门控机制控制信息流动:
- 更新门 zt=σ(Wz⋅[ht−1,xt]z_t = \sigma(W_z \cdot [h_{t-1}, x_t]zt=σ(Wz⋅[ht−1,xt]
- 重置门 rt=σ(Wr⋅[ht−1,xt])r_t = \sigma(W_r \cdot [h_{t-1}, x_t])rt=σ(Wr⋅[ht−1,xt])
- 候选隐藏状态 h~t=tanh(W⋅[rt⊙ht−1,xt])\tilde{h}t = \tanh(W \cdot [r_t \odot h{t-1}, x_t])h~t=tanh(W⋅[rt⊙ht−1,xt])
- 最终隐藏状态 ht=(1−zt)⊙ht−1+zt⊙h~th_t = (1 - z_t) \odot h_{t-1} + z_t \odot \tilde{h}_tht=(1−zt)⊙ht−1+zt⊙h~t
2. BiGRU 结构
- 正向GRU:ht→=GRU(xt,ht−1→)\overrightarrow{h_t} = \text{GRU}(x_t, \overrightarrow{h_{t-1}})ht =GRU(xt,ht−1 )
- 反向GRU:ht←=GRU(xt,ht+1←)\overleftarrow{h_t} = \text{GRU}(x_t, \overleftarrow{h_{t+1}})ht =GRU(xt,ht+1 )
- 输出拼接:ht=[ht→;ht←]h_t = [\overrightarrow{h_t}; \overleftarrow{h_t}]ht=[ht ;ht ]
3. 评价指标
- RMSE :1n∑(yi−y^i)2\sqrt{\frac{1}{n} \sum (y_i - \hat{y}_i)^2}n1∑(yi−y^i)2
- R² :1−∑(yi−y^i)2∑(yi−yˉ)21 - \frac{\sum (y_i - \hat{y}_i)^2}{\sum (y_i - \bar{y})^2}1−∑(yi−yˉ)2∑(yi−y^i)2
- NSE:同 R² 形式
- MAPE :100%n∑∣yi−y^iyi∣\frac{100\%}{n} \sum \left| \frac{y_i - \hat{y}_i}{y_i} \right|n100%∑ yiyi−y^i
六、参数设定
| 参数名 | 值 | 说明 |
|---|---|---|
d |
5 | 输入序列长度 |
p |
5 | 输出序列长度 |
numHiddenUnits |
100 | BiGRU隐藏层单元数 |
MaxEpochs |
100 | 最大训练轮数 |
InitialLearnRate |
0.01 | 初始学习率 |
LearnRateDropPeriod |
50 | 学习率衰减周期 |
MiniBatchSize |
64 | 小批量大小 |
work_condition |
3 | 测试工况选择(WLTC) |
七、运行环境
- 软件:MATLAB2023b
八、应用场景
-
混合动力汽车能量管理
通过预测未来车速优化电池与发动机的工作点,提升燃油经济性。
-
自适应巡航控制(ACC)
预测前车或自车未来车速,辅助安全跟车与速度规划。
-
驾驶行为分析
结合车速预测评估驾驶风格,用于驾驶辅助系统或保险评分。
-
交通流预测
在智能交通系统中,用于短期交通状态预测。
总结
该代码实现了一个完整的BiGRU车速预测流程,从数据加载、模型构建、训练评估到结果可视化,结构清晰、指标全面,适合作为车辆工况预测研究的基础框架。