机器学习预测全家桶之单变量输入单步预测,天气温度预测为例,MATLAB代码

本文扩展了机器学习预测全家桶,包括单变量输入的单步预测,如使用BiLSTM、BiGRU等模型对天气温度数据进行预测。文章提供了新疆风电温度数据示例和自注意力机制的应用,以及模型之间的对比结果。MATLAB代码可供下载。

所谓的单变量输入,与前几期那样不同。有些数据可能没有相关特征,就是单纯的时间序列。

举个例子,比如天气的温度数据,就是一个连续的时间序列数据。可以取前几个时刻的点作为模型的输入,取未来一个时刻或者多个时刻点作为模型输出。

本期就在原先几期推出的机器学习全家桶基础上,将这些机器学习方法改成单变量输入单步预测

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

5221c07ee9c2bebb7b00ef4d7b10554a.png

注意,此全家桶代码包含了自注意力机制(selfAttentionLayer),该函数只有2023及以上版本的matlab才有,因此请小伙伴自行下载2023版本的matlab,下载链接一并打包在代码中了。


数据准备

数据集统一采用前几期提到的新疆某地风电发电功率数据,只不过这次是只用温度一列。

e67d8a4906009f30e2bb14730b50437f.png

数据处理方法也不难,首先提取这一列数据,然后以前几个时间点作为模型输入,未来一个时刻的温度作为输出。依次这样选取数据,得到好多好多样本。然后划分训练集和测试集就ok了。


结果展示

由于模型有20多个,这里随机挑选5个模型作为展示,其他模型均已调试完成,可以一键运行。

BiLSTM-Adaboost

02fa5e54021e256a964832a658ca77f0.png

BiGRU:

69e71c1ad062f69459eec0f75078bb4c.png


BiLSTM

6c83d17b0ff7cf7e74676a04519f99da.png


CNN-BiGRU

f566121063885f4de880b67160db85fa.png


SVM-Adaboost

487e487b7f7d5152286f262352e74e84.png


最后考虑到大家可能会做算法对比,代码随机选取了四个模型的测试结果进行对比,对比结果图如下:

8bf058c98641bfe445fa8750a7b1c40b.jpeg

946e724861db14a8ccf6bc12a533c93d.png

9752b0883f2625cb4e825052b8b51b25.png

9953cde325df75c889f37bf7681e624e.png

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

淘个代码_

不想刀我的可以选择爱我

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

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

打赏作者

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

抵扣说明:

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

余额充值