机器学习预测全家桶,多步预测之BiGRU、BiLSTM、GRU、LSTM,LSSVM、TCN、CNN,光伏发电数据为例...

上期发了一篇文章,五花八门的机器学习预测?一篇搞定不行吗?里边包含了大多数机器学习模型,有组合的,有单个的,且都是属于单步预测的。

而单步预测和多步预测的代码在数据处理和模型构建方面略有不同。

今天在这个全家桶内,再添加几种多步预测的模型。分别是:BiGRU、BiLSTM、GRU、LSTM、LSSVM、TCN、CNN。并以新疆光伏发电数据为例进行结果显示。

之前购买过全家桶的小伙伴直接复制文末链接,重新下载代码即可。

下期将继续添加组合模型的多步预测。

所谓多步预测模型,无非就是,预测多个样本点。比如用前30天的数据,去预测未来7天的数据。这就是一个多步预测问题。

新增多步预测模型如下:

ad94bff2fc4af030974d9758ab0f332e.png

目前整个全家桶包含模型如下:

单模型多步预测(新增

BiGRU、BiLSTM、GRU、LSTM、LSSVM、TCN、CNN

单模型单步预测

BiGRU,BiLSTM,CNN,GRU,LSSVM,LSTM,多元回归函数regress,TCN,SVM

组合模型单步预测

CNN-BiGRU,CNN-BiGRU-ATTENTION,CNN-BiLSTM,CNN-BiLSTM-ATTENTION,CNN-GRU,CNN-LSSVM,CNN-LSTM,CNN-SVM。

以及结合VMD的几个代码:VMD-CNNBiLSTM,VMD-CNNGRU,VMD-CNNLSTM。其实当你学会了其中一个,其他的照虎画猫也就都出来了。

代码获取方式放在文末了哈!

以上只是比较常用的几个,后续大家有需要的直接后台留言,我会继续在这个全家桶里边更新!

承诺该全家桶永久更新!

后续考虑继续将上述模型全部变为多步预测模型,以及会添加比较传统的各种神经网络(BP,RBF,PNN,KNN等等),极限学习机,随机森林等等方法。


数据准备

数据集统一采用新疆某地光伏发电功率数据。

包含如下特征:组件温度(℃) 、温度(°)、 气压(hPa) 、湿度(%) 、总辐射(W/m2)、 直射辐射(W/m2)、 散射辐射(W/m2),共7个特征值。最后一列为发电功率。

部分数据截图如下:

0984dcd1bb3d70f100c6843d6ce72e64.png

可以看到,该数据每15分钟采样一次,每个样本点有7个特征值和一个发电功率输出值。一天有96个采样点。

本次预测采用前3天的数据(3*96*7),预测未来2天(96*2)个样本点的数据。

以1月份数据举个例子,也就是用1月1~3日的特征数据(3*96*7)预测1月4~5日(96*2)个样本点的数据,以1月2~4日的特征数据(3*96*7)预测1月5~6日(96*2)个样本点的数据……以此类推。

本次实验一共选取了30个样本,其中前29个样本用于训练,最后一个样本用于测试。

结果展示

每种方法的精度不一致,与自身的参数有关。对于这个风电数据来说,每个方法的效果都差不多。

一般去调整,“隐含层节点个数,学习率,训练次数,正则化参数”。调整这几个参数,就完全够用了。现在结合一些智能优化算法优化这些机器学习预测的,也无非就是调整一下这几个参数而已。

这里的参数,作者只是调了个大概,不至于很差。对于精度差的,并不代表这个方法就不好!大家可以调整参数已达到更好的效果!

每个模型跑完之后,都会有一个预测集效果对比图,和一个误差曲线图,并在命令窗口打印5种指标。

多步预测结果:

BiLSTM:

5500c44b8b213a25a314519272602ade.png

因为真实值的发电功率中有0,因此MAPE计算指标会是无穷大,对于这个数据来说,就不要看这个指标了。

1618dbf41534e5ee36dcac47b3e5ae5c.png

64ca840776d9b3879795a2c37d12093b.png


BiGRU:

4e37928483f05dcf5d92331081ac8aa9.png

d186f78f25aba69f3f829094985efb1c.png

7fe0fce0871701f80fba7903cf47326a.png


CNN:

b41d1ca84119ff9c1875029abca89268.png

09cf7e3bb0bcb89a1709a5cb7ae40052.png

45af289ad0174ac018c86bb1f547830b.png


GRU:

aa4096235436075f50043836e9b9a3bb.png

e091cd8d123250122f661d7f113abd30.png

8c6e9e7fb11e1a14558fcbd86f2be7d2.png


LSSVM:

778a261793d8a1b716f855dd217a2d6f.png

5d998e3ae12a54157748aa8ebcef18e8.png

c8ccad343b0c06e2324cdd90f3a11133.png

LSTM:

6c268c604822ae6281ac3f3d2f25ed29.png

014b30c31eae308fadc50e1580e99209.png

cf61eb2f8679bfc49fb46c4118e17254.png

TCN:

59db95c101b35489384e5cda9701151f.png

a201f2f7d1bfeb5babe667cb8c56efec.png


随机选取四种模型,对比结果图如下:

5d9f3253c2bf3b0473f4a49cb1e1a3c8.png

以上所有图片,代码均可实现!

后台私信获取代码。点击下方卡片获取更多代码!

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淘个代码_

不想刀我的可以选择爱我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值