今天出一期基于DBO-BiLSTM-Attention的风电功率预测。流程大致如下:
①采用LSTM对实现风电功率预测;
②采用BiLSTM对实现风电功率预测;
③采用BiLSTM-Attention实现风电功率预测;
④采用蜣螂优化算法(DBO)优化BiLSTM-Attention的三个超参数,实现实现风电功率预测。三个超参数包括:隐含层节点个数,最大训练次数和学习率。
⑤画四个算法的误差对比图,雷达图,柱状图等。
数据准备
数据集采用风电功率数据。
数据包含特征如下:测风塔10m风速(m/s) 、测风塔30m风速(m/s) 、测风塔50m风速(m/s) 、测风塔70m风速(m/s)、 轮毂高度风速(m/s) 、测风塔10m风向(°) 、测风塔30m风向(°) 、测风塔50m风向(°) 、测风塔70m风向(°)、 轮毂高度风向(°) 、温度(°) 、气压(hPa)、 湿度(%) 实际发电功率(mw)。部分数据截图如下:
每个样本组成为:延时步长为6,跨时间步长为1。也就是以前6个样本的所有特征(也包含功率),去预测下一个样本的发电功率。
以表格中数据为例,以2019年1月1日0点~2019年1月1日1点15的所有数据(包括功率)按照特征类别组合起来放一块并变成一行,然后把1点30的数据也组合到这一行,这就形成了第一个样本。最后一列是1点30的功率。就这样以此类推,得到好多好多样本。然后划分训练集和测试集就ok了。
本实验以3月份的数据为例,划分测试集(887个)和训练集(2083个),测试结果如下:
结果展示
LSTM:
BiLSTM:
BiLSTM-Attention:
Attention为一个单头,2个键和值的自注意力机制。代码中也可以方便改为多头多键和值。代码中写明了改动方法!
DBO-BiLSTM-Attention结果:
雷达图:
预测对比图:
误差指标对比图:
不同指标柱状图:
以上绘图代码,部分来自公众号 “ Lvy的口袋”。如有侵权请联系删除。
代码目录
以上图片,此代码均可实现!
点击下方卡片获取更多代码!