- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564448 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174557
- 相册
- 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代码
$ l1 D( O3 H' F8 U" S$ v7 v% ~0 x! M: q& p1 @+ `
1 内容介绍
. @7 k, A; }# ~) z) |时间序列数据往往反映了某个事件发展的规律,蕴含着丰富的潜在信息。长短期记忆(LSTM)神经网络由于其网络结构的特殊性可以储存信息,解决长期依赖问题,常被用于时间序列预测。对LSTM的研究有利于高效挖掘出时序数据中的重要信息,对社会、经济等各个方面的发展均有着重要的影响。$ e! v% P7 c$ r
' }3 K8 C6 Y5 I2 部分代码, m% c% A7 S6 J) G% k/ o
clear, clc, close all; c/ C* Z/ }% u( y0 z; d6 _5 x
0 y, O% m1 z# @6 kdata=xlsread('西班牙电价.csv');
: k- {! M3 X, B7 B1 W; N/ C2 q" M2 w7 ?2 X; @8 Q
data1=data;
6 a! x9 _* j0 x' { S- d" ~6 I, O6 @
0 g# G. v$ Q p* N& NnumTimeStepsTrain = floor(89);%89数据训练 ,3个用来验证
7 Y* {0 p+ A" C$ C5 ]- i
) a$ O/ ? c- a9 WdataTrain = data(1:numTimeStepsTrain+1, ;% 训练样本5 b/ u, `2 c X# G; [% c2 ^
' f6 A# G2 i) ]) U
dataTest = data(numTimeStepsTrain:end, ; %测试样本
. H" M, t* c) e7 p( X; U7 T' ~; X6 _* \$ P' ^5 M0 f% h5 E/ o' k
%训练数据标准化处理
. I+ C7 b, Q1 m" Z0 b
% ~/ s0 |- S* l: Omu = mean(dataTrain,'ALL');$ F( X, [4 M& F* O. o
, k0 S# |2 z* c7 ~' esig = std(dataTrain,0,'ALL');% h- K5 }+ d+ W8 V- y3 M% [- k
6 Q7 o7 t6 @# g0 R6 q4 G; @
dataTrainStandardized = (dataTrain - mu) / sig;4 V ?/ n) R; Y2 o7 L
# e8 s) t- s o
XTrain = dataTrainStandardized(1:end-1, ;% 训练输入 * ?2 r6 X) N( m$ H' Z
, \0 h. y. h) [" @2 d
YTrain = dataTrainStandardized(2:end, ;% 训练输出% W5 ^3 g0 @: F
& U. R- H& L* Y2 g# O
%% define the Deeper LSTM networks/ ^* \3 k" b& k; t
: a* }" h- g0 t, e
numFeatures= 1;%输入节点1 _& G5 b% f9 }6 h# B
$ p9 h/ W6 s) `( b& s
numResponses = 1;%输出节点
( M- o: k1 h1 D3 O3 y
+ n1 i1 z/ {5 \7 b; ^numHiddenUnits = 500;%隐含层神经元节点数 - D8 D# l- b. T2 O
+ S. ?- S+ J3 E {! H* @
figure(1)
. c: i! O6 @* T6 \) ?# h5 X+ D4 s6 i* |7 O6 @
plot(dataTrain(1:end-1,1));hold on;% R0 I$ s5 d, X" T* R3 w
) ^3 K* ]. n$ d1 ~idx = (numTimeStepsTrain) numTimeStepsTrain+numTimeStepsTest1);& R3 g( @ K5 O# k2 v. J$ Q
# d: \6 O9 [% t K/ i8 ~plot(idx,[(data(numTimeStepsTrain,1))' YPred1(1, ],'--d');4 ?, G* C3 t# Q3 D
1 `4 @0 ]6 w( N, K8 x( q w. l- `xlabel("时间/天")/ ?# ]% R, u. m: M& `
/ }# h C9 q) u% Q% U/ cylabel("电价")
" t. f* z# a2 M/ c8 A) b
" `. G" k9 m1 Olegend('实际值','预测值')! h; Y% M Q" [, U/ ]0 p
3 I4 J. b) T$ K
figure(2)
. \: s5 x1 H5 {; A1 N/ o
+ s% H* h- N0 b; R4 e1 Esubplot(2,1,1)
0 c1 r `) \! U4 `- x
$ E9 F, O4 S+ e% d. ?& `2 T4 rplot(YTest(1, )
' x1 g* u6 H# ?/ L0 s* {
4 e" M& J1 f$ L2 hhold on
& b1 z6 c6 t6 _
. N9 L8 a' v Wplot(YPred(1, ,'.-')4 ^8 _# `. y6 U8 | M" u
/ P1 C) X+ o d' F! |" Q( L
hold off
6 j8 z9 {# n. w2 U0 z0 z% R q2 _! C0 f+ {" J2 r
legend(["实际值" "预测值"])- \( S- t" n) _- @+ v. ]
! d7 s7 j/ h/ |" H0 x
xlabel("时间/天") Y/ P3 L% L+ a1 G+ ?: R1 I/ f
& U$ v* s& W! q! A& O
ylabel("电价")) b( f f* U, o. S. `! a, V
. f* r8 D; _' E7 \- J/ v/ xylim([5000 20000])
5 Z% {" T0 D5 X1 u# m/ A- _) f& B5 C4 J! }4 u; v
subplot(2,1,2)
! B/ q6 E9 n; S1 e
# ]8 @8 L. I+ Mstem(YPred(1, - YTest(1, )6 [# i& Y+ @6 [! s8 Y
# V# r) h, U9 s' \5 w8 f: axlabel("时间/天")
, Q# k4 f1 ^! @1 g- l
4 d: |) `9 I* Pylabel("误差")
8 k& d* g) }, ^% c2 j+ ^# q* W+ b; J
title("误差百分数 = " + error)' I- J2 u& D0 u0 }: w
, } h1 Y1 m: @% b7 ~# g
3 运行结果4 }/ J5 e/ k6 }0 F
. l" z4 v3 {3 y* R& w
( j: V& @/ z" B! w: {* c) j6 y3 E& u) \! p6 }
7 w% K" B4 u" o2 b+ z+ _ x4 参考文献* V3 P4 z0 `- m3 P' w
[1]魏昱洲, 许西宁. 基于LSTM长短期记忆网络的超短期风速预测[J]. 电子测量与仪器学报, 2019(2):8.% `; z% S. Z3 R/ F1 J% F
; o. ~3 n ]0 Q" {, r. h/ z博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机、雷达通信、无线传感器等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
& d' S2 O6 @/ w: L# _: F: s3 `- G部分理论引用网络文献,若有侵权联系博主删除。
- i- F" l) o- S1 `6 N W8 M————————————————7 R3 a/ q3 V' Q& o. x+ V
版权声明:本文为CSDN博主「matlab_dingdang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
* _; w' F3 F* L9 o7 [原文链接:https://blog.csdn.net/matlab_dingdang/article/details/126754796
$ J/ W& [; x. d& m0 m0 h# o: O- V4 K9 H/ b! n( s. b# J
: s" n# w9 j# X |
zan
|