负荷预测 | Matlab基于Transformer-LSTM多变量时间序列多步预测
目录
- 效果一览
- 基本介绍
- 程序设计
- 参考资料
效果一览
基本介绍
1.Matlab基于Transformer-LSTM多变量时间序列多步预测;
2.多变量时间序列数据集(负荷数据集),采用前96*2个时刻预测的特征和负荷数据预测未来96个时刻的负荷数据;
3.excel数据方便替换,运行环境matlab2023及以上,展示最后96个时间步的预测对比图,评价指标MAE、MAPE、RMSE、MSE、R2;
注:程序和数据放在一个文件夹。
4.程序语言为matlab,程序可出预测效果图,指标图;
5.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
程序设计
- 完整程序和数据获取方式私信博主回复Matlab基于Transformer-LSTM多变量时间序列多步预测。
% 数据归一化 [p_train, ps_input] = mapminmax(P_train, 0, 1); p_test = mapminmax('apply', P_test, ps_input); [t_train, ps_output] = mapminmax(T_train, 0, 1); t_test = mapminmax('apply', T_test, ps_output); %% 数据平铺 for i = 1:size(p_train,2) trainD{i,:} = (reshape(p_train(:,i),or_dim,[])); end for i = 1:size(p_test,2) testD{i,:} = (reshape(p_test(:,i),or_dim,[])); end targetD = t_train'; targetD_test = t_test'; %% 模型 numChannels = or_dim; maxPosition = 256*2; numHeads = 4; numKeyChannels = numHeads*32; layers = [ sequenceInputLayer(numChannels,Name="input") positionEmbeddingLayer(numChannels,maxPosition,Name="pos-emb"); additionLayer(2, Name="add") options = trainingOptions(solver, ... 'Plots','none', ... 'MaxEpochs', maxEpochs, ... 'MiniBatchSize', miniBatchSize, ... 'Shuffle', shuffle, ... 'InitialLearnRate', learningRate, ... 'GradientThreshold', gradientThreshold, ... 'ExecutionEnvironment', executionEnvironment); 参考资料
[1] http://t.csdn.cn/pCWSp
[2] https://download.csdn.net/download/kjm13182345320/87568090?spm=1001.2014.3001.5501
[3] https://blog.csdn.net/kjm13182345320/article/details/129433463?spm=1001.2014.3001.5501
- 完整程序和数据获取方式私信博主回复Matlab基于Transformer-LSTM多变量时间序列多步预测。
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




