截止到本期,一共发了8篇关于机器学习预测全家桶的文章。参考文章如下:
2.机器学习预测全家桶,多步预测之BiGRU、BiLSTM、GRU、LSTM,LSSVM、TCN、CNN,光伏发电数据为例
3.机器学习预测全家桶,多步预测之组合预测模型,光伏发电数据为例
4.机器学习预测全家桶之Xgboost,交通流量数据预测为例,MATLAB代码
5.机器学习预测全家桶之CNN-RVM(相关向量机),风电功率预测,MATLAB代码
6.水N篇论文就靠它了!Adaboost风电功率预测,机器学习预测全家桶,MATLAB代码
7.机器学习预测全家桶之单变量输入单步预测,天气温度预测为例,MATLAB代码
8.2023年冠豪猪算法优化CNN-GRU-Attention多特征输入多步预测,MATLAB代码
以上文章虽多,都是在补充完善这个机器学习全家桶。目前以上这8篇文章基本上涵盖了多变量输入多步预测、多变量输入单步预测、单变量输入单步预测。还差一个单变量输入多步预测。后台也有小伙伴强烈要求这个单变量输入多步预测。
本期同样以天气温度预测为例,介绍单变量输入多步预测案例。
所谓的单变量输入多步预测,与前几期不同。数据很单一,但是还要求多步预测,除非数据本身有极强的关联性,比如天气温度,气压,湿度等,这些不会突变的时间序列数据,才有可能实现单变量输入多步预测,否则无论怎么调整模型参数,最后精度都不一定会好。如果换成数据本身关联性不强的,不建议使用单变量输入多步预测哈!
举个例子,比如天气的温度数据,就是一个连续的时间序列数据。可以取前几个时刻的点作为模型的输入,取未来多个时刻点作为模型输出。
本期就在原先几期推出的机器学习全家桶基础上,将这些机器学习方法改成单变量输入多步预测。
目前整个全家桶包含模型如下:
注意,此全家桶代码包含了自注意力机制(selfAttentionLayer),该函数只有2023及以上版本的matlab才有,因此请小伙伴自行下载2023版本的matlab,下载链接一并打包在代码中了。
代码获取方式放在文末了哈!
承诺该全家桶永久更新!
后续考虑会添加比较传统的各种神经网络(BP,RBF,PNN,KNN等等),极限学习机,随机森林、深度森林等等方法。只要能预测的就会往里边扔!有些小伙伴还需要一些智能优化算法相结合的案例,也可以写几个扔进去哈!由于后期会不断更新,价格可能也会随之攀升,需要的小伙伴抓紧机会下手!
数据准备
数据集统一采用前几期提到的新疆某地风电发电功率数据,只不过这次是只用温度一列。
数据处理方法也不难,首先提取这一列数据,然后以前几个时间点作为模型输入,未来多个时刻的温度作为输出。依次这样选取数据,得到好多好多样本。然后划分训练集和测试集就ok了。
想要替换数据也不难,代码已经将步数和预测个数的数字都写成了变量,直接改个数字就可以了。举个例子:
nn =8; %预测未来八个时刻的数据
[h1,l1]=data_process(data,24,nn); %步长为24,采用前24个时刻的温度预测第25~24+nn个时刻的温度
如果想用前24个小时的数据去预测未来8小时的数据,就写成如上模样。只改这两个数字就行了,程序的其他地方都不用改。
结果展示
由于模型有很多个,这里随机挑选4个模型作为展示,其他模型均已调试完成,可以一键运行。
TCN:
LSSVM:
CNN-BiLSTM
CNN-BiLSTM-Attention:
已将本文的所有单变量输入多步预测代码上传至机器学习预测全家桶,以上所有图片,代码均可实现!
后台私信获取代码。点击下方卡片获取更多代码!