【BKA-Transformer-LSTM多变量回归预测】BKA-Transformer-LSTM多变量回归预测,基于BKA-Transformer-LSTM多变量输入模型。matlab代码,2023b及其以上。

评价指标包括:R2、MAE、MSE、RMSE和MAPE等,代码质量极高,方便学习和替换数据。参数可方便更改,程序和excel数据放在一个文件夹,注释明细。

SVM/LSSVM/ELM/BP/KELM/RF/DELM/LSTM/BILSTM/GRU/HKELM/XGboost/PNN/CNN/VMD/ICEEMDAN/组合模型CNN-SVM/CNN-LSTM/CNN-GRU/CNN-BiLSTM/LSTM-Attention/GRU-Attention/CNN-LSTM-Attention/TCN/TCN-LSTM/TCN-BILSTM/TCN-GRU/TCN-BIGRU/BITCN/BITCN-LSTM/BITCN-BILSTM/BITCN-GRU/BITCN-BIGRU/Transformer/Transformer-LSTM/Transformer-BILSTM/Transformer-GRU/Transformer-BIGRU等等多种分类/回归/时序/分解模型,具体私信。

Transformer 作为一种创新的神经网络结构,深受欢迎。采用 Transformer 编码器对光伏、负荷数据特征间的复杂关系以及时间序列中的长短期依赖关系进行挖掘,可以提高光伏功率、负荷预测的准确性。

%% 清空环境变量

warning off % 关闭报警信息

close all % 关闭开启的图窗

clear % 清空变量

clc % 清空命令行

%% 导入数据

res = xlsread('数据集.xlsx');

%% 数据分析

num_size = 0.75; % 训练集占数据集比例

outdim = 1; % 最后一列为输出

num_samples = size(res, 1); % 样本个数

num_train_s = round(num_size * num_samples); % 训练集样本个数

f_ = size(res, 2) - outdim; % 输入特征维度

flag_conusion = 1; % 标志位为1,打开混淆矩阵(要求2018版本及以上)

%% 划分训练集和测试集

P_train = res(1: num_train_s, 1: f_)';

T_train = res(1: num_train_s, f_ + 1: end)';

P_test = res(num_train_s + 1: end, 1: f_)';

T_test = res(num_train_s + 1: end, f_ + 1: end)';

%% 数据集分析

outdim = 1; % 最后一列为输出

num_size = 0.85; % 训练集占数据集比例

num_train_s = round(num_size * num_samples); % 训练集样本个数

f_ = size(res, 2) - outdim; % 输入特征长度

%% 划分训练集和测试集

M = size(P_train, 2);

N = size(P_test, 2);

%% 划分训练集和测试集

or_dim = size(P_train,1) ; % 记录特征数据维度

n_out = 1 ; % % 预测步长

% 数据归一化

[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

智能算法及其模型预测

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐