location_on 首页 keyboard_arrow_right 能源 keyboard_arrow_right 正文

风功率预测app:精准预测风电,助力调度决策

能源 access_alarms2026-04-17 visibility2 text_decrease title text_increase

图清单

图序号 图名称 页码

图3-1 Elman神经网络结构图 9

图3-2 Elman神经网络的预测流程图 10

图4-1 MATLAB的IDE界面 13

图4-2 训练数据图 16

图4-3 测试样本预测图 16

图4-4 误差曲线图 17

图4-5 训练数据图 18

图4-6 测试样本预测图 18

图4-7 误差曲线图 19

图4-8 训练数据图 20

图4-9 测试样本预测图 20

图4-10 误差曲线图 21

表清单

表序号 表名称 页码

表4-1 函数表 14

表4-2 10天风功率数据表 15

1 绪论

电力是一个国家发展的重要支柱,从最最基础的火力发电、核能发电、水力发电,到现在的太阳能发电、风力发电等。发电技术无处不在,且越来越偏向于清洁能源的发电。同时多元的发电形式,对电力市场也造成了巨大的影响,电力的价格也在不断的变化之中。风力发电的大规模引入给电力市场和电力系统运营商带来了许多挑战,他们在做出调度和调度决策时必须应对风力发电的可变性和不确定性。风力发电预测(Wind Power Forecast,WPF)经常被认为是解决风力发电的可变性和不确定性以及更有效地运行具有大风力发电渗透的电力系统的重要工具。同时,在当前的市场中,风力发电在很大程度上决定了电的价格,这是最贴近居民生活的事情。因为预计风力发电的变化将影响能源和运营储备的清算价格。

随着风电的日益普及,WPF正迅速成为电力行业的一项重要指标。各国都计划致力于开发出更快捷方便、可靠性更高且结果更准确的预测模型。风力发电公司以及相关产业链也会从中获取很大的利益,这对市场的能源竞争起到了至关重要的作用。一般而言,WPF可用于很多方面,例如:确定好运行时的储备问题、对发电输电线路的维护、机组组合、经济调度、储能优化(如抽水蓄能)和能源交易。近年来,风力发电一直是世界上发展最快的可再生发电技术。截至2013年6月底,全球风电容量达到约300G瓦,其中13.9G瓦是在2013年的前六个月新增的。特别的是,加拿大在2013年上半年安装了377兆瓦,比2012年前一段时间增加了50%。特别是在加拿大的阿尔伯塔省,2012年底装机容量达到1087兆瓦,到2016年将增长到2388兆瓦。尽管风力发电具有环境效益,但其同样具有间歇性特性,可能影响电力系统安全性和可靠性。

风能是我国最重要的清洁能源之一,这是一个巨大的潜在能源宝库,是一种取之不尽,用之不竭且尚未得到大力开发利用的新能源。我国在风能开发利用方面考虑的比较全面,不仅大规模发展风能资源利用,同时也因地制宜开发,解决了边远地区的用电问题,这对我国发展和平有着重要的意义。而风电功率的预测,在风力发电中起着至关重要的作用。本文是基于Elman神经网络算法对风电功率预测算法的研究,对研究风能效率有巨大的现实意义。

2 研究现状

2.1 风电功率预测现状及方法

风能作为一种可再生的清洁能源,具有储量大、分布广的特点。它是能源互联网的重要组成部分之一。但它具有很强的波动性、随机性和不连续性,影响了电力系统的稳定运行。近年来,环境污染和化石能源生产不足的问题越来越严重。为了解决这些问题,可再生能源的利用已成为国内外研究的热点。风能是一种可再生能源。与传统能源相比,具有低污染、可再生、资源丰富的特点。风力发电技术成熟,广受青睐。然而,风能的强波动性、随机性和不连续性,对电力系统是否可以稳定运行起着重要的作用。所以为了更好的利用风能资源,预测风电功率就显得尤为重要了。

风电功率预测的含义是指“以风电场的历史功率、历史风速 、地形地貌、数值天气预报、风电机组运行状态等数据建立风电场输出功率的预测模型,以风速、功率或数值天气预报数据作为模型的输入,结合风电场机组的设备状态及运行工况,预测风电场未来的有功功率 ”。传统的风电功率预测流程是由它的原理所决定的,其中最主要的就是建模和预测这两个环节了。

在上面两个环节中,建模环节对预测精度有着决定性作用。所以,当预测模型不同时,我们通常把预测方法划分为三大类——物理方法、统计方法以及组合方法。下面对这三类方法分别介绍。

2.3 方法比较与选择

物理方法:物理方法的特点就是它不需要太多的历史数据,但在建模方面具有很高的难度。虽然不需要历史数据,但它需要知道风电机组所在地的位置、气候、压强等条件。所以物理方法适用于一处新建的电厂,且对电厂要求较高。

统计方法:当一所风电场运行一段时间之后,那么它就有了部分历史数据。且不同的风电场有不同的自适应性,得到的历史数据越多,覆盖面越广时,预测的结果越接近实际值。由于此种方法需要大量的历史数据去训练模型,且数据必须完整准确。所以统计方法适用于已经投入使用过一段时间的风电场。

组合方法:组合方法就是集中了物理方法与统计方法的优点,收敛速度明显提高,局部最小化的问题也可以得到解决。预测精度大大提高,且适用的场合更多更方便。但同时对各个方面的数据以及条件的要求也大大增加,需要把预测权重、参数的算法等考虑到,适用于各种风电场。

综述:组合方法相较于物理方法与统计方法具有很大的优越性,是方法的组合与集成。组合预测方法为风电场预测风功率提供了便利,提高了预测精度。它是各种单一方法集大成,综合了单一预测方法的特点,扬长避短,发扬了单一预测方法的优点,避免了各种缺陷,预测结果的可靠性得到了保障。但不同的地点、不同的气候、不同的预测时间尺度、不同的需求等都要考虑进去,做到因地制宜,科学合理使用预测方法。

综上,本文将采用基于人工神经网络中的Elman神经网络,这种神经网络是一种典型的局部回归网络,属于反馈神经网络的一种,与前向神经网络非常相似,具有更强的计算能力。其优点是具有很强的优化计算和联想记忆功能。所以采用此方法进行运算验证。下面将对此方法进行详细介绍。

3 人工神经网络算法原理

3.1 Elman神经网络

具有单向性的进行信号传输,是前馈型神经网络的最大特点。这种神经网络是静态神经网络的一种,它的整个的运算过程包含两部分——正向传播输入信息以及反向传播输出误差。

存在前馈神经网络的同时,也会存在反馈神经网络。前馈神经网络是静态网络,而反馈神经网络是动态神经网络的一种。同时反馈神经网络也具有动力学方面的一些特征。静态神经网络不适合风电功率预测,因为许多因素在无时无刻的变化中,这不适合静态系统做算法。所以,动态神经网络就很适合。

由于风电场中气温、压强、风速等在不断地变化中,所以采用动态神经网络中的Elman神经网络,可以更加真实的反应动态特性。Elman神经网络属于动态神经网络中比较典型的一种,电力系统经常用到这种神经网路。Elman神经网络的收敛速度比较快,且预测的结果通常比较接近实际结果。这种神经网络建立Elman神经网络模型,对风力发电功率进行预测,适用于短期风力发电功率预测。

20世纪90年代初期,有一位名叫Jeffrey L.Elman的数学家,在研究了很长时间的BP神经网路模型之后,对这种神经网路进行了改造。他在BP神经网络原有的基础上,新增了一个承接层,这样神经网络的结构就是输入层、隐含层、承接层、输出层四层。多出来的承接层,作为隐含层的节点反馈,充当一个演示算子的角色。当加入这层承接层后,系统的输入和输出之间就有了一定的延迟。这个时候,我们就需要用到动态方程来解释其中存在的运算过程。

与BP神经网络的结构相比,Elman神经网络的相同部分的结构在连接上并没有什么太大的区别。同样的,输入层的作用是传输输入信号,隐含层的作用是用来激活函数,而选择的函数是否是线性函数,并不会影响最后的整体的性能,隐含层接收到的信息,可以先在承接层内暂时储存,然后作为隐含层新的输入信号传输。这样历史数据就得到了充分的训练,网络对数据也愈加的敏感,整个网络处理信息的速度和效率也会大大提高。信息经过隐含层和承接层后,输出层会将收到的信号进行线性加权输出。

Elman神经网络对系统的数学模型方面,没有预先设定的要求。只要当系统的输入和输出同时存在时,就可以根据这两个条件建立数学模型。犹如是反馈型神经系统,所以输入信号对系统的初始状态起决定作用。当状态转移的次数一次一次增多时,网络的收敛程度也会越来越高,最终达到平衡,这时就得到了预测结果。所以,连接权值的设定,以及网络结构,都会影响到收敛速度,进而影响到最后的预测结果。

3.2 Elman神经网络结构及其预测流程

Elman的四层结构——输入层、隐含层、承接层、输出层中,输入层的作用是传输信号,输出层的作用是对输入层传输过来的信号进行线性加权,然后输出。隐含层可以传递非线性函数和线性函数这两种函数,承接层的作用是进行一步延时算子,它能够将隐含层单元之前的输出值进行保存并且反馈给神经网络隐含层。如图3-1所示。

图3-1 Elman神经网络结构图

在隐含层中,输出的数据进入到承接层中,承接层可以对这部分数据进行短暂的存储,然后反馈给隐含层,这就作为隐含层新的输入信号,这就是与BP神经网络的区别所在。这种结构的优点就是对历史数据的反应速度很快,且对于要处理的信息,也能较快的处理。同时它还可以动态建模。系统外的干扰因素——噪声等也可以忽略不计,系统会以合适的精度逼近合适的非线性映射。当输入和输出都为已知量后,系统可以更加方便的构建模型。

与BP神经网络的预测流程相比,Elman神经网络的预测流程并没有太大的区别性,主要的方面就是Elman加入了一个承接层,信息经过隐含层神经元输出以后,反馈值经过计算之后再次作为隐含层的输入,Elman神经网络的预测流程图如图3-2所示:

图3-2 Elman神经网络的预测流程图

3.3 Elman神经网络的学习过程与学习算法

3.3.1 Elman神经网络的学习过程

与结构图相对应,Elman神经网络的非线性状态空间描述形式为

(3-1)(3-2)(3-3)

其中,k表示时间点,y(k)表示k时刻输出层的输出,x(k)表示k时刻隐含层的输出。Xc(k)表示k时刻承接层的输出。向量u表示输入层的输入单元向量。向量w1为承接层到中间层的连接权值,向量w2为输入层到中间层的连接权值,向量w3为中间层到输出层的连接权值。函数g(x)为输出神经元的传递函数,是中间层输出的线性组合。函数f(x)一般为Sigmoid函数,是中间层神经元的传递函数。b 1、b 2分别为输入层和隐含层的阈值。

3.3.2 Elman神经网络的学习算法

定义Elman神经网络的误差函数为:

(3-4)

分别将E对w3、w2、w1求偏导:

(3-5)

令,所以:

(3-6)

同理可得:

(3-7)

令,代入(3.7),可得:

(3-8)

(3-9)(3-10)

若忽略Xc(k)对连接权值的依赖,则

(3-11)(3-12)

代入式(3.11),得:

(3-13)

由,将公式(3.6)、(3.8)、(3.10)演变完成以下形式:

(3-14)

(3-15)(3-16)

其中为学习速率。

公式(3-14)、(3-15)、(3-16)为Elman神经网络算法。通过公式多次调整连接权值,并代入公式(3-1)、(3-2)、(3-3)中计算网络输入误差,再进行多次训练,直到误差满足要求为止。

3.4 与BP神经网络的比较

在目前已知的神经网络中,反向传播神经网络(Back Propagation Neural Networks ,BPNN)是最为大众所熟知且使用率最高的算法。但是,一般情况下的BP神经网络具有目标函数存在局部最小值,训练时间长和收敛速度慢等缺点。

Elman神经网络相较于BP神经网络而言,输出既是输出层的输入,同时也会连接隐含层的另外一些神经元,反馈给隐含层,作为隐含层的输入。Elman神经网络不仅具有动态神经网络的在时域和空域进行模式识别,同时也具有静态神经网络的逼近能力,收敛速度因此可以大大提高,能在很大程度上避免BP神经网路中的计算复杂成俗高以及训练时间过长等缺点。

相同点:Elman神经网络与BP神经网络的相同点在于,这两种算法都是基于梯度下降法的基础,但同时都会出现训练速度慢和陷入局部极小点的缺陷,很难达到最理想的效果。

不同点:Elman属于动态反馈型网络的一种,它可以进行信息的存储,在内部进行反馈,利用过去的时刻输出信息。一方面可以实现静态系统的建模,另一方面在动态系统的映射方面也有不错的效果,可以直接反应系统的动态特性,所以在计算能力和稳定性方面比BP神经网络要更优秀一些。

4. 算法实现

4.1 MATLAB简介

MATLAB是一款由美国MathWorks软件公司所设计并出品的数学商业软件,这款软件主要是用于无线通信、进行深度学习、图像的处理与计算机视觉、分析数据、信号处理以及控制系统等领域。

MATLAB是由matrix和laboratory两个英文单词所组合而来的,它的汉语翻译为矩阵工厂,是一款著名的科学计算软件,同时也指这个软件中使用的编程语言。这里仅仅介绍最基本的MATLAB功能和语法。

界面介绍

图4-1 MATLAB的IDE界面

MATLAB的编程界面属于集成开发环境(IDE/Integrated Develop Environment),意思就是基本上所有的编程功能都会在这个界面完成。

MATLAB神经网络工具箱:

MATLAB中存在特殊的一个模块,那就是神经网络工具箱模块,同时这个模块可以利用MATLAB语言编写仿真程序。神经网络工具箱是在人工神经网络理论的基础上,对于各种函数,例如S型函数、三角函数等这些函数的激活函数,都可以通过神经网络工具箱进行编程仿真,实现预测功能。

随着科技的飞速发展,MATLAB软件的版本一次次的提高。目前最新版本的MATLAB软件功能齐全,内容较为丰富。现有的神经网络的几乎所有模型都可以在MATLAB中找到。由于经典学习算法比较成熟,所以在它的辅助下,很多建模方面的问题都可以得到解决。相比较于其他编程语言,MATLAB编程语言相对简单,不需要投入太多时间,所以程序的设计者们就可以在别的方面投入精力。此工具箱模块功能强大,同时MATLAB软件在数据处理方面功能强大,所以运用神经网络工具箱,完成风力发电功率预测算法是可以实现的。MATLAB神经网络工具箱函数也在不断更新的过程中,目前现在最新的版本对原有的老版本在许多方面做了改进,也加入了许多新的函数,这些函数同时也会部分运用到此预测算法中:函数的名称和用途如表4-1所示。

表4-1 函数表

函数类别 函数名称 函数用途

神经网络仿真函数 sim 根据已知的输入确定网络输出

神经网络训练函数 Train 通过调用其他训练函数训练网络

trainb 训练权值和阈值

adapt 自适应函数

神经网络学习函数 lcarnp 权值和阈值的学习

初始化函数 lcarnpn 标准学习函数

revert 将权值和阈值恢复到最后一次初始化时的值

init 网络的初始化

initlay 多层网络的初始化

initnw 利用Nguyen-Widrow准则对层进行初始化

initwb 调用指定的函数对层进行初始化

神经网络输入函数 netsum 输入求和函数

netprod 输入求积函数

concur 使权值向量和阈值向量的结构一致

传递函数 hardlim 硬限幅函数

hardlims 对称硬限幅函数

其他 dotprod 权值求积函数

4.2 算法实现过程

4.2.1 短期负荷预测系统建模

选取某地的风电功率历史数据作为训练样本,运用Elman神经网络对下一阶段的风电功率数据进行预测。表4-1所示为选取部分天数风功率表,表中所有的因素,例如:风速、压强、绝对湿度等都是我们预测风功率要考虑的因素。

表4-2 10天风功率数据表

风功率数据/wh 风速 压强 风向 风向1 风向2 绝对湿度

2219 1 1180 0 0 7 1180

5380 2.25 2570 0 0 7 2170

1800 1 770 0 0 6 770

6040 3 1960 0 0 7 1050

5100 2 1680 0 0 8 1680

12250 4.5 5420 0 0 11 3890

2575 2.25 1715 0 0 7 1715

2918.5 1.5 1060 0 0 7 1060

2295 1 1780 0 0 7 1050

3230 2.5 1890 0 0 7 1890

首先,参照第三章的方法对历史数据进行预处理,预处理过后再对样本数据进行归一化处理,由于各个输入量的单位并不相同,甚至相差好几个数量级。在这种情况下,如果不对输入量进行任何处理而直接输入,那么神经元在训练过程中陷入饱和状态的可能性很大。因此,需要完成对数据的归一化处理后再输入训练。使所有的数据在数量级上处于同一级别,这样做会使得神经网络的收敛有所提高,在完成预测后,再进行反归一化处理,使归一化后的功率数据再变为真实的功率值。

将数据转化为区间内的归一化公式如式(4.1)所示,其中Xi为输入样本归一化以前的值,Yi为输入样本归一化后的值,Xmax、Xmin分别为训练样本输入量的最大值和最小值。

(4-1)

接下来,需要对隐含层的神经元个数和网络的输入输出节点进行确定。到目前为止,对隐含层神经元数目的选取仍然没有一个特别完善的理论可以精确的确定,文献指出,在确定隐含层神经元数目时可参考 Kolmogorov定理,如果f(x)为连续函数,那么可以选用一个三层的神经网络来精确逼近。如果网络的输入层神经元数目为n个,那么隐含层神经元数目m=2n+1。文献中提出,可以运用公式来对隐含层神经元的个数进行确认,其中m为隐含层神经元数目,n为输入层神经元数目;k为输出层神经元数目。文献提出采用公式来确定隐含层节点数,其中a表示为的调节常数。

4.2.2 仿真分析

图4-2为Elman训练数据画图,图4-3为网络风功率测试数据预测画图。如图所示,预测数据虽然与真实数据有所偏差,但总体数据还是比较符合真实数据的要求。

图4-2 训练数据图

图4-2测试样本预测图

误差曲线图如下:

图4-4误差曲线图

如图4-3所示,Elman神经网络的预测相对误差大约在-4000——2250之间,计算之后大约在-4.8%——2.5%之间。预测结果比较理想,但在第三章提到过,气温、湿度、压强等因素也会对预测的结果造成影响。具体会有什么影响,不妨把某个因素去掉之后进行训练,观察预测结果会如何发生变化。计划把压强这一列的数据删除之后,再次进行仿真,观测结果是否有变化。仿真结果如下图所示。

图4-5 训练数据图

图4-6 测试样本图

图4-7 误差曲线

分析上述三张图,可以得出初步结论。当去掉风电数据表中压强这一列数据时,误差幅度变为-5000——3400,误差增长了大概2150左右。所以,压强、风速、空气湿度等因素也是风电功率预测中重要的不可或缺的环节。

第三章时分析了BP神经网络与Elman神经网络的相同点与不同点,所以当风电数据一样时,BP神经网络训练结果与Elman的差距,通过MATLAB仿真观测结果。BP神经网络训练结果如下。

图 4-8 训练数据图

图 4-9 测试样本图

图 4-10 误差曲线图

综上,可以对两种神经网络的效果做一下对比。同样的数据条件下,BP神经网络的误差幅度大概在-5100——2000左右,相较于Elman神经网络误差幅度大概高了850左右。可以得出结论,同样的条件下,Elman神经网络确实比BP神经网络具有一些优势,这也是本文选取Elman神经网络的原因。

5.总结与展望

风能是一种无污染的清洁可再生能源。它受风速、风向、空气密度、温度等因素的影响。风能是不可控制和随机的。风电场在温度变化小、气流缓慢时,功率波形相对稳定。当强低压系统(或气旋)、低空急流、雷暴、阵风或类似的长期极端气象事件发生时,风电场的功率会在短时间内迅速上升。当相对气象事件发生或风速大于断流风速时,以及部分风机相继停运时,风电场的功率会在短时间内迅速下降。根据波动过程将风力发电分为三类:大波动、小波动和随机扰动。大波动是指风电在异常工况下的较大波动;小波动是指由于天气变化引起的风力功率的正常波动;随机扰动是由大量高频随机扰动引起的一种随机处理。对风电序列进行归一化处理。

风力发电功率的预测结果,对电力系统有着至关重要的作用。对电力系统而言,这个结果将直接决定电力系统的安全稳定性。由于短期风电功率预测具有十分重要的研究意义,所以针对 Elma神经网络的部分功能缺陷以及 sigmoid函数影响收敛速度且容易出现局部极小值等问题。在原有的基础上,对 Elman神经网络的网络结构和激励函数做了相关的改进。最后以某地的历史负荷数据为样本,在考虑日类型的情况下,进行功率预测。在 Matlab环境下进行仿真,仿真结果表明,与BP 神经网络相比较,运用Elman神经网络进行功率预测,预测值和真实值更为接近,绝对误差和相对误差都有所下降。

本文的主要工作总结如下:

首先介绍了国内外目前对风电功率预测方面的研究以重视程度,接着对风电功率预测算法进行了比较简单且系统的介绍,从各个方面介绍了物理方法、统计方法以及组合方法的优缺点。

着重介绍了人工神经网络模块,并且详细描述Elman前馈神经网络的结构、作用等。对神经网络的缺陷进行了改进,并在原来的基础上加入承接层,对原有的函数进行优化。

在MATLAB环境下进行实例仿真,通过仿真结果可以得出结论,与BP神经网络的效果相比,Elman神经网络的效果明显提高,预测值与真实值更为接近。

附 录

Elman程序:

振动搅拌混凝土强度更高,工程搅拌站多少钱?
« 上一篇 2026-04-17
孕妇和老人要少喝酸奶,这两类人不宜多喝
下一篇 » 2026-04-17