数学建模社区-数学中国

标题: 【回归预测-Lstm预测】基于长短期记忆网络LSTM实现电价时间序列单步预测附matlab代码 [打印本页]

作者: 杨利霞    时间: 2022-9-8 10:28
标题: 【回归预测-Lstm预测】基于长短期记忆网络LSTM实现电价时间序列单步预测附matlab代码
【回归预测-Lstm预测】基于长短期记忆网络LSTM实现电价时间序列单步预测附matlab代码. g; I/ w6 |/ P+ A' p/ X

$ K5 V  q2 \& R8 E1 内容介绍
1 A5 H7 H2 u3 c, K% X# E* L​时间序列数据往往反映了某个事件发展的规律,蕴含着丰富的潜在信息。长短期记忆(LSTM)神经网络由于其网络结构的特殊性可以储存信息,解决长期依赖问题,常被用于时间序列预测。对LSTM的研究有利于高效挖掘出时序数据中的重要信息,对社会、经济等各个方面的发展均有着重要的影响。
* L( ^% N( B$ ]9 `2 N1 R8 ]. T
' R' F/ m. V8 D. U# h# B2 部分代码# G7 o% @/ M% Q( \. `
clear, clc, close all;4 }* m0 ~* b) x5 |0 V
) ?) F3 ]4 N, d- }( Z4 k
data=xlsread('西班牙电价.csv');/ Z6 ?9 y8 Y, J
5 @  m2 F9 q' W2 f
data1=data;% B1 D6 ~+ G. Z4 u
4 B$ x: e5 ]1 ], m0 J0 d/ `
numTimeStepsTrain = floor(89);%89数据训练 ,3个用来验证
2 Z" u2 Y* P- h# {6 l8 G0 }4 a
- Y. r/ t/ Z; E! K" Y! T! Z, R  M: Z, `dataTrain = data(1:numTimeStepsTrain+1,;% 训练样本  A5 |: v( K/ ^7 v

. V8 R- f7 j: s7 X1 L% }0 LdataTest = data(numTimeStepsTrain:end,; %测试样本
! o3 v& e( v) O0 p) p, \$ X; `& z* H+ U' L( k% S
%训练数据标准化处理 8 L: i, g8 V+ s1 t* L

# f8 }3 f8 a+ ymu = mean(dataTrain,'ALL');
- F5 L9 N1 Z- L9 A) R) U
& r. w) K: |5 A% y+ xsig = std(dataTrain,0,'ALL');
7 O+ A( T( P% d/ D3 {4 n! L% `, K8 J. V" j: J% p
dataTrainStandardized = (dataTrain - mu) / sig;, M% i1 e) ]9 l1 y
2 c- m# n- M/ Q$ D
XTrain = dataTrainStandardized(1:end-1,;% 训练输入
2 `' U. M! g$ g0 y! }! T' Y/ B' C& f5 l. ]$ X, s. F4 s, Y
YTrain = dataTrainStandardized(2:end,;% 训练输出2 Y2 k' K& ^+ R$ Y- C

: D/ H4 M: s! E) b: I%% define the Deeper LSTM networks# j- j+ c2 p: ^; R
/ R/ L. W' ]! ]/ e( }1 d* n- |
numFeatures= 1;%输入节点6 y8 \: d/ Z, E1 r
& @$ N% U3 A) j! l. b
numResponses = 1;%输出节点0 }* l6 L0 x5 L/ _
4 p8 T+ Y* }  M0 {
numHiddenUnits = 500;%隐含层神经元节点数
5 u% p& e# g5 F1 C$ p- s7 P5 N5 ^
figure(1)
" T1 W9 _7 _' g9 \) W2 J. \2 h8 Q; w3 [4 h* m4 t  v5 Z
plot(dataTrain(1:end-1,1));hold on;! `) |& h$ k/ k
+ Z* t6 P  F$ z, {
idx = (numTimeStepsTrain)numTimeStepsTrain+numTimeStepsTest1);
& S% C: B4 x; ]/ y% j. Q5 U8 ]2 ?
plot(idx,[(data(numTimeStepsTrain,1))' YPred1(1,],'--d');
# r0 S2 L& S7 Q3 ~5 S
5 d, Z: l8 a1 K* _8 e) ]xlabel("时间/天")
1 l: B. E6 _% v: Y6 `6 J
0 {; q) c; a  o1 M" S/ E% Yylabel("电价")& j4 y! k) H0 U# A

* H* u) q1 O' e' C6 ~9 Elegend('实际值','预测值')
( w& E/ g. g  d' g1 C. |% s7 I4 F# ~
figure(2)
6 u2 t9 _( H; x: L1 b
. f$ k9 W3 B4 x' J* O1 |  Gsubplot(2,1,1)
, z9 l/ M# X2 L1 V; [7 s
4 v$ M0 R* |1 dplot(YTest(1,)) z! I3 }3 c( M/ d# |2 N4 s8 l

( q) a9 E6 T  j" d/ Fhold on* j. h' G( Y( @) I1 K
7 j" v* M# N' U5 J
plot(YPred(1,,'.-')' q% N* R2 ~0 c6 ^- N1 I
, s% K. \+ Y7 d+ M. t; r. f. ~
hold off" z' {/ D! T1 Q2 \/ e
* X  _6 z* o" j# ?
legend(["实际值" "预测值"])( x; K+ M* f; {* p
0 x' F/ k, z  o0 Y; x' f
xlabel("时间/天")/ m$ E, ]) w2 b7 |: R" c+ x

$ H! ^; O- f+ ^2 H' gylabel("电价"): I! U! s: H1 p  x
7 H( A9 L% R7 z) x: r  G
ylim([5000 20000])
& F4 D0 i0 _& d) J+ ?0 }3 D
+ K) o4 w& b  v" i; }subplot(2,1,2)& m; H/ u! }1 O- C$ }3 F! J1 S

% I2 F& D4 Z8 t  C8 s( @$ Bstem(YPred(1, - YTest(1,)" e1 u# [! y$ u5 k0 G

, T; O# b' v- o6 p/ E; C" Txlabel("时间/天"): F) H6 A+ ~2 l  }4 L8 v
0 Z- }1 [6 C! k5 q3 {& s
ylabel("误差"): f: S- m4 [. N" y, d
6 m) \, f+ R4 `* x
title("误差百分数 = " + error)* |8 V7 C: R; _6 Z; I' p% p
3 x1 `1 q; P% u0 E
3 运行结果5 @# `% v8 u6 A3 N
111.png 7 ~/ t3 m7 e( [+ A
3 j& M) B; G1 y' M! N% H4 J

0 I& s! I+ Z$ v" q4 g  o+ W5 w' r3 N' J
4 参考文献
- g# ?3 b$ Q/ [; w9 r[1]魏昱洲, 许西宁. 基于LSTM长短期记忆网络的超短期风速预测[J]. 电子测量与仪器学报, 2019(2):8.8 D0 L, R( R1 P5 I; Y
% g0 x# l/ w: T& p) q" B. k! U
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机、雷达通信、无线传感器等多种领域的Matlab仿真,相关matlab代码问题可私信交流。8 c5 t0 p8 c5 A. W: _
部分理论引用网络文献,若有侵权联系博主删除。. }4 y+ a  p" L- \% m
————————————————" ]6 ]! W* C& S1 [1 p
版权声明:本文为CSDN博主「matlab_dingdang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
5 a9 ^- @* Q0 L- B) f" Q原文链接:https://blog.csdn.net/matlab_dingdang/article/details/126754796- @$ J7 W' M5 h8 f

9 q- S% G% U1 `- I& b7 H; j& @  C  z$ M/ |5 C7 [7 K9 C# u

22.png (19.79 KB, 下载次数: 569)

22.png






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5