


一、研究背景
单一机器学习模型(如GRU、BP、SVR)在处理复杂回归问题时各有优劣:GRU擅长捕捉时序依赖,BP具有强非线性拟合能力,SVR在小样本下泛化性能好。为综合各模型优势、提升预测精度与稳定性,提出GRU-BP-SVR加权组合预测模型,通过优化权重实现多模型融合。
二、主要功能
- 构建并训练GRU、BP、SVR三个独立回归模型;
- 基于验证集RMSE最小化原则,采用**约束优化(fmincon)**求解三个模型预测结果的加权系数;
- 对比四个模型(三个单模型+组合模型)在测试集上的RMSE、MAE、R²指标;
- 提供丰富的可视化图表:预测曲线对比、指标柱状图、散点相关性图、残差分析、误差分布、权重优化等高线、雷达图等;
- 保存训练好的模型及性能数据,导出Excel报告。
三、算法步骤
1. 数据准备
- 读取Excel数据(多输入单输出);
- 随机打乱,按7:1.5:1.5划分训练/验证/测试集;
- 归一化至[-1,1](mapminmax);
- 为GRU构造滑动窗口序列(长度由样本数自适应)。
2. GRU模型
- 架构:双向GRU + BN + Dropout + 全连接;
- 训练:Adam优化器,学习率衰减,验证集早停。
3. BP模型
- 单隐层前馈网络,使用贝叶斯正则化(trainbr);
- 训练:200轮,学习率0.001。
4. SVR模型
- 高斯核函数;
- 超参数(BoxConstraint、KernelScale、Epsilon)通过贝叶斯优化选取;
- 若优化失败则使用MATLAB自动优化。
5. 加权组合模型
- 目标函数:
min RMSE_val(w1·GRU_pred + w2·BP_pred + w3·SVR_pred) - 约束条件:
w1 + w2 + w3 = 1, w_i ≥ 0 - 求解算法:
fmincon(内点法)
6. 评估与可视化
- 计算RMSE、MAE、R²;
- 生成四模型对比图、误差分布图、雷达图等。
四、技术路线
数据读取与划分 → 归一化 →
├─ GRU:序列化 → 双向GRU网络训练
├─ BP:特征矩阵 → 贝叶斯正则化BP训练
├─ SVR:特征矩阵 → 贝叶斯优化SVR训练
└─ 组合:fmincon权重优化 → 加权集成
→ 性能对比与可视化 → 模型保存与结果导出
五、核心公式原理
1. 加权组合预测
y^comb=wGRU⋅y^GRU+wBP⋅y^BP+wSVR⋅y^SVR \hat{y}{\text{comb}} = w{\text{GRU}} \cdot \hat{y}{\text{GRU}} + w{\text{BP}} \cdot \hat{y}{\text{BP}} + w{\text{SVR}} \cdot \hat{y}_{\text{SVR}} y^comb=wGRU⋅y^GRU+wBP⋅y^BP+wSVR⋅y^SVR
其中权重满足:
wi≥0,∑i=13wi=1 w_i \ge 0,\quad \sum_{i=1}^3 w_i = 1 wi≥0,i=1∑3wi=1
2. 优化目标
在验证集上最小化均方根误差:
minw1n∑j=1n(yjtrue−y^comb,j)2 \min_{\mathbf{w}} \sqrt{\frac{1}{n}\sum_{j=1}^n \left( y_j^{\text{true}} - \hat{y}_{\text{comb},j} \right)^2 } wminn1j=1∑n(yjtrue−y^comb,j)2
3. 评价指标
- RMSE :1n∑(yi−y^i)2\sqrt{\frac{1}{n}\sum (y_i - \hat{y}_i)^2}n1∑(yi−y^i)2
- MAE :1n∑∣yi−y^i∣\frac{1}{n}\sum |y_i - \hat{y}_i|n1∑∣yi−y^i∣
- 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
六、参数设定
| 模型 | 关键参数 | 设定值 |
|---|---|---|
| GRU | 网络层 | BiGRU(64)→GRU(32)→FC(32)→FC(16)→FC(1) |
| Dropout | 0.2、0.1 | |
| 优化器 | Adam,初始LR=0.001,每50轮×0.5 | |
| 批大小 | 16(小样本自适应) | |
| 序列长度 | 5/8/10(依样本数自动选择) | |
| BP | 隐层神经元 | 15 |
| 训练算法 | trainbr(贝叶斯正则化) | |
| 学习率 | 0.001 | |
| 最大迭代 | 200 | |
| SVR | 核函数 | 高斯核 |
| 参数寻优 | 贝叶斯优化(30次评估)或自动优化 | |
| 组合 | 优化算法 | fmincon,内点法 |
| 初始权重 | [0.3, 0.4, 0.3] | |
| 约束 | 权重和为1,非负 |
七、运行环境
- 软件平台:MATLAB R2020b 及以上
八、应用场景
该组合模型适用于多输入单输出的回归预测任务,尤其当数据兼具时序性与非线性特征时。典型场景包括:
- 工业过程软测量(如化工反应产物浓度预测)
- 金融时间序列预测(如股票收盘价)
- 能源负荷/电力负荷预测
- 气象要素预测(温度、风速)
- 生物医学信号参数回归
模型兼顾了时序依赖(GRU)、非线性映射(BP)和小样本稳健性(SVR),通过加权集成进一步提升精度与鲁棒性。