多维时序 | Matlab实现BiTCN双向时间卷积神经网络多变量时间序列预测

多维时序 | Matlab实现BiTCN双向时间卷积神经网络多变量时间序列预测

目录

预测效果





基本介绍

1.Matlab实现BiTCN双向时间卷积神经网络多变量时间序列预测(完整源码和数据)

2.运行环境Matlab2023及以上,excel数据集,多列输入,单列输出,方便替换数据,考虑历史特征的影响;

3.多指标评价,评价指标包括:R2、MAE、MAPE、MSE等,代码质量极高。

程序设计

clike 复制代码
clc;clear;close all;format compact
tic
clc
clear all

 % 创建TCN正向支路
    layers = [
        convolution1dLayer(filterSize, numFilters, DilationFactor = dilationFactor, Padding = "causal", Name="conv1_" + i)  % 一维卷积层 
        layerNormalizationLayer                                                                                             % 层归一化
        spatialDropoutLayer(dropoutFactor)                                                                                  % 空间丢弃层
        convolution1dLayer(filterSize, numFilters, DilationFactor = dilationFactor, Padding = "causal")                     % 一维卷积层  
        layerNormalizationLayer                                                                                             % 层归一化
        reluLayer                                                                                                           % 激活层
        spatialDropoutLayer(dropoutFactor)                                                                                  % 空间丢弃层
        additionLayer(4, Name = "add_" + i)
    ];
 
    % 添加残差块到网络
    lgraph = addLayers(lgraph, layers);
 
    % 连接卷积层到残差块
    lgraph = connectLayers(lgraph, outputName, "conv1_" + i);
 
    % 创建 TCN反向支路flip网络结构
    Fliplayers = [
        FlipLayer("flip_" + i)                                                                                               % 反向翻转
        convolution1dLayer(1, numFilters, Name = "convSkip_"+i);                                                             % 反向残差连接
        convolution1dLayer(filterSize, numFilters, DilationFactor = dilationFactor, Padding = "causal", Name="conv2_" + i)   % 一维卷积层
        layerNormalizationLayer                                                                                              % 层归一化
        spatialDropoutLayer(dropoutFactor)                                                                                   % 空间丢弃层
        convolution1dLayer(filterSize, numFilters, DilationFactor = dilationFactor, Padding = "causal")                      % 一维卷积层
        layerNormalizationLayer                                                                                              % 层归一化
        reluLayer                                                                                                            % 激活层
        spatialDropoutLayer(dropoutFactor, Name="drop" + i)                                                                  % 空间丢弃层
    ];
 
    % 添加 flip 网络结构到网络
    lgraph = addLayers(lgraph, Fliplayers);
 
    % 连接 flip 卷积层到残差块
    lgraph = connectLayers(lgraph, outputName, "flip_" + i);
    lgraph = connectLayers(lgraph, "drop" + i, "add_" + i + "/in3");
    lgraph = connectLayers(lgraph, "convSkip_"+i, "add_" + i + "/in4");
    % 残差连接 -- 首层
    if i == 1
        % 建立残差卷积层
        % Include convolution in first skip connection.
        layer = convolution1dLayer(1,numFilters,Name="convSkip");

        lgraph = addLayers(lgraph,layer);
        lgraph = connectLayers(lgraph,outputName,"convSkip");
        lgraph = connectLayers(lgraph,"convSkip","add_" + i + "/in2");
    else
        lgraph = connectLayers(lgraph,outputName,"add_" + i + "/in2");
    end

参考资料

[1] https://blog.csdn.net/kjm13182345320/category_11799242.html?spm=1001.2014.3001.5482

[2] https://blog.csdn.net/kjm13182345320/article/details/124571691

相关推荐
机器学习之心7 天前
SCI一区 | Matlab实现DBO-TCN-LSTM-Attention多变量时间序列预测
attention·多变量时间序列预测·tcn-lstm·dbo-tcn-lstm
机器学习之心9 天前
独家原创 | Matlab实现CNN-Transformer多变量时间序列预测
matlab·cnn·transformer·多变量时间序列预测·cnn-transformer
机器学习之心1 个月前
SCI一区 | Matlab实现PSO-TCN-LSTM-Attention粒子群算法优化时间卷积长短期记忆神经网络融合注意力机制多变量时间序列预测
attention·多变量时间序列预测·时间卷积长短期记忆神经网络·粒子群算法优化·融合注意力机制·pso-tcn-lstm
机器学习之心2 个月前
SCI一区级 | Matlab实现BES-CNN-GRU-Mutilhead-Attention多变量时间序列预测
attention·多变量时间序列预测·mutilhead·bes-cnn-gru
机器学习之心2 个月前
EI级 | Matlab实现VMD-TCN-LSTM-MATT变分模态分解卷积长短期记忆神经网络多头注意力多变量时间序列预测
多变量时间序列预测·vmd-tcn-lstm·变分模态分解·tcn-lstm-matt·多头注意力
机器学习之心3 个月前
SCI一区 | Matlab实现POA-TCN-BiGRU-Attention鹈鹕算法优化时间卷积双向门控循环单元注意力机制多变量时间序列预测
时间卷积双向门控循环单元·鹈鹕算法优化·注意力机制·多变量时间序列预测·poa-tcn-bigru
机器学习之心3 个月前
SCI一区 | Matlab实现OOA-TCN-BiGRU-Attention鱼鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测
tcn-bigru·时间卷积双向门控循环单元·多变量时间序列预测·融合注意力机制·鱼鹰算法优化·ooa-tcn-bigru
机器学习之心3 个月前
SCI一区 | Matlab实现BES-TCN-BiGRU-Attention秃鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测
时间卷积双向门控循环单元·注意力机制·多变量时间序列预测·bes-tcn-bigru·秃鹰算法优化
机器学习之心3 个月前
时序预测 | Matlab实现BiTCN-BiLSTM双向时间卷积神经网络结合双向长短期记忆神经网络时间序列预测
神经网络·时间序列预测·双向长短期记忆神经网络·双向时间卷积神经网络·bitcn-bilstm
机器学习之心3 个月前
时序预测 | Matlab实现BiTCN-GRU双向时间卷积神经网络结合门控循环单元时间序列预测
门控循环单元·时间序列预测·双向时间卷积神经网络·bitcn-gru