回歸預測 | Matlab實現CNN-BiLSTM-self-Attention多變量回歸預測
目錄
- 回歸預測 | Matlab實現CNN-BiLSTM-self-Attention多變量回歸預測
- 預測效果
- 基本介紹
- 程序設計
- 參考資料
預測效果
基本介紹
1.Matlab實現CNN-BiLSTM融合自注意力機制多變量回歸預測,CNN-BiLSTM-self-Attention;
MATLAB實現CNN-BiLSTM-self-Attention卷積神經網絡-雙向長短期記憶網絡融合自注意力機制多變量回歸預測。
2.data為數據集,格式為excel,7個輸入特征,1個輸出特征,多輸入單輸出回歸預測,main.m是主程序;
3.評價指標包括:R2、MAE、MSE、RMSE和MAPE等;
4.運行環境matlab2023b及以上。
程序設計
- 完整代碼私信回復回歸預測 | Matlab實現CNN-BiLSTM-self-Attention多變量回歸預測
%% 清空環境變量
warning off % 關閉報警信息
close all % 關閉開啟的圖窗
clear % 清空變量
clc % 清空命令行%% 導入數據
res =xlsread('data.xlsx');%% 數據分析
num_size = 0.7; % 訓練集占數據集比例
outdim = 1; % 最后一列為輸出
num_samples = size(res, 1); % 樣本個數
rng(0);
res = res(randperm(num_samples), :); % 打亂數據集(不希望打亂時,注釋該行)
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);
參考資料
[1] An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling
[2] https://locuslab/TCN
[3] https://profiles/blogs/temporal-convolutional-nets-tcns-take-over
[3] Temporal Convolutional Networks for Action Segmentation
[4] http://t.cj.sina.com.cn/articles/view