내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
1. Matlab은 Transformer-LSTM 다변수 시계열 예측을 구현하고 Transformer는 LSTM 장단기 메모리를 결합합니다.신경망다변량 시계열 예측
2. 운영 환경은 Matlab2023b 이상입니다.
3.데이터는데이터 세트, 여러 특성 입력, 단일 변수 출력, 과거 특성의 영향 고려, 다중 변수 시계열 예측, main.m이 기본 프로그램입니다. 실행하기만 하면 모든 파일이 하나의 폴더에 배치됩니다.
4. 명령 창은 R2, MSE, RMSE, MAE, MAPE 및 MBE와 같은 여러 인덱스 평가를 출력합니다.
%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
%% 导入数据
result = xlsread('data.xlsx');
%% 数据分析
num_samples = length(result); % 样本个数
or_dim = size(result, 2); % 原始特征+输出数目
kim = 2; % 延时步长(kim个历史数据作为自变量)
zim = 1; % 跨zim个时间点进行预测
%% 数据集分析
outdim = 1; % 最后一列为输出
num_size = 0.7; % 训练集占数据集比例
num_train_s = round(num_size * num_samples); % 训练集样本个数
f_ = size(res, 2) - outdim; % 输入特征维度
%% 划分训练集和测试集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);
P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);
%% 数据归一化
[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);
%% 数据平铺
P_train = double(reshape(P_train, f_, 1, 1, M));
P_test = double(reshape(P_test , f_, 1, 1, N));
t_train = t_train';
t_test = t_test' ;
%% 数据格式转换
for i = 1 : M
p_train{i, 1} = P_train(:, :, 1, i);
end
for i = 1 : N
p_test{i, 1} = P_test( :, :, 1, i);
end
[1] https://blog.csdn.net/kjm13182345320/아트/세부정보/128163536?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/아트/세부정보/128151206?spm=1001.2014.3001.5502