基于改进鲸鱼优化算法的CNN-BiLSTM-MATT短期电力负荷预测模型
摘要:短期电力负荷预测是智能电网调度与运行的核心技术之一。本文提出一种融合改进鲸鱼优化算法(IWOA)、卷积神经网络(CNN)、双向长短期记忆网络(BiLSTM)和多头注意力机制(Multi-Head Attention)的混合预测模型------IWOA-CNN-BiLSTM-MATT。该模型通过IWOA自动优化网络超参数,利用CNN提取负荷序列的局部时空特征,借助BiLSTM捕捉双向时序依赖关系,并引入多头注意力机制对不同时间步的重要程度进行自适应加权,最终实现对短期电力负荷的高精度预测。
一、研究背景
随着新型电力系统的加速构建,可再生能源的大规模并网使得电网负荷呈现更强的波动性和不确定性。传统的负荷预测方法(如ARIMA、多元线性回归)难以有效捕捉负荷序列中的非线性、非平稳和多尺度特征。近年来,深度学习在时间序列预测领域取得了显著进展,CNN擅长提取局部特征,LSTM能够建模长期依赖,注意力机制则赋予了模型关注关键时间点的能力。
然而,深度学习模型的性能高度依赖于超参数的合理设定。手动调参不仅耗时低效,且难以达到全局最优。鲸鱼优化算法(Whale Optimization Algorithm, WOA)作为一种高效的群智能优化算法,在参数寻优方面展现出良好潜力,但标准WOA存在收敛速度慢、易陷入局部最优等不足。为此,本文引入多项策略对WOA进行改进(IWOA),并将其用于自动搜索CNN-BiLSTM-MATT模型的最优超参数组合,显著提升预测精度。
二、技术路线与模型架构

2.1 整体技术路线
本模型的技术路线可概括为以下五个阶段:
- 数据采集与预处理:收集区域电力负荷数据及对应气象数据(温度、湿度、风速等),进行数据清洗与归一化。
- 时序特征构建:采用滑动窗口法构建监督学习样本,利用历史多时间步的气象和负荷数据预测未来负荷。
- IWOA超参数优化:以最小化训练集RMSE为适应度函数,利用改进鲸鱼优化算法搜索CNN-BiLSTM-MATT模型的最优学习率、隐藏层节点数和L2正则化系数。
- 深度学习建模与训练:基于最优超参数构建CNN-BiLSTM-MATT网络,采用Adam优化器进行模型训练。
- 预测评估与可视化:在测试集上进行预测,计算R²、MAE、MAPE、RMSE等多项评价指标,并绘制预测对比图和误差分布图。
2.2 模型网络架构

IWOA-CNN-BiLSTM-MATT模型的网络结构由以下组件按序堆叠而成:
| 层序号 | 层名称 | 关键参数 | 功能说明 |
|---|---|---|---|
| 1 | Sequence Input | 输入维度 [f_, 1, 1] |
接收时序输入特征 |
| 2 | Sequence Folding | --- | 将序列数据折叠为图像格式,供CNN处理 |
| 3 | Conv2D + ReLU | 16个滤波器,核大小 3,1 | 第一层卷积,提取局部特征 |
| 4 | Conv2D + ReLU | 32个滤波器,核大小 3,1 | 第二层卷积,提取深层特征 |
| 5 | Sequence Unfolding | --- | 将图像格式还原为序列格式 |
| 6 | Flatten | --- | 将特征图展平 |
| 7 | BiLSTM | 隐藏层节点数由IWOA优化 | 双向长短期记忆层,捕捉时序双向依赖 |
| 8 | Multi-Head Attention | 4个注意力头,每个头256维 | 多头注意力机制,自适应权重分配 |
| 9 | Fully Connected | 输出维度=1 | 全连接层,输出预测负荷值 |
| 10 | Regression | --- | 回归损失层 |
该架构的设计逻辑是:CNN提取空间维度上的多变量交互特征 → BiLSTM建模时间维度上的双向长程依赖 → 多头注意力对不同时间步进行差异化加权 → 全连接层回归输出,形成了"时空特征提取+注意力聚焦"的完整表征学习管线。
三、算法原理与公式推导
3.1 改进鲸鱼优化算法(IWOA)
WOA模拟座头鲸的螺旋气泡网捕食行为,包含三种搜索策略:包围猎物、气泡网攻击和随机搜索。本文从以下四个方面对标准WOA进行改进:
(1)准反向种群初始化
标准WOA采用纯随机初始化,种群分布可能不均匀。IWOA引入准反向学习(Quasi-Oppositional Learning)策略:首先生成随机种群 PFP_FPF,再计算其反向种群:
Pback=ub+lb−PFP_{back} = ub + lb - P_FPback=ub+lb−PF
进一步在反向点与搜索空间中心之间进行准反向采样,生成准反向种群 PQOBP_{QOB}PQOB。从合并种群中择优选取初始个体,有效提升初始解的多样性和质量。
(2)非线性收敛因子
标准WOA中收敛因子 aaa 从2线性递减至0,难以平衡全局探索与局部开发。IWOA采用正弦非线性收敛因子:
a=2−sin(t⋅π2⋅Max_iter)a = 2 - \sin\left(\frac{t \cdot \pi}{2 \cdot Max\_iter}\right)a=2−sin(2⋅Max_itert⋅π)
该策略使算法在前期保持较大 aaa 值以增强全局探索,后期加速收敛以精细化局部搜索。
(3)自适应惯性权重
在位置更新中引入自适应权重 www,使种群在迭代初期具有更强的探索能力,后期则侧重局部精细搜索:
w=1−et/Max_iter−1e−1w = 1 - \frac{e^{t/Max\_iter} - 1}{e - 1}w=1−e−1et/Max_iter−1
更新后的包围猎物位置公式为:
X(t+1)=w⋅X∗(t)−A⋅∣C⋅X∗(t)−X(t)∣X(t+1) = w \cdot X^*(t) - A \cdot |C \cdot X^*(t) - X(t)|X(t+1)=w⋅X∗(t)−A⋅∣C⋅X∗(t)−X(t)∣
其中 X∗(t)X^*(t)X∗(t) 为当前最优解,A=2a⋅r1−aA = 2a \cdot r_1 - aA=2a⋅r1−a,C=2r2C = 2r_2C=2r2,r1,r2∈0,1r_1, r_2 \in 0,1r1,r2∈0,1。
(4)随机差分变异
每次迭代后对每个个体执行随机差分变异操作:
Xmut=r1⋅(Xbest−Xi)+r2⋅(Xrand−Xi)X_{mut} = r_1 \cdot (X_{best} - X_i) + r_2 \cdot (X_{rand} - X_i)Xmut=r1⋅(Xbest−Xi)+r2⋅(Xrand−Xi)
若变异后的个体适应度优于原个体,则替换原个体。此策略增强了种群多样性,降低了陷入局部最优的风险。
3.2 卷积神经网络(CNN)
CNN通过卷积核在输入数据上滑动进行局部感知,提取平移不变特征。本文采用两层一维卷积(Conv2D核大小 3,1),公式为:
hjl=ReLU(∑iwijl∗xil−1+bjl)h_{j}^{l} = \text{ReLU}\left(\sum_{i} w_{ij}^{l} * x_i^{l-1} + b_j^{l}\right)hjl=ReLU(i∑wijl∗xil−1+bjl)
其中 ∗*∗ 为卷积操作,ReLU激活函数 f(x)=max(0,x)f(x) = \max(0, x)f(x)=max(0,x) 引入非线性。
3.3 双向长短期记忆网络(BiLSTM)
BiLSTM由正向LSTM和反向LSTM组成,同时捕捉序列的前向和后向依赖:
ht=ht→;ht←h_t = \\overrightarrow{h_t}; \\overleftarrow{h_t}ht=ht ;ht
LSTM单元的遗忘门、输入门和输出门分别控制信息的流动:
ft=σ(Wf⋅ht−1,xt+bf)f_t = \sigma(W_f \cdot h_{t-1}, x_t + b_f)ft=σ(Wf⋅ht−1,xt+bf)
it=σ(Wi⋅ht−1,xt+bi)i_t = \sigma(W_i \cdot h_{t-1}, x_t + b_i)it=σ(Wi⋅ht−1,xt+bi)
ot=σ(Wo⋅ht−1,xt+bo)o_t = \sigma(W_o \cdot h_{t-1}, x_t + b_o)ot=σ(Wo⋅ht−1,xt+bo)
C~t=tanh(WC⋅ht−1,xt+bC)\tilde{C}_t = \tanh(W_C \cdot h_{t-1}, x_t + b_C)C~t=tanh(WC⋅ht−1,xt+bC)
Ct=ft⊙Ct−1+it⊙C~tC_t = f_t \odot C_{t-1} + i_t \odot \tilde{C}_tCt=ft⊙Ct−1+it⊙C~t
ht=ot⊙tanh(Ct)h_t = o_t \odot \tanh(C_t)ht=ot⊙tanh(Ct)
3.4 多头注意力机制(Multi-Head Attention)
多头注意力机制允许模型同时关注不同表示子空间的信息,公式如下:
对于每个注意力头 kkk:
Qk=X⋅WkQ,Kk=X⋅WkK,Vk=X⋅WkVQ_k = X \cdot W_k^Q, \quad K_k = X \cdot W_k^K, \quad V_k = X \cdot W_k^VQk=X⋅WkQ,Kk=X⋅WkK,Vk=X⋅WkV
Similarityk=Sigmoid(Qk⊙Kk)\text{Similarity}_k = \text{Sigmoid}(Q_k \odot K_k)Similarityk=Sigmoid(Qk⊙Kk)
Zk=Similarityk⊙VkZ_k = \text{Similarity}_k \odot V_kZk=Similarityk⊙Vk
将所有注意力头的输出拼接并通过输出投影矩阵:
Z=Concat(Z1,Z2,...,Zh)⋅WOZ = \text{Concat}(Z_1, Z_2, ..., Z_h) \cdot W^OZ=Concat(Z1,Z2,...,Zh)⋅WO
本文采用4个注意力头(Num_Head = 4),每个头的隐层维度为256,使用Sigmoid函数激活注意力得分矩阵。
3.5 适应度函数
IWOA优化的目标是最小化训练集上的均方根误差(RMSE):
Fitness=RMSE=1n∑i=1n(y^i−yi)2\text{Fitness} = RMSE = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(\hat{y}_i - y_i)^2}Fitness=RMSE=n1i=1∑n(y^i−yi)2
其中 y^i\hat{y}_iy^i 为预测值,yiy_iyi 为真实值,nnn 为训练样本数。
四、参数设定
4.1 IWOA优化参数
| 参数名称 | 设定值 | 说明 |
|---|---|---|
| 种群规模 (pop) | 8 | 搜索代理数量 |
| 最大迭代次数 (Max_iter) | 5 | 优化迭代次数 |
| 优化参数维度 (dim) | 3 | 学习率、隐藏层节点数、L2系数 |
| 学习率搜索范围 (lb~ub) | 1e-3, 1e-2 | Adam初始学习率 |
| 隐藏层节点搜索范围 (lb~ub) | 10, 30 | BiLSTM隐藏层节点数 |
| L2系数搜索范围 (lb~ub) | 1e-4, 1e-1 | L2正则化系数 |
4.2 深度学习训练参数
| 参数名称 | 设定值 | 说明 |
|---|---|---|
| 优化器 | Adam | 自适应矩估计 |
| 最大训练轮数 (Epochs) | 10 | 训练迭代轮次 |
| 批量大小 (BatchSize) | 96 | 每批训练样本数(匹配每日96个时间点) |
| 学习率调度策略 | Piecewise | 分段常数衰减 |
| 学习率衰减因子 | 0.1 | 每400轮学习率降为原来的0.1倍 |
| 数据打乱 | Every-epoch | 每轮训练前随机打乱数据 |
4.3 数据预处理参数
| 参数名称 | 设定值 | 说明 |
|---|---|---|
| 时间步长 (kim) | 4 | 利用历史4个时间步的数据预测 |
| 预测跨度 (zim) | 1 | 预测未来1个时间步的负荷 |
| 训练集比例 | 70% | 按时间顺序划分 |
| 归一化方法 | Mapminmax | 归一化至0, 1区间 |
| 输入特征维度 | 24 | 6个特征 × 4个时间步 |
4.4 数据概况
- 负荷数据:366天 × 96个时间点/天(15分钟分辨率),共35,136条负荷记录
- 气象特征:5维(包含温度、湿度、风速等),每个气象特征按96个时间点扩展对齐
- 总输入特征:5个气象特征 + 1个负荷值 = 6个原始特征
五、模型评估指标
本模型采用以下四项评价指标进行全面评估:
(1)决定系数 R²:衡量模型对数据方差的解释程度,取值范围 0, 1,越接近1拟合越好。
R2=1−∑i=1n(y^i−yi)2∑i=1n(yi−yˉ)2R^2 = 1 - \frac{\sum_{i=1}^{n}(\hat{y}i - y_i)^2}{\sum{i=1}^{n}(y_i - \bar{y})^2}R2=1−∑i=1n(yi−yˉ)2∑i=1n(y^i−yi)2
(2)平均绝对误差 MAE:直观反映预测误差的绝对大小。
MAE=1n∑i=1n∣y^i−yi∣MAE = \frac{1}{n}\sum_{i=1}^{n}|\hat{y}_i - y_i|MAE=n1i=1∑n∣y^i−yi∣
(3)平均绝对百分比误差 MAPE:相对误差指标,便于不同量纲间比较。
MAPE=1n∑i=1n∣y^i−yiyi∣MAPE = \frac{1}{n}\sum_{i=1}^{n}\left|\frac{\hat{y}_i - y_i}{y_i}\right|MAPE=n1i=1∑n yiy^i−yi
(4)均方根误差 RMSE:对大误差敏感,是IWOA的优化目标。
RMSE=1n∑i=1n(y^i−yi)2RMSE = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(\hat{y}_i - y_i)^2}RMSE=n1i=1∑n(y^i−yi)2
六、运行环境
| 环境项 | 配置说明 |
|---|---|
| 操作系统 | Windows 10/11(64位) |
| 开发平台 | MATLAB R2021a 或更高版本 |
| 必需工具箱 | Deep Learning Toolbox |
| 推荐工具箱 | Parallel Computing Toolbox(用于加速训练) |
| 硬件配置 | 推荐NVIDIA GPU(CUDA支持),最低8GB RAM |
| 数据格式 | Excel (.xlsx),支持多Sheet读取 |
七、实验结果与分析
7.1 IWOA收敛曲线
如下图所示(图1),IWOA算法在5次迭代内快速收敛,适应度值(RMSE)从初始值持续下降至稳定水平。相比于标准WOA,改进策略(准反向初始化、非线性收敛因子、自适应权重和随机差分变异)有效提升了收敛速度和解的质量。

▲ 图1:IWOA适应度收敛曲线(横轴:迭代次数,纵轴:适应度值RMSE)
7.2 训练集拟合效果
下图展示了模型在训练集上的拟合效果和相对误差分布:

▲ 图2:训练集预测结果对比(红色实线为模型拟合值,灰色虚线为实际负荷值)

▲ 图3:训练集相对误差分布
从图中可以看出,模型在训练集上的拟合精度较高,相对误差集中在较小的范围内,表明模型能够充分学习训练数据中的时序规律。
7.3 测试集预测效果
在未参与训练的测试集上,模型同样表现出色:

▲ 图4:测试集预测结果对比(蓝色实线为模型预测值,黑色虚线为实际负荷值)

▲ 图5:测试集相对误差分布
测试集上的预测曲线与实际负荷曲线高度吻合,大部分样本的相对误差控制在较低水平,验证了模型良好的泛化能力。
7.4 网络结构可视化
MATLAB Deep Learning Toolbox的analyzeNetwork函数生成了完整的网络结构图,清晰展示了从输入到输出的各层连接关系。

▲ 图6:CNN-BiLSTM-MATT网络结构图
八、应用场景
IWOA-CNN-BiLSTM-MATT模型适用于以下多种电力负荷预测场景:
| 应用场景 | 时间尺度 | 典型用途 |
|---|---|---|
| 超短期负荷预测 | 15分钟~1小时 | 实时调度、AGC调频 |
| 短期负荷预测 | 1小时~24小时 | 日前发电计划、经济调度 |
| 分布式能源管理 | 实时/准实时 | 微电网能量管理、需求响应 |
| 电力市场交易 | 日前/日内 | 电价预测辅助、交易决策支持 |
| 智能楼宇能耗管理 | 15分钟~1小时 | 楼宇节能优化、HVAC控制 |
| 新能源功率预测 | 超短期/短期 | 风电/光伏功率预测辅助 |
此外,该模型框架具有普适性,可以将改进后的架构迁移至其他时序预测任务,如交通流量预测、水文预测、金融时间序列预测等。
九、总结
本文提出并实现了IWOA-CNN-BiLSTM-MATT混合模型用于短期电力负荷预测,具有以下创新点:
- 改进的鲸鱼优化算法(IWOA):融合准反向初始化、非线性收敛因子、自适应权重和随机差分变异四种策略,显著提升了参数寻优的效率和精度。
- 多组件融合架构:CNN提取局部多变量关联特征,BiLSTM建模双向时序依赖,多头注意力机制实现自适应特征加权,三者协同工作形成端到端的高精度预测管线。
- 自动化超参数优化:利用IWOA自动确定学习率、隐藏层节点数和L2正则化系数,避免了繁琐的手动调参工作。
- 全面的评价体系:采用R²、MAE、MAPE、RMSE四项指标,从多个维度验证模型性能。
实验结果表明,该模型在训练集和测试集上均取得了优异的预测精度,证明了改进策略的有效性和模型框架的可靠性,为电力系统负荷预测提供了一种高效、实用的解决方案。
参考文献
1 武泽权, 牟永敏. 一种改进的鲸鱼优化算法J. 计算机应用研究, 2020, 37(12): 3618-3621.
2 Mirjalili S, Lewis A. The Whale Optimization AlgorithmJ. Advances in Engineering Software, 2016, 95: 51-67.
3 Hochreiter S, Schmidhuber J. Long Short-Term MemoryJ. Neural Computation, 1997, 9(8): 1735-1780.
4 Vaswani A, et al. Attention Is All You NeedC. NeurIPS, 2017.
5 Graves A, Schmidhuber J. Framewise Phoneme Classification with Bidirectional LSTM and Other Neural Network ArchitecturesJ. Neural Networks, 2005, 18(5-6): 602-610.
本文为原创技术分享,如需转载请联系作者。模型代码及数据集请在相应学术交流平台获取。