QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2198|回复: 0
打印 上一主题 下一主题

【回归预测-Lstm预测】基于长短期记忆网络LSTM实现电价时间序列单步预测附matlab代码

[复制链接]
字体大小: 正常 放大
杨利霞        

5273

主题

82

听众

17万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2022-9-8 10:28 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    【回归预测-Lstm预测】基于长短期记忆网络LSTM实现电价时间序列单步预测附matlab代码4 M4 i" V2 t" J
    7 p6 \8 s- ^8 d  B$ w% L* X
    1 内容介绍
      J" I+ p! S! I! f) H& q' ?  R: p* e0 Q​时间序列数据往往反映了某个事件发展的规律,蕴含着丰富的潜在信息。长短期记忆(LSTM)神经网络由于其网络结构的特殊性可以储存信息,解决长期依赖问题,常被用于时间序列预测。对LSTM的研究有利于高效挖掘出时序数据中的重要信息,对社会、经济等各个方面的发展均有着重要的影响。. `2 D5 X& P( ]) j' T$ [

    % ^2 o1 R% Y( d, x9 y6 |  I2 部分代码' g8 s: i$ U. i% V8 x) D8 H
    clear, clc, close all;+ L+ ~2 }3 \  U7 s4 S) Z6 e4 q$ q
    ; J+ F4 t( k/ M
    data=xlsread('西班牙电价.csv');
    3 h/ K- y1 K! n0 e/ c, K" i3 h- j) z/ ?# b% p
    data1=data;- c2 a1 Y% p. C" f: O4 z
    * A5 B$ u" T5 e: m4 k
    numTimeStepsTrain = floor(89);%89数据训练 ,3个用来验证
    7 c/ H/ q7 v8 O- Z, p; _8 Q- y: F, Y3 \+ l
    dataTrain = data(1:numTimeStepsTrain+1,;% 训练样本* R, ?) N2 B2 c; k- S* z1 m% F
    # R+ b. w: w% m! t
    dataTest = data(numTimeStepsTrain:end,; %测试样本
      u4 \, L( _* N1 V
    % ]$ B3 {4 G1 k1 O8 @%训练数据标准化处理
    6 Y6 y5 q) Q- u2 [$ [# A9 |2 T1 W6 E6 V; ]1 x- W: V
    mu = mean(dataTrain,'ALL');9 h0 h8 h% d# ?9 i1 V

    . T2 j' O, J* m% \2 b% \) I. msig = std(dataTrain,0,'ALL');) Y2 k, [) _% ~. n' ]/ e

    8 X8 l- K6 s" p) _" h' BdataTrainStandardized = (dataTrain - mu) / sig;
    ( y2 e. B8 N. M% b& B
      p1 v/ M/ U6 B: q4 b, U* {XTrain = dataTrainStandardized(1:end-1,;% 训练输入 0 G  u9 x9 _" U, G5 ^8 F1 H; G
    4 F3 w' c$ X( t  b; V7 l
    YTrain = dataTrainStandardized(2:end,;% 训练输出$ p4 H! q5 t) W: a- y* b# F( S

    ! u3 |" A1 L2 v, r%% define the Deeper LSTM networks* _5 M  f0 V) f4 {6 l
    6 W8 j4 F/ i; l* ]
    numFeatures= 1;%输入节点
    , D$ W9 }5 f# S4 X, Z3 [! h
    & x6 B: H6 w, ]8 D+ gnumResponses = 1;%输出节点
    ' p+ K% e% p  P) ?$ f' k( W" o# P4 L* y# f
    numHiddenUnits = 500;%隐含层神经元节点数 . k1 A+ \) \5 ~3 u4 J

    4 u! ^$ u# ]$ L% s& o- P! Bfigure(1)
    ; _" J$ H& E% D2 b6 ?4 Q! i% K; O
    + s& W% p5 j9 x6 pplot(dataTrain(1:end-1,1));hold on;
    * k% }/ ]- `6 L0 ^/ l% Q6 T% P. y. h0 r, e
    idx = (numTimeStepsTrain)numTimeStepsTrain+numTimeStepsTest1);% K) \. @" r4 c) I9 z: V
    ( M  V$ v: g7 U# ^4 }! x! T
    plot(idx,[(data(numTimeStepsTrain,1))' YPred1(1,],'--d');/ W+ e( g5 @% |3 t" \" F

    1 ^! i" e: P4 C# p4 G9 g1 H$ ?xlabel("时间/天")
    ; J) [$ G- Y" x
    ' M6 `; @) ?( z( Eylabel("电价"); W" W7 w) D3 `* z1 t" U

    ) w% h1 d& A$ c7 alegend('实际值','预测值')+ |) s/ I3 w1 \9 p, U
    . b2 o5 y2 G8 o  m
    figure(2)
    , x* U; Y1 E) E" `: P7 k8 s" H7 B- z* |* p6 x) a- O
    subplot(2,1,1)& N! @$ f! m- P+ h( s1 `

    1 U# `; _( {  E, p5 r, x3 B; Bplot(YTest(1,)$ r: X2 ?" ^; w+ v# H) _. t0 @; t

    - r& ]- S6 u0 C0 H& s3 phold on% q' }/ L6 ?) R: @6 V- I7 H  C

    . t" R9 R) N( g, O) g1 i( x! Hplot(YPred(1,,'.-')" i( b2 a& I  d6 u& I3 k
    9 }& R% H  Q0 A5 k
    hold off
    & Y( X7 G$ ?) h, W5 a8 a% S, |3 ^# N" B# v  L+ ]4 H: s8 F
    legend(["实际值" "预测值"])! K8 F3 j2 w$ b9 J, Q1 _' W

    * [& U% x; H7 u. i& bxlabel("时间/天")
    * u9 m% Z- R% F" K& b9 G" k+ C( ]9 U2 y1 I$ U# O9 N/ f7 ~
    ylabel("电价")
    ; p# W2 I7 e6 f; u, c1 f/ j: w+ F) Q
    ylim([5000 20000])
    / T" X3 p0 Y/ W5 B2 |2 n* o. z6 a6 _7 B, {. N, ~" x- p6 |
    subplot(2,1,2)6 c& d! x# T0 V/ |9 t

    : g3 \' B0 U+ Y1 _; x7 U, H; Hstem(YPred(1, - YTest(1,)2 g( w8 ~+ p# a
    9 G) u7 s; Z3 d5 Y1 |; Q
    xlabel("时间/天")
    " B3 K+ |7 u- R  J3 u9 J# Q& W$ g/ C  y" d3 E! y
    ylabel("误差")
    ( d) r0 B) \$ ]$ t0 p8 M/ Z) t  a) t. q% u& [5 m
    title("误差百分数 = " + error)# ]( x# B; ^: {8 d  o

    4 _5 B7 `- j# W# e( ]; @& M3 运行结果
    5 _& ]3 v' h" f 111.png
    7 e/ O' N6 T6 y7 ?9 Y3 j% Z) S. f
    - a4 P# l# F9 j* n" f  \: ~: m8 a$ N* H0 \

      j- j4 E$ V- s3 l1 C: Q4 参考文献
    3 t' p) p( Z* e, F) C[1]魏昱洲, 许西宁. 基于LSTM长短期记忆网络的超短期风速预测[J]. 电子测量与仪器学报, 2019(2):8." D3 S2 V1 m+ U$ u
    ' c' w( h7 M0 J
    博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机、雷达通信、无线传感器等多种领域的Matlab仿真,相关matlab代码问题可私信交流。' _3 ^( Y0 |, a9 U# z& h$ S
    部分理论引用网络文献,若有侵权联系博主删除。
    $ b' ^" ]$ G( G+ `4 y" E, a————————————————
    7 t, \# |, K7 K9 n) p版权声明:本文为CSDN博主「matlab_dingdang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    6 V5 @' I+ x& N原文链接:https://blog.csdn.net/matlab_dingdang/article/details/1267547968 R) P6 w7 x  g, C9 O

    # |. r# j$ m2 T* h4 ^
    1 w4 l+ y: o5 u

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

    22.png

    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-10 13:00 , Processed in 0.442826 second(s), 54 queries .

    回顶部