【风电功率预测】基于matlabEMD优化LSTM风电功率预测【含Matlab源码1402期】

【风电功率预测】基于matlabEMD优化LSTM风电功率预测【含Matlab源码
1402期】
⼀、EMD简介
1 经验模态分解
EMD的本质是由数据的特征时间尺度来获得数量不同的本征模函数(intrinsic mode function,IMF),不同的本征模分量IMF代表不同的特征波动序列,使原始数据的波动特征在不同时间尺度下突显出来,由于5种环境时间序列具有⼀定的随机性和间断性,通过EMD分解,可在丰富输⼊变量多样性的同时,根据得到的IMF分量,突出环境序列在不同时间尺度下的局部特性,反映出原始环境序列的波动性、周期性和趋势变化,其具体分解过程如下:
1)对于⼀个原始数据序列x(t),到它所有的极⼤值点确定为上包络线,所有极⼩值点确定为下包络线,m(t)表⽰上包络线和下包络线的均值,第1个分量h1(t)=x(t)-m(t);
2)在第2个筛选过程中,h1(t)被视作原始数据,m1(t)是h1(t)的上下包络线的均值,如步骤1)所⽰确定第2个分量h2(t);
3)筛选过程重复n次,直到是hn(t)是⼀个本征模态函数或剩余分量rn(t)为⼀个单调函数,终⽌分解过程;
转子动平衡4)综上,指定q1(t)=h1(t),q2(t)=h2(t),···,qk(t)=hn(t),x(t)最终分解为n个本征模分量qi(t)和⼀个剩余分量rn(t),如式(2)所⽰。
2 主成分分析
经过EMD分解得到的数据序列充实了特征序列的数量,但是输⼊变量的维数也随之增多。为了在提⾼预测精度的同时,保持LSTM⽹络模型的计算速度,同时克服过拟合的问题,需通过PCA对输⼊变量进⾏降维处理,在保证信息有效性和代表性的前提下,提升模型的计算效率和精度。
PCA作为⼀种经典的数据降维⽅法,通过线性变换将原始数据转换到新的特征空间中,以此来提取数据的最主要线性分量,算法步骤如下: 1)得到原始数据的标准化矩阵;
2)根据式(1)计算标准化矩阵的相关系数矩阵R=(rij)m×n;
3)计算特征值矩阵和特征值对应的特征向量;
4)计算贡献率τi和累计贡献率ηi,计算⽅法如式(3)和式(4)所⽰,根据ηi确定需选取的主成分的个数;
5)通过选取的主成分的特征值和所对应的特征向量,最终可得到降维后的数据。
⼆、 LSTM简介
1 LSTM控制流程
LSTM的控制流程:是在前向传播的过程中处理流经细胞的数据,不同之处在于 LSTM 中细胞的结构和运算有所变化。
这⼀系列运算操作使得 LSTM具有能选择保存信息或遗忘信息的功能。咋⼀看这些运算操作时可能有点复杂,但没关系下⾯将带你⼀步步了解这些运算操作。
2 核⼼概念
怎么自制纳米胶带LSTM 的核⼼概念在于细胞状态以及“门”结构。细胞状态相当于信息传输的路径,让信息能在序列连中传递下去。你可以将其看作⽹络的“记忆”。理论上讲,细胞状态能够将序列处理过程中的相关信息⼀直传递下去。
因此,即使是较早时间步长的信息也能携带到较后时间步长的细胞中来,这克服了短时记忆的影响。信息的添加和移除我们通过“门”结构来实现,“门”结构在训练过程中会去学习该保存或遗忘哪些信息。
3 Sigmoid
门结构中包含着 sigmoid 激活函数。Sigmoid 激活函数与 tanh 函数类似,不同之处在于 sigmoid 是把值压缩到 0~1 之间⽽不是 -1~1之间。这样的设置有助于更新或忘记信息,因为任何数乘以 0 都得 0,这部分信息就会剔除掉。同样的,任何数乘以 1 都得到它本⾝,这部分信息就会完美地保存下来。这样⽹络就能了解哪些数据是需要遗忘,哪些数据是需要保存。
电热水器控制器4LSTM门结构
LSTM 有三种类型的门结构:遗忘门、输⼊门和输出门。
4.1 遗忘门
4.1 遗忘门
遗忘门的功能是决定应丢弃或保留哪些信息。来⾃前⼀个隐藏状态的信息和当前输⼊的信息同时传递到 sigmoid 函数中去,输出值介于 0和 1 之间,越接近 0 意味着越应该丢弃,越接近 1 意味着越应该保留。
4.2 输⼊门
输⼊门⽤于更新细胞状态。⾸先将前⼀层隐藏状态的信息和当前输⼊的信息传递到 sigmoid 函数中去。将值调整到 0~1 之间来决定要更新哪些信息。0 表⽰不重要,1 表⽰重要。
其次还要将前⼀层隐藏状态的信息和当前输⼊的信息传递到 tanh 函数中去,创造⼀个新的侯选值向量。最后将 sigmoid 的输出值与 tanh 的输出值相乘,sigmoid 的输出值将决定 tanh 的输出值中哪些信息是重要且需要保留下来的。
4.3 细胞状态
下⼀步,就是计算细胞状态。⾸先前⼀层的细胞状态与遗忘向量逐点相乘。如果它乘以接近 0 的值,意味着在新的细胞状态中,这些信息是需要丢弃掉的。然后再将该值与输⼊门的输出值逐点相加,将神经⽹络发现的新信息更新到细胞状态中去。⾄此,就得到了更新后的细胞状态。
4.4 输出门
输出门⽤来确定下⼀个隐藏状态的值,隐藏状态包含了先前输⼊的信息。⾸先,我们将前⼀个隐藏状态和当前输⼊传递到 sigmoid 函数中,然后将新得到的细胞状态传递给 tanh 函数。
最后将 tanh 的输出与 sigmoid 的输出相乘,以确定隐藏状态应携带的信息。再将隐藏状态作为当前细胞的输出,把新的细胞状态和新的隐藏状态传递到下⼀个时间步长中去。
让我们再梳理⼀下。遗忘门确定前⼀个步长中哪些相关的信息需要被保留;输⼊门确定当前输⼊中哪些信息是重要的,需要被添加的;输出门确定下⼀个隐藏状态应该是什么。
三、部分源代码
clear;
工业合成氨close all;
clc;
魔盒防晒霜
%%参数设置
%%数据加载
f=xlsread('215-风速数据.xls','B2706:B3449');
u=emd(f);%emd
%如果⽤eemd ceemd 则还有参数需要设置
Nstd =0.02;
NR =1;
MaxIter =200;
%[u ,~]=eemd(f,Nstd,NR,MaxIter);%eemd
%[u ,~]=ceemd(f,Nstd,NR,MaxIter);%ceemd
K=size(u,1);
figure
subplot(K+1,1,1)
plot(f)
ylabel('原始')
for i=2:K+1
subplot(K+1,1,i)
plot(u(i-1,:))
ylabel(['IMF',num2str(i-1)])
end
ylabel('res')
save emd_data u
function [modes its]=ceemd(x,Nstd,NR,MaxIter)
% WARNING:for this code works it is necessary to include in the same
%directoy the file emd.m developed by Rilling and Flandrin.
%This file is available at %s-lyon.fr/patrick.flandrin/emd.html
%We use the default stopping criterion.
%We use the last modification:3.2007
%
% This version was run on Matlab 7.10.0(R2010a)
%----------------------------------------------------------------------
测试56%  INPUTs
%  x: signal to decompose
%  Nstd: noise standard deviation
%  NR: number of realizations
%  MaxIter: maximum number of sifting iterations allowed.
%
%  OUTPUTs
%  modes: contain the obtained modes in a matrix with the rows being the modes
%  its: contain the sifting iterations needed for each mode for each realization(one row for each realization) %-------------------------------------------------------------------------
%  Syntax
%
%  modes=ceemdan(x,Nstd,NR,MaxIter)
%[modes its]=ceemdan(x,Nstd,NR,MaxIter)
%
%--------------------------------------------------------------------------
% This algorithm was presented at ICASSP 2011, Prague, Czech Republic
% Plese,if you use this code in your work, please cite the paper where the
% algorithm was first presented.
% If you use this code, please cite:
%
% M.E.TORRES, M.A. COLOMINAS, G. SCHLOTTHAUER, P. FLANDRIN,
%"A complete Ensemble Empirical Mode decomposition with adaptive noise,"
%  IEEE Int. Conf. on Acoust., Speech and Signal Proc. ICASSP-11, pp.4144-4147,Prague(CZ)
%
%-------------------------------------------------------------------------
% Date: June 06,2011
% Authors:  Torres ME, Colominas MA, Schlotthauer G, Flandrin P.
% For problems with the code, please contact the authors:
% To:macolominas(AT)bioingenieria.edu.ar
% CC:metorres(v.ar
%-------------------------------------------------------------------------
x=x(:)';
desvio_x=std(x);
x=x/desvio_x;
modes=zeros(size(x));
temp=zeros(size(x));
aux=zeros(size(x));
acum=zeros(size(x));

本文发布于:2024-09-21 15:35:41,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/208851.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信息   状态   细胞   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议