欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载
     

    风电功率预测问题_数学建模全国一等奖论文.docx

    • 资源ID:3977141       资源大小:1.85MB        全文页数:62页
    • 资源格式: DOCX        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    风电功率预测问题_数学建模全国一等奖论文.docx

    答卷编号:论文题目:风电功率预测问题指导教师:金海参赛学校:北京理工大学报名序号:1550证书邮寄地址:北京理工大学中关村校区 徐厚宝 (学校统一组织的请填写负责人)风电功率预测问题摘要:本文着力研究了风电功率的预测问题。根据相关要求,本文中我们分别利用ARMA模型、卡尔曼滤波预测模型和小波神经网络预测模型对该风电场的风电功率进行预测。通过对预测结果各项评价指标的综合分析,发现:小波神经网络预测模型的精确度最高;单台风电机组预测误差与总机组预测误差成正相关性;多个风电机组的汇聚会使得总体的预测误差减小。另外,从神经网络的训练过程中,我们发现突加扰动是阻碍风电功率实时预测精度进一步改善的主要因素,风电功率的预测精度不可能无限提高。对于问题一,我们分别建立了ARMA、卡尔曼滤波、小波神经网络三种预测模型对指定的发电机组的输出功率进行了预测,取得了较为理想的结果。ARMA模型的预测精确度为75.4%79.3%,卡尔曼滤波模型的预测精确度为81.3%-95%,小波神经网络模型的预测精确度为92.1%94.7%,故小波神经网络的预测效果最好。对于问题二,我们分析比较了三种模型下单台机组和多机组5月21日至6月6日的平均相对预测误差,得知风电机组的汇聚会使得总体的预测误差减小。针对问题三,我们在问题一小波神经网络模型的基础上建立了遗传神经网络模型。经过仿真,我们发现该模型能显著减小峰值误差,有力地抑制时间延迟现象,有效地提高了预测的精确度。对仿真误差进行分析,我们指出突加的扰动是阻碍风电功率实时预测精度进一步改善的主要因素,预测的精度不可能无限提高。关键词:ARMA,卡尔曼滤波,小波神经网络,遗传神经网络64一、问题重述随着科学技术的发展,风力发电技术也得到快速发展。因为风力具有波动性、间歇性、能量密度低等特点,风电功率也是波动的。大规模风电场接入电网运行时,大幅度地风电功率波动会对电网的功率平衡和频率调节带来不利影响。因此,如何对风电场的发电功率进行尽可能准确的预测是急需解决的问题。本文在某风电场58台风电机组输出功率数据的基础上,需解决以下问题:(1) 至少采用三种预测方法对给定的数据进行风电功率实时预测并检验预测结果是否满足预测精度的相关要求。(2) 比较单台风电机组功率的相对预测误差与多机总功率的相对预测误差,分析风电机组的汇聚对于预测结果误差的影响,并做出预期。(3) 在问题(1)的基础上,构建有更高预测精度的实时预测方法,并用预测结果说明其有效性。(4) 在以上问题的基础上,分析论证阻碍风电功率实时预测精度进一步改善的主要因素。判断风电预测精度能否无限提高。二、问题分析本题是一个预测类问题,它以风力发电为背景,主要考察对于风电发电功率进行预测的能力。首先,被预测量是随时间变化的序列,被预测量随时间的变化规律具有很强的非线性,因此我们采用的算法不仅要能够对时间序列进行预测,还必须具备一定的非线性处理能力。针对问题一,我们建立三种模型,可以得到模型的预测结果。我们根据所给定的考核要求,能够计算得到模型的准确性。我们以准确性作为主要的评判标准,给出我们推荐的模型。在问题一中,我们已经得到了单台风电机组与多台发电机组功率的预测误差。进一步处理,我们可以给出单台发电机组与多台发电机组的相对误差。我们对所得相对误差数据进行统计分析,可以得到三、模型假设(1)观测数据真实可靠(2)短期内不存在大的自然灾害,例如地震、海啸以及台风等等(3)预测期间风电机组分布不变,发电机组性能不随时间发生变化四、参数说明滞后延迟算子风电功率的时间序列自回归的阶数零均值的系统白噪声移动平均的阶数均方百分比误差风电场的开机容量平均百分比误差精确度合格率时段的实际平均功率时段的预测平均功率N日考核总时段数状态空间模型的自回归系数小波神经网络的输入参数小波神经网络的预测输出、小波神经网络权值隐含层第个节点输出值输入层和隐含层的连续权值小波基函数的平移因子小波基函数的伸缩因子小波基函数第个隐含层节点的输出隐含层节点数输出层节点数期望输出小波神经网络预测输出学习效率BP神经网络第个节点的期望输出BP神经网络第个节点的预测输出基因的上界基因的下界当前迭代次数最大进化次数五、模型建立1风电功率实时预测及误差分析目前,风电功率预测的方法主要有持续预测法、时间序列法(包括AR、MA、ARMA、ARIMA等)、神经网络法(ANN)、小波分析法、支持向量机法(SVM)等。综合考虑风电功率的随机性特征和各算法的优缺点,我们选择了ARMA法、卡尔曼滤波法和小波神经网络等三种方法对风电功率进行了预测。1.1. ARMA预测模型1.1.1.ARMA模型的基本原理ARMA模型是常用的时间序列模型,其基本的类型为:(1) 自回归(AR)模型。为 (1)其中,为滞后延迟算子;为风电功率的时间序列;为自回归的阶数;为零均值的系统白噪声。(2) 滑动平均(MA)模型。为 (2)其中,为移动平均的阶数。(3)ARMA模型。为 (3)由以上三式可见,AR模型和MA模型可视为ARMA模型的特殊情况。ARMA模型的平稳条件是滞后多项式的根在单位圆外,可逆条件为的根都在单位圆外。ARMA模型对数据平稳性有要求,要在平稳时间序列的大前提下建模,所以要用ARMA模型预测风电功率,首先要检验风电功率时间序列的平稳性。时间序列平稳性检验常用的方法为增广Dickey-Fuller(ADF)检验,ADF检验包括一个回归方程: (4)上式左边为序列的一阶差分项,右边为序列的一阶滞后项、滞后差分项,有时还有常数项和时间趋势项。在进行ADF检验时,需根据实际情况选择回归中是否包括常数项、线性时间趋势及回归中的滞后阶数的选择可根据保证是白噪声过程的最小值的标准进行选择。在每种情况下,单位根检验都对回归式中的系数进行检验,如果系数显著不为零,那么包含单位根的假设将被拒绝,序列即是平稳的。1.1.2.平稳性检验我们取该风电场2006年5月10日至6月6日共28天的风电功率实测数据作为研究对象,以其中前21天地风电功率数据建立模型。首先采用ADF及ACF检验来检验该时间序列的平稳性:如该风电功率时间序列是平稳的,则满足ARMA模型前提;如该序列不平稳,则对差分后序列建立ARMA模型,如仍不平稳,则继续做差分,直到差分后序列平稳,ARMA建模前提满足为止。各风电机组的ACF检验结果如下图所示:图(1)a时间段机组ACF图 图(2)b时间段机组ACF图各风电机组的ADF检验结果见表1。ADF检验统计量1%临界值5%临界值10%临界值机组A-4.091682-3.433938-2.863011-2.567601机组B-5.830311-3.440688-2.865984-2.569195机组C-4.835924-3.440973-2.864253-2.567613机组D-4.257462-3.437082-2.867812-2.567915四台机组-5.648925-3.482525-2.864214-2.59844558台机组-4.956412-3.459961-2.857145-2.584562表 1 ADF检验结果比较ADF检验统计量与临界值大小,可判断时间序列是否平稳。由表1可见,以上六种情况的风电功率时间序列ADF检验统计量均小于1%临界值的显著水平,所以,在95%置信水平下有理由拒绝原假设,即本序列是平稳的,满足ARMA建模的前提条件,因此,可考虑将风电功率时间序列识别为结构。1.1.3.建立ARMA模型鉴于模型的识别具有很大的灵活性,为了得到最合理的模型,本文采取了定阶步骤,根据时间序列的自相关、偏相关函数分析图,对多组可行阶数进行了参数估计,对所有备选模型进行模型诊断,筛选出备选模型集。由于许瓦兹信息准则SIC的强一致性,在理论层面上能够渐进地选择真实模型,所以计算备选模型集中所有模型的SIC。考虑模型的可逆性和稳定性条件,得到数据样本的ARMA模型的参数如表2。机组A机组B机组C机组D四机组58机组p222222q222221表2 ARMA模型参数依照经典时间序列分析的步骤,在完成模型阶数识别后,使用极大似然估计法获得模型的参数估计模型分别为:PA: (5)PB: (6)PC: (7)PD: (8)P4: (9)P58: (10)1.1.4.预测结果及误差分析运用ARMA模型分别对5月31日0时0分至5月31日23时45分(记a时域)、5月31日0时0分至6月6日23时45分(记b时域)的PA, PB, PC, PD,P4,P58进行预测,得到原始风电功率和预测风电功率。预测结果如下图所示。图(3)a时段PA 功率预测曲线图(5)a时段PB功率预测曲线图(7)a时段PC功率预测曲线图(4)a时段PD功率预测曲线图(6)a时段P4功率预测曲线图(8)a时段P58功率预测曲线图(9)b时段PA功率预测曲线图(10)b时段PB功率预测曲线图(11)b时段PC功率预测曲线图(12)b时段PD功率预测曲线图(13)b时段P4功率预测曲线图(14)b时段P58功率预测曲线为了对预测结果的精度和可靠性进行评价、分析,我们采用以下判断指标对预测结果进行分析。(1)均方百分比误差: (11)(2)平均相对误差: (12)(3)精确度: (13)其中,为时段的实际平均功率;为 时段的预测平均功率;N为日考核总时段数(取96点-免考核点数);为风电场的开机容量。(4)合格率: (14)其中 (15) (16)通过Matlab的计算,我们得到各项指标结果如表3,表4。PAPBPCPD,P4P58均方百分比误差/%6.681101.4124.2725.79111.3966.85平均相对误差/%57.074641.0047.12165.4085.1452.28精确度/%63.7771.8668.6363.2979.3075.40合格率/%94.7968.7577.0887.5082.1175.00表3 ARMA模型时段a各项指标结果PAPBPCPD,P4P58均方百分比误差/%8.68923.0327.5336.5194.1965.32平均相对误差/%73.153773.3939.46182.3679.2558.46平均精确度/%62.4974.9073.8562.5769.8484.65平均合格率/%94.5188.6592.9483.6287.6296.01表4 ARMA模型时段b的各项指标结果通过分析,我们发现ARMA模型对于风电功率短期预测的趋势是好的。比较a时段和b时段的预测结果,a时段的预测精度相对高些,这是因为预测时间越长,风电功率波动性越强,因而建立的ARMA模型更难以描述风电功率的变化规律。另外,比较ARMA模型预测功率曲线和实际曲线,在变化规律发生改变时,预测曲线常常不能提前变化,而是存在一个“时滞”,所以,虽然ARMA模型基本能捕捉到风电功率曲线的变化规律,但该预测存在明显的延时性,而且精度不高。1.2. 卡尔曼滤波预测模型1.2.1.模型建立卡尔曼滤波法是采用状态方程和观测方程组成的线性随机系统的状态空间模型来描述滤波器,并利用状态方程的递推性,按线性无偏最小均方差估计准则,采用递推算法对滤波器的状态变量做最佳估计,从而求得滤掉噪声的有用信号的最佳估计。卡尔曼滤波算法可用于滤波、预测和平滑方面。本文利用卡尔曼滤波法对风电功率进行预测。要实现卡尔曼滤波法预测风电功率,首先必须推到出正确的状态方程和测量方程。因已通过时间序列分析建立了风电功率时间序列的ARMA模型,故可将ARMA模型转换到状态空间,建立卡尔曼滤波的状态方程和测量方程。对于一般的ARMA模型,可设为,其方程为 (17)假定扰动项都是关于t的白噪声,为了更容易转换,首先将上式改写为 (18)其中,。当时,;当时,。此时,是经过零均值化所得时间序列。式(17)、(18)为模型,可写成状态空间模型为 (19)其中,且,;为状态空间模型的自回归系数。即状态方程为: (20)测量方程: (21)状态空间方程和测量方程已经确立,只要确定相关的初始状态和,就可以利用递推方程进行迭代预测,但在实践中很难准确掌握初始状态和。卡尔曼预测在递推中不断用新的信息对状态进行修正,所以当预测时间足够长,初始值和对预测的影响将会衰减为零。考虑到收敛的速度和参考工程习惯,取初始值和。取系统噪声和测量噪声的协方差矩阵为单位阵,应用Matlab软件实现卡尔曼波预测风电功率。1.2.2.卡尔曼滤波法预测结果通过Matlab程序实现卡尔曼波预测算法,我们得到预测结果。图(15)a时段PA 功率预测曲线图(16)a时段PB功率预测曲线图(17)a时段PC功率预测曲线图(19)a时段PD功率预测曲线图(18)a时段P4功率预测曲线图(20)a时段P58功率预测曲线图(21)b时段PA功率预测曲线图(22)b时段PB功率预测曲线图(23)b时段PC功率预测曲线图(24)b时段PD功率预测曲线图(25)b时段P4功率预测曲线图(26)b时段P58功率预测曲线卡尔曼滤波模型得到的各项评价指标结果如表5,表6。PAPBPCPD,P4P58均方百分比误差/%8.815.756.167.454.796.84平均相对误差/%56.7346.6550.2959.438.3434.44精确度/%86.185.5984.5184.2381.3795.03合格率/%92.7193.7593.7590.6279.1798.96表5 卡尔曼滤波模型a时段各项指标结果PAPBPCPD,P4P58均方百分比误差/%6.746.166.246.775.736.46平均相对误差/%48.9556.9549.7148.4939.0749.83平均精确度/%87.4889.5986.2186.4890.1693.23平均合格率/%94.7193.7594.7993.7296.8897.92表6 卡尔曼滤波模型b时段各项指标结果通过分析该模型得到的功率预测曲线图及相关数据,我们发现该模型的预测结果曲线和实际功率曲线在形状上比ARMA预测结果更为接近,在风电功率变化规律改变时,卡尔曼滤波有时能捕捉到变化信息,模型给出的预测值滞后于实际值的概率相对降低,使“时滞”问题较为缓和,所以,应用卡尔曼滤波法预测风电功率不仅提高了预测精度,而且在一定程度上解决了时间序列分析法的预测时延问题。但由于卡尔曼滤波方法受到ARMA方程的限制,使得在预测效果上仍有上升的空间。1.3. 小波神经网络预测模型上文的ARMA模型和卡尔曼滤波模型都属于线性模型,都必须先对模型结构做出假设,然后对模型参数的估计得到预测值。因此,模型结构的合理与否,直接影响到最终预测的精度。由于风电场功率具有高度的不确定性,因而单一的线性预测模型不足以挖掘风电功率数据中的所有信息。而神经网络具有自学习、自组织和自适应性,可以充分逼近任意复杂的非线性关系,所以本文选择小波神经网络方法对风电功率进行非线性预测研究。1.3.1.小波神经网络法基本原理小波神经网络是一种以神经网络拓扑结构为基础,把小波基函数作为隐含层节点的传递函数,信号前向传播的同时误差反向传播的神经网络。小波神经网络的拓扑结构如图(27)。图(27)小神经网络拓扑结构图(15)中,是小波神经网络的输入参数,是小波神经网络的预测输出,和为小波神经网络权值。在输入信号序列为时,隐含层输出计算公式为 (22)其中,为隐含层第个节点输出值;为输入层和隐含层的连续权值;为小波基函数的平移因子;为小波基函数的伸缩因子;为小波基函数。该模型中采用的小波基函数为Morlet母小波基函数,数学公式为: (23)小波神经网络输出层计算公式为: (24)其中,为隐含层到输出层权值;为第个隐含层节点的输出;为隐含层节点数;为输出层节点数。小波神经网络权值参数修正算法采用梯度修正法修正网络的权值和小波基函数参数,从而使小波神经网络预测输出不断逼近期望输出。小波神经网络修正过程如下。(1) 计算网络预测误差 (25)其中,为期望输出;为小波神经网络预测输出。(2) 根据预测误差修正小波神经网络权值和小波基函数系数 (26) (27) (28)其中,、是根据网络预测误差计算得到: (29) (30) (31)其中,为学习效率。小波神经网络算法训练步骤如下。步骤1:网络初始化。随机初始化小波函数伸缩因子、平移因子以及网络连接权重、,设置网络学习速率。步骤2:样本分类。把样本分为训练样本和测试样本,训练样本用于训练网络,测试样本用于测试网络预测精度。步骤3:预测输出。把训练样本输入网络,计算网络预测输出并计算网络输出和期望输出地误差。步骤4:权值修正。根据误差修正网络权值和小波函数参数,使网络预测值逼近期望值。步骤5:判断算法是否结束,如没有结束,返回步骤3.1.3.2.模型建立首先采集28天的风电功率数据,每隔15min记录一个时间点,共有2688个时间节点的数据,用前22天的风电功率数据训练小波神经网络,最后用训练好多的神经网络预测之后的功率数据。基于小波神经网络的风电功率预测算法流程图如图(28)所示。图(28)小波神经网络测试小波神经网络的拓扑结构如下图所示:图(29)小波神经网络训练:用训练数据训练小波神经网络,网络反复训练100次。神经网络网络测试:用训练好的小波神经网络预测风电功率,并对预测结果进行分析。1.3.3.预测结果 利用Matlab处理数据并进行计算,我们得到基于小波神经网络的风电功率预测结果。图(30)a时段PA功率预测曲线图(32)a时段PB功率预测曲线图(31)a时段PC功率预测曲线图(33)a时段PD功率预测曲线图(34)a时段P4功率预测曲线图(35)a时段P58功率预测曲线图(36)b时段PA功率预测曲线图(37)b时段PB功率预测曲线图(38)b时段PC功率预测曲线图(39)b时段PD功率预测曲线图(40)b时段P4功率预测曲线图(41)b时段P58功率预测曲线小波神经网络模型得到的各项评价指标结果如表7,表8。PAPBPCPD,P4P58均方百分比误差/%7.8911.46382.5328.736.955.05平均相对误差/%51.0161.86454.95108.7927.4621.63精确度/%83.1883.6989.8684.4992.1294.73合格率/%94.7998.9689.5891.6798.9698.96表7 小波神经网络模型a时段各项指标结果PAPBPCPD,P4P58均方百分比误差/%24.7051.2218.7135.348.451.76平均相对误差/%176.13290.51134.03207.7154.5721.62平均精确度/%87.4688.0090.8390.994.2595.38平均合格率/%96.1397.6298.8197.7799.8598.85表8 小波神经网络模型b时段各项指标结果小波神经网络模型中我们得到预测结果:单机组的平均精确度达到85%,合格率达到93%,而58机组的精确度达到94%,合格率达到97%;小波神经网络的预测结果已经相当精确。对小波神经网络预测曲线与线性预测模型的预测曲线进行对比,可以看到:神经网络对于风电功率的描绘更加平缓,但神经网络的预测结果的平均相对误差和卡尔曼滤波法预测结果的平均相对误差近似。1.4.预测效果分析本文采用了ARMA模型、卡尔曼滤波预测算法和小波神经网络算法对a时段和b时段的各机组的风电功率数据样本进行了预测。分析表1表6的预测效果评价指标,我们得到以下认识:(1) 应用上述三种风电功率预测模型进行风电预测都能达到较好的预测效果,预测曲线基本能较好地反映风电功率的变化趋势。比较单台机组与多台机组的风电功率预测误差及精确度等,可以看出多台机组的预测精度更高,这是因为单台机组受风的随机特性的影响较大。(2) ARMA模型是风电功率预测的最常用方法,这是因为ARMA模型利用历史风电功率数据建立预测方程,根据风电功率的连续性,通过统计分析,进一步推测未来时刻风电功率发展的趋势,方法比较简单,并且预测效果也比较稳定,适合于工程应用,但是缺点在于ARMA模型为线性模型,使得预测精度的提高受到限制。(3) 卡尔曼滤波预测模型是一种最小方差估计的递推式滤波方法,能够前一时刻的预测误差及时修正下一时刻的预测值,对预测效果的改善有一定的作用。但是,卡尔曼滤波预测模型是基于ARMA模型的,并且不能很好的改善ARMA模型预测的滞后特征,使得预测精度仍有提高的空间。(4) 小波神经网络是风电功率预测方法中有代表性的一种。由于线性预测模型不足以挖掘风电功率中的所有信息,而神经网络具有自学习、自组织和自适应性,可以充分逼近任意复杂的非线性关系,所以神经网络应用于风电功率预测能够达到较好的预测效果。综上所述,对于单台机组进行风电功率预测时,采用线性方法如ARMA和卡尔曼滤波等,能够满足建模需要,方法基本可用。对精确度要求较高时,应该首先考虑小波神经网络法。在工程应用中,对于风电场的风电功率进行预测时,首先应该分析该序列的特性,从而选择合理有效地预测方法。对于多机组风电功率的预测,小波神经网络能更好的挖掘时间序列的非线性规律,起到良好的预测作用。2.风电机组的汇聚对于预测结果误差的影响我国主要采用集中开发的方式开发风电,各风电机组功率汇聚通过风电场或风电场群接入电网。众多风电机组的汇聚会改变风电功率波动的属性,从而可能影响预测的误差。基于问题1的预测结果我们得到三种预测方法下的单台风电机组功率(PA,PB,PC,PD)的相对预测误差与多机总功率(P4,P58)预测的相对误差,如表9。PAPBPCPDP4P58ARMA预测模型57.07464147.12165.4085.1452.28卡尔曼滤波预测模型56.7346.6550.2959.4038.3434.44小波神经网络预测模型51.0161.86451.95108.7927.4621.63表9 单机/多机预测功率相对误差比较由上表可知,对于每种风电功率预测模型的预测结果,多机总功率P58或P4预测的相对误差大部分情况下比单机预测的相对误差小。可能原因是,风力在空间中的分布具有波动性和不均等性,单台发电机覆盖的空间范围有限因此随机波动的程度较大。由多台机组构成的分析系统覆盖范围广,与局部波动性相户弥补使整体稳定性较高,因此多台机组预测比单台机组预测相对误差小。 从以上的比较中我们发现风电机组的汇聚对于预测结果误差有影响。显然,风电是一种间歇性、波动性电源,大规模风电的汇聚对电力系统的安全稳定运行带来了挑战。为克服风电波动对电力系统运行的不利影响,必须对电力系统进行有效的计划和调度,加大电力系统的旋转备用容量。旋转备用容量的增加间接地增加了风力发电的运营整体成本,所以需要对风电场的风电功率进行实时预测。因此风电功率预测对于电网安全经济调度、电力市场及风电场运行就显得意义重大。3.风电功率实时预测的改进在对风电功率实时预测的研究中,我们发现神经网络模型具有较好的预测精度,同时也发现小波神经网络模型存在一些问题,影响预测的精度。我们发现小波神经网络对与峰值数据的预测精度不是非常理想。为了进一步提高预测精度,减小网络对峰值的预测误差,我们采用遗传算法先优化网络的拓补结构,再优化网络参数。最后,我们用改进的模型进行了仿真,取得了比较理想的预测结果。3.1遗传神经网络算法基本原理3.1.1遗传算法遗传算法(Genetic Algorithm, GA)是一种基于自然选择和基因遗传学原理的优化搜索方法。它将“优胜劣汰,适者生存”的生物进化原理引入待优化参数形成的编码串群体中,按照一定的适配值函数及一系列的遗传操作对个体进行了筛选,从而使适配值高的个体被保留下来,组成新的群体,新群体中包含上一代的大量信息,并且引入新的优于上一代的个体。这样的周而复始,群体中的适应度不断提高,直到满足一定的条件为止。遗传算法的基本原理如下图所示:图(42)遗传算法的特点如下:1) 遗传算法对参数的编码进行操作,而非对参数本身。2) 遗传算法从许多点开始进行操作,并非局限于一点,因而可以有效地防止搜索过程中收敛于局部最优解。3) 遗传算法通过目标函数来计算适配值,而不需要其它推导和附加信息,对问题的依赖小4) 遗传算法的寻优规则是由概率决定的,而非确定性的。5) 遗传算法在解空间进行高效启发式的搜索,而非穷举或完全随机搜索。6) 遗传算法对于待寻优的函数基本无限制,它既不要求连续,也不要求可微,既可以是数学表达式的显函数,又可以是映射矩阵甚至是神经网络等隐函数,因而应用范围较广。7) 遗传算法具有并行运算的特点,因而可以通过大规模并行运算来提高计算速度。8) 遗传算法更适合大规模复杂问题的优化。9) 遗传算法计算简单,功能强。遗传算法提供了一种求解复杂系统优化问题的通用框架。3.1.2遗传算法优化神经网络遗传算法与神经网络算法的结合就是利用GA优化网络的拓补结构,如网络层数和每层的节点数,以及各层节点间的连接关系。根据某些性能评价准则(如学习速度,泛化能力或结构复杂程度等)搜索结构空间中满足问题要求的最佳神经网络结构。遗传神经网络算法流程如下图所示:图(43)3.2 遗传神经网络模型的建立我们根据遗传算法和BP神经网络理论,在MATLAB软件中编程实现了基于遗传算法优化BP神经网络非线性系统拟合算法。我们首先设置了种群的规模。根据输入数据的维数,我们设定种群的规模为10,进化次数为50次,交叉概率为0.4,变异概率为0.2。3.2.1适应度函数我们根据个体得到了BP神经网络的初始权值和阈值,用训练数据训练BP神经网络后预测系统输出,把预测输出和期望输出之间的绝对值和E作为个体适应度值F,计算公式如下: (32)式中,为网络输出节点数;为BP神经网络第个节点的期望输出;为第个节点的预测输出;为系数。3.2.2选择操作 我们接着定义了遗传算法的选择操作。我们选择轮盘赌法,即基于适应度比例的选择策略,每个个体的选择概率为 (33) (34)式中,为个体的适应度值;由于适应度值越小越好,所以在个体选择之前对适应度值求倒数;为系数;为种群个体数目。3.2.3交叉操作我们接着定义了交叉操作。个体我们采用实数编码,所以交叉操作方法采用实数交叉法,第个染色体和第个染色体在位的交叉操作方法如下: (35) (36)式中,是0,1区间的随机数。3.2.4变异操作选取第个个体的第个基因进行变异,变异的操作方法如下: (37)其中,为基因的上界;为基因的下界;为一个随机数;为当前迭代次数;是最大进化次数;为0,1间的随机数3.2.5主函数程序段代码如下%去训练数据和预测数据input_train=input'output_train=output'input_test=input_test'%数据归一化inputn,inputps=mapminmax(input_train);outputn,outputps=mapminmax(output_train); %构建网络net=newff(inputn,outputn,8); %BP神经网络参数net.trainParam.epochs=30;net.trainParam.lr=0.01;net.trainParam.goal=0.0000004; %BP神经网络训练·net=train(net,inputn,outputn);% BP网络预测%预测输入数据归一化inputn_test=mapminmax('apply',input_test,inputps);%网络预测输出an=sim(net,inputn_test);%网络输出反归一化BPoutput=mapminmax('reverse',an,outputps);% 结果分析figure(1)plot(BPoutput,':og')hold onplot(output_test,'-*');legend('预测输出','期望输出','fontsize',12)title('BP网络预测输出','fontsize',12)xx,=size(BPoutput);plot(1:xx,BPoutput,1:xx,output_test)xlabel('样本','fontsize',12)ylabel('输出','fontsize',12)print -dtiff -r600 4-3%预测误差error=BPoutput-output_test;figure(2)plot(error,'-*')title('神经网络预测误差')figure(3)plot(output_test-BPoutput)./BPoutput,'-*');title('神经网络预测误差百分比')errorsum=sum(abs(error)3.3模型检验 我们利用建立的遗传神经网络模型分别对时间段A号风力发电机功率、时间段58台风力发电机总功率、时间段B号风力发电机功率进行仿真,网络的训练结果如下图所示:图(44)时间段58台风力发电机总功率进行仿真结果如下:图(45)a时段A发电机功率预测曲线图(46)a时段A发电机功率预测误差百分比曲线图(47)a时段58台发电机总功率预测曲线图(48)a时段58台发电机总功率预测误差百分比曲线图(49)b时段A发电机功率预测曲线图图(50)a时段A发电机功率预测误差百分比曲线图(51)b时段58台发电机总功率预测曲线图图(52)a时段58台发电机总功率预测误差百分比曲线我们发现模型对于峰值有着很理想的预测精度,模型整体的预测精度得到了很大的提高。并且,模型对于发电机发电功率随时间的变化趋势预测非常准确,网络的泛化能力很好,时间延迟现象得到了很大的改善。我们对仿真结果进行分析我们发现在大多数观测点误差百分比在零附近上下波动。误差百分比较大的点会随机出现,没有确定规律。我们认为风速与风向不仅仅受当地地理位置等确定性因素的影响,还受人类活动、大气异常运动等突加因素的影响。因而,风速与风向随时间的变化关系不是确定的,受突加扰动的影响。受扰动影响的风速与风向决定了发电机组的功率的变化规律具有一定的不确定性。由于神经网络模型只能学习并刻画已有的规律,因而产生了一定的误差。我们认为突加的扰动是阻碍风电功率实时预测精度进一步改善的主要因素。在现实环境下,突加的扰动无法彻底消除,因而风电功率预测精度不可能无限提高。六、结论和展望1.结论本文利用ARMA模型、卡尔曼滤波预测模型、小波神经网络预测模型对风电场的风电功率进行了预测,论证了上述方法的可行性,并对这些算法的精确度进行了比较及探讨。在这些模型的基础上,我们改进了小波神经网络算法,又提出了遗传神经网络预测模型,预测结果表明,该模型的精确度更高。2.有待解决的问题(1)虽然风电功率时间序列已经包含了各种与之相关的影响因素(天气、大气情况、地形因素等)的信息。但由于原始数据的限制,没能在风电功率中引入天气、温度、风向等其他因素的影响。如果能引入多种影响的变量,丰富样本空间中影响因素的数据,缩短预测的时间,将

    注意事项

    本文(风电功率预测问题_数学建模全国一等奖论文.docx)为本站会员(椰子壳)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开