负荷预测 | 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多变量时间序列多步预测。
python 复制代码
%  数据归一化
[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

相关推荐
Evand J12 小时前
【代码介绍】RSSI定位程序,N个锚点、三维空间,使用CKF对轨迹进行滤波,MATLAB代码
matlab·滤波·定位·三维
大江东去浪淘尽千古风流人物14 小时前
【HaMeR】全Transformer架构的单目3D手部网格重建:ViT-H骨干+跨注意力MANO解码器源码深度解析
深度学习·3d·transformer·vit·手部重建·mano
加成BUFF14 小时前
《机器人学》MATLAB 机器人工具箱 应用指南二
matlab·机器人·机器人工具箱
vensli15 小时前
AutoGLM vs 豆包手机:拆解两条 GUI Agent 的技术路线
人工智能·智能手机·transformer
吃好睡好便好16 小时前
矩阵的左乘和右乘
人工智能·学习·线性代数·算法·matlab·矩阵
zcg194216 小时前
如何在CV中使用transformer
人工智能·深度学习·transformer
zhangfeng113317 小时前
华为昇腾910A NPU 的模型加密方案 ASCEND-CC
开发语言·人工智能·神经网络·transformer
jllllyuz17 小时前
通信信号调制识别系统(MATLAB实现)
开发语言·matlab
weixin_468466851 天前
全局与局部注意力机制新手实战指南
人工智能·python·深度学习·算法·自然语言处理·transformer·注意力机制
彬鸿科技1 天前
bhSDR Studio/Matlab入门指南(十一):AI数据集采集实验界面全解析
人工智能·matlab·软件定义无线电