- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564690 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174630
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
【回归预测-Lstm预测】基于长短期记忆网络LSTM实现电价时间序列单步预测附matlab代码
9 y6 ]8 m F' T7 }9 t, H
, Z. k2 W4 ?, p% ~5 N1 内容介绍
: D9 ~; Y- J1 }4 D' r+ r& G3 c时间序列数据往往反映了某个事件发展的规律,蕴含着丰富的潜在信息。长短期记忆(LSTM)神经网络由于其网络结构的特殊性可以储存信息,解决长期依赖问题,常被用于时间序列预测。对LSTM的研究有利于高效挖掘出时序数据中的重要信息,对社会、经济等各个方面的发展均有着重要的影响。9 |: V" W# z* H/ }9 |9 k; T
+ H* A, `2 b) C2 k+ ^4 v) m2 部分代码
/ H1 H: l* M; h0 o0 p/ Hclear, clc, close all;
& s. @/ w+ q' G1 N" o8 M* |
' }- d3 v2 y! F8 `- Sdata=xlsread('西班牙电价.csv');, A% E2 A$ ^4 `) A$ x0 T9 M& a
/ w* b- j8 T# }- v- y6 X
data1=data;# W2 e# I' ]- V3 c4 B2 @
( ~( `8 @" _# S
numTimeStepsTrain = floor(89);%89数据训练 ,3个用来验证
2 p4 D/ [" a* _4 Z
\: ?- l4 ]) R6 |7 FdataTrain = data(1:numTimeStepsTrain+1, ;% 训练样本
1 e7 J7 F U+ N" z/ j; S1 V* a2 k3 f3 t
dataTest = data(numTimeStepsTrain:end, ; %测试样本
7 p; [1 `3 ^2 z' e
) s4 E7 y. C( T8 v$ d%训练数据标准化处理 " M, K+ \0 ]8 A2 _/ T6 Z1 Z$ f
, [0 x) ?0 A& g% _$ Bmu = mean(dataTrain,'ALL');
* u9 d) d+ A& N7 Y) a" Z! O* W& M2 L7 H
sig = std(dataTrain,0,'ALL');, |1 P' P0 z( B/ ]
9 q$ `0 A7 R9 idataTrainStandardized = (dataTrain - mu) / sig;# P# C9 T0 v* h
8 e4 o+ M! p" FXTrain = dataTrainStandardized(1:end-1, ;% 训练输入 9 a3 r F. a" o- y( {: c
5 O3 t, t! v- X5 P9 F9 |YTrain = dataTrainStandardized(2:end, ;% 训练输出: _- A. N1 B/ k( p* W' h
* [7 H1 M5 [: F i1 u
%% define the Deeper LSTM networks7 r4 `6 r. y7 E+ `( i/ e$ S& T \
* f) X3 b' a! _/ lnumFeatures= 1;%输入节点, b' t1 h( l% T" M3 k& h
1 }/ P* {$ u# V0 e& v- L$ e
numResponses = 1;%输出节点
9 a; |, o6 Z2 \+ s8 s! ^' Z @2 O b: B) V0 ~! ?8 d' T3 d0 j2 i# R
numHiddenUnits = 500;%隐含层神经元节点数 , N5 V+ x9 b4 f
( m9 ~ c4 J i, ^, Lfigure(1)9 q! t/ W* H/ \5 [; _+ B
( t8 n$ g' m. y* y6 i7 g3 Kplot(dataTrain(1:end-1,1));hold on;
! m7 @8 j' ^8 x0 k0 P- d7 r. |, c0 n0 E% q
idx = (numTimeStepsTrain) numTimeStepsTrain+numTimeStepsTest1);! z* X8 F1 a/ k$ @1 y( x; i) q
+ u# S4 W0 U4 H. ?5 m% Iplot(idx,[(data(numTimeStepsTrain,1))' YPred1(1, ],'--d');
2 v% T7 \, o7 N; m: f) Q: T/ E; u2 |% t
xlabel("时间/天")
0 H1 D, i2 C6 D% t* d5 g( s( Z
, b/ l% W* k, q0 nylabel("电价")% @; ~& l+ T, c. `* K& ?8 h. q( h. t
$ n) M4 H$ I0 t
legend('实际值','预测值')
) \2 N5 r7 `6 t! ?0 a/ [5 q' [# g8 s5 h2 A
figure(2)
9 [2 |# J6 n4 I3 s3 t( h" h# j; ]$ Y! N5 S' k/ G: w
subplot(2,1,1)# ^0 F4 Z2 g$ p. T; T/ `4 |% U. ?& p
1 g4 a3 m* d% _2 k/ Lplot(YTest(1, )
2 u( v2 Y, \0 m7 M/ o- Z" b E" ?; }7 `: {. f4 k8 J
hold on
* a- h' a% ]- D0 L* {5 C: C2 `2 w x
/ B' j4 Y/ Q5 w$ u8 ]: jplot(YPred(1, ,'.-'); ~0 u: U: }* F3 K8 T
$ k! o( u0 o& Xhold off
! ]0 A3 `9 x% p( I5 x8 w! V, y6 Y1 j
" u& }/ n" t4 s1 D. R" Clegend(["实际值" "预测值"])
- c/ s3 z! n6 h
& d% w1 e+ K1 A0 [xlabel("时间/天"): h: k# s% t! i; r& F
8 @$ L# P* G" o4 S0 T. Eylabel("电价")6 ]8 c+ _3 b h D
: [1 }' [! O' ~7 i" j, }ylim([5000 20000])
; q; @, w& y1 C9 A0 Y7 Y0 d. l1 J4 _( `& Z i7 d+ V
subplot(2,1,2)( y! n0 Y6 P& o6 q, H2 `
) U) U4 t) S1 S2 S6 o" @. Vstem(YPred(1, - YTest(1, )( U. b# p5 _- s3 ~& v: U8 B
7 _5 M8 x: N3 O7 [4 n! j
xlabel("时间/天")
( P# k& k) E; S+ ~
! G* ~; ^/ a% X4 u% Eylabel("误差")& O C) c( v5 s8 [+ k( U
" x( N6 O, I# {: U. D1 g6 K# o
title("误差百分数 = " + error)
* r/ Q2 G8 g! k& U: e
8 F# n" L: ]7 x6 e$ }% c3 运行结果* {% C7 U8 V3 P, k; I
6 ?4 x/ g* j E0 r/ T3 \! V
* Y/ ]1 G: L- B$ p
1 j7 _0 i8 C. F7 W% ~
" r$ Q9 b2 `! z. W. q& l4 参考文献
' Y$ J O4 I2 E8 Z) b[1]魏昱洲, 许西宁. 基于LSTM长短期记忆网络的超短期风速预测[J]. 电子测量与仪器学报, 2019(2):8.
3 J- ~0 K( U7 y
* |/ y9 @. E$ {/ K0 b% X博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机、雷达通信、无线传感器等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
% r; e2 ?& A e; U部分理论引用网络文献,若有侵权联系博主删除。* e: I& _7 {; S/ u8 ~* i. g
————————————————$ `1 p+ q2 X W/ n7 X, X' v5 S
版权声明:本文为CSDN博主「matlab_dingdang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
" v$ }! _- T. K3 V. t% O原文链接:https://blog.csdn.net/matlab_dingdang/article/details/126754796* M% e" o4 C2 Q% q, {% {
+ y2 H* M' b" p( y* j* _- \ W* n1 F" e" `2 m- O
|
zan
|