Condivisione della tecnologia

Elevata innovazione |. CEEMDAN-VMD-GRU-Previsione di serie temporali multivariata con meccanismo di attenzione ricorrente con decomposizione doppia

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Elenco degli effetti

Inserisci qui la descrizione dell'immagine
Inserisci qui la descrizione dell'immagine

Inserisci qui la descrizione dell'immagine
Inserisci qui la descrizione dell'immagine

Inserisci qui la descrizione dell'immagine
Inserisci qui la descrizione dell'immagine
Inserisci qui la descrizione dell'immagine

introduzione di base

Alta innovazione | CEEMANDA-VMD-GRU-Doppia scomposizione dell'attenzione + unità ricorrente con gate + meccanismo di attenzione previsione di serie temporali multivariate
Questo articolo propone un metodo di decomposizione secondaria basato su CEEMDAN, che ricostruisce la sequenza decomposta da CEEMDAN attraverso l'entropia del campione. Dopo che la sequenza complessa è stata decomposta da VMD, ciascun componente viene previsto dal modello GRU-Attention e i risultati della previsione vengono infine integrati.

Progettazione del modello

1.Matlab implementa la doppia decomposizione CEEMDAN-VMD-GRU-Attenzione + unità a circuito chiuso + meccanismi di attenzione multiplaprevisione delle serie temporali(Codice sorgente completo e dati)

2. CEEMDAN si decompone, calcola l'entropia del campione, esegue il clustering dei kmean in base all'entropia del campione, chiama VMD per decomporre due volte la componente ad alta frequenza e utilizza la componente ad alta frequenza e la componente anteriore decomposta da VMD come unità ciclica con convoluzioneModello del meccanismo di attenzioneI risultati target vengono previsti separatamente e poi aggiunti.

3. Uscita singola multivariabile, considerare l'influenza delle caratteristiche storiche! Gli indicatori di valutazione includono R2, MAE, RMSE, MAPE, ecc.

4. L'algoritmo è nuovo. Il modello CEEMDAN-VMD-GRU-Attention elabora i dati con maggiore precisione e può tenere traccia delle tendenze e dei cambiamenti dei dati. Il modello VMD gestisce dati non lineari, non stazionari e complessi e offre prestazioni migliori rispetto alla serie EMD. Pertanto, i dati ricostruiti vengono scomposti attraverso il modello VMD per migliorare la precisione del modello.

5. Può essere utilizzato sostituendo direttamente i dati di Excel. Le annotazioni sono chiare e adatte ai principianti. È possibile eseguire direttamente il file principale per generare il grafico con un clic.

6. Caratteristiche del codice: programmazione parametrica, i parametri possono essere facilmente modificati, le idee di programmazione del codice sono chiare e i commenti sono dettagliati.

  • Riferimento 1

Inserisci qui la descrizione dell'immagine
Inserisci qui la descrizione dell'immagine

  • Riferimento 2
    Inserisci qui la descrizione dell'immagine
  • Riferimento 3
  • Inserisci qui la descrizione dell'immagine
    Inserisci qui la descrizione dell'immagine
    insieme di dati
    Inserisci qui la descrizione dell'immagine

programmazione

  • Programma completo di risposta del blogger al messaggio privatoCEEMDAN-VMD-GRU-Dual decomposition dell'attenzione + unità ricorrente con gate + meccanismo di attenzione previsione di serie temporali multivariate


%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%%  划分训练集和测试集
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

 
%%  参数设置
options = trainingOptions('adam', ...      % Adam 梯度下降算法
    'MaxEpochs', 100, ...                  % 最大训练次数 
    'InitialLearnRate', 0.01, ...          % 初始学习率为0.01
    'LearnRateSchedule', 'piecewise', ...  % 学习率下降
    'LearnRateDropFactor', 0.1, ...        % 学习率下降因子 0.1
    'LearnRateDropPeriod', 70, ...         % 经过训练后 学习率为 0.01*0.1
    'Shuffle', 'every-epoch', ...          % 每次训练打乱数据集
    'Verbose', 1);
figure
subplot(2,1,1)
plot(T_train,'k--','LineWidth',1.5);
hold on
plot(T_sim_a','r-','LineWidth',1.5)
legend('真实值','预测值')
title('CEEMDAN-VMD-CNN-GRU-Attention训练集预测效果对比')
xlabel('样本点')
ylabel('数值')
subplot(2,1,2)
bar(T_sim_a'-T_train)
title('CEEMDAN-VMD-GRU-Attention训练误差图')
xlabel('样本点')
ylabel('数值')

disp('…………测试集误差指标…………')
[mae2,rmse2,mape2,error2]=calc_error(T_test,T_sim_b');
fprintf('n')


figure
subplot(2,1,1)
plot(T_test,'k--','LineWidth',1.5);
hold on
plot(T_sim_b','b-','LineWidth',1.5)
legend('真实值','预测值')
title('CEEMDAN-VMD-GRU-Attention测试集预测效果对比')
xlabel('样本点')
ylabel('数值')
subplot(2,1,2)
bar(T_sim_b'-T_test)
title('CEEMDAN-VMD-GRU-Attention测试误差图')
xlabel('样本点')
ylabel('数值')


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86

Riferimenti

[1] https://hmlhml.blog.csdn.net/article/details/135536086?spm=1001.2014.3001.5502
[2] https://hmlhml.blog.csdn.net/article/details/137166860?spm=1001.2014.3001.5502
[3] https://hmlhml.blog.csdn.net/article/details/132372151