您好,欢迎来到微智科技网。
搜索
您的当前位置:首页风电功率预测模型

风电功率预测模型

来源:微智科技网


第一页

答卷编号:

论文题目:A题 风电功率预测问题

指导教师:

参赛学校:

报名序号:

证书邮寄地址:

(学校统一组织的请填写负责人)

第二页

答卷编号:

论文等级 阅卷专家1 阅卷专家2 阅卷专家3

2

A题 风电功率预测问题

摘要

风能是一种可再生、清洁的能源,风力发电技术的进一步研究和开发对解决能源危机、缓解环境压力以及提升经济发展水平具有重大的意义。据此,本文通过建立一系列数学模型来研究和探索风电功率的预测以及提高预测精度问题。

针对第一问,本文提出指数平滑法、小波神经网络以及时间序列ARMA三种预测模型对风电功率进行预测。指数平滑法采用平滑公式为:

stxt1(1)St1,01,t3,通过调整平滑参数来优化预测精度;小波

神经网络采用的小波基函数为Morlet母小波基函数,小波神经修正采用梯度修正法;ARMA模型通过确定自回归阶数和移动平均阶数来构造预测表达式。结果为: 合格率 准确率 MSE 指数平滑法 0.927 0.721 0.076 小波神经网络 0.719 0.688 0.57 ARMR 0.947 0.876 0.194 针对第二问,本文在第一问所求结果的基础上,使用熵值赋权法对三种模型进行归一化处理,所得权值向量为w(0.3246,0.3344,0.341),得到一组基于以上三种模型的预测数据。使用拟合与聚类分析得出单机系统对多机系统P4的相关性高于对总机系统的相关性,据此,使用基于李雅普诺夫中心极限定理的通过假设相对误差小于题目要求的概率模型,求得单机组和多机组的通过检验概率为: 机组 属性 通过概率 A 77.% B 62.17% C 78.23% D 77.94% P4 P58 77.94% 80.0% 最后得出普遍性规律为:由于多机预测较精确,可以用多机系统的预测结果对单机进行预测。修正单机系统预测所带来的相对误差,提高精度。

针对问题三,本文建立基于遗传算法的ARMA模型,对ARMA模型的阶数进行优化。定义平均相对变动值(ARTD),并令遗传算法的适应度函数为:

1。最后得到具有更高预测精度的模型。具体指标值如下表: f(x)ARTD机组 P58 P4 C D A B 属性 准确率(单位:%) 88.0 85.6 84.8 87.4 90.4 93.4 合格率(单位:%) 95.2 94.6 95.0 95.1 99.0 99.5 本文提出的模型对风电功率的预测具有重大的借鉴意义,并可将其模型推广应用至工程预测、股票分析、生产计划等问题上。

1

关键字:风电功率预测、时间序列、指数平滑法、小波神经网络、遗传算法

1 问题重述

1.1 问题背景

根据百度百科,“风”是“跟地面大致平行的空气流动,是由于冷热气压分布不均匀而产生的空气流动现象”。风能是一种可再生、清洁的能源,风力发电是最具大规模开发技术经济条件的非水电再生能源。现今风力发电主要利用的是近地风能。近地风具有波动性、间歇性、低能量密度等特点,因而风电功率也是波动的。大规模风电场接入电网运行时,大幅度地风电功率波动会对电网的功率平衡和频率调节带来不利影响。如果可以对风电场的发电功率进行预测,电力调度部门就能够根据风电功率变化预先安排调度计划,保证电网的功率平衡和运行安全。因此,如何对风电场的发电功率进行尽可能准确地预测,是急需解决的问题。

根据电力调度部门安排运行方式的不同需求,风电功率预测分为日前预测和实时预测。日前预测是预测明日24小时96个时点(每15分钟一个时点)的风电功率数值。实时预测是滚动地预测每个时点未来4小时内的16个时点(每15分钟一个时点)的风电功率数值。在附件1国家能源局颁布的风电场功率预测预报管理暂行办法中给出了误差统计的相应指标。并得知某风电场由58台风电机组构成,每台机组的额定输出功率为850kW。附件2中给出了2006年5月10日至2006年6月6日时间段内该风电场中指定的四台风电机组(A、B、C、D)输出功率数据(分别记为PA,PB,PC,PD;另设该四台机组总输出功率为P4)及全场58台机组总输出功率数据(记为P58)。

1.2 需要解决的问题

问题一:风电功率实时预测及误差分析

请对给定数据进行风电功率实时预测并检验预测结果是否满足附件1中的关于预测精度的相关要求。具体要求:

1)采用不少于三种预测方法(至少选择一种时间序列分析类的预测方法); 2)预测量:

a.PA, PB, PC, PD; b.P4; c.P58。

3)预测时间范围分别为(预测用的历史数据范围可自行选定):

a. 5月31日0时0分至5月31日23时45分;

2

b. 5月31日0时0分至6月6日23时45分。

4)试根据附件1中关于实时预测的考核要求分析你所采用方法的准确性; 5)你推荐哪种方法?

问题二:试分析风电机组的汇聚对于预测结果误差的影响

在我国主要采用集中开发的方式开发风电,各风电机组功率汇聚通过风电场或风电场群(多个风电场汇聚而成)接入电网。众多风电机组的汇聚会改变风电功率波动的属性,从而可能影响预测的误差。

在问题1的预测结果中,试比较单台风电机组功率(PA,PB,PC,PD)的相对预测误差与多机总功率(P4,P58)预测的相对误差,其中有什么带有普遍性的规律吗?从中你能对风电机组汇聚给风电功率预测误差带来的影响做出什么样的预期?

问题3:进一步提高风电功率实时预测精度的探索

提高风电功率实时预测的准确程度对改善风电联网运行性能有重要意义。请你在问题1的基础上,构建有更高预测精度的实时预测方法(方法类型不限),并用预测结果说明其有效性。 通过求解上述问题,请分析论证阻碍风电功率实时预测精度进一步改善的主要因素。风电功率预测精度能无限提高吗?

2 模型假设

1、每台机组的额定输出功率为850kW。

2、只根据历史数据进行预测,不考虑历史风速、具体位置等客观因素的影响。 3、初始数据来源真实、可靠。

4、忽略储能设备和人为因素带来对数据真实性的影响。

3 符号说明

xisi:风电功率实际点数据值 :风电功率平滑点数据值

t:任意时刻

st

:t时刻的风电功率平滑点数据值

3

er(PPk)PMkPPk定义预测值PPk的相对误差

PMk:

PMkPPk,(iA,B,C,D...,k1,2,...,96)PMkk1N1AVG(er(Pi))N定义单电机平均相对误差 :

R:相关系数 MSE:均方根误差

4 问题分析

问题一分析:

本小问要求根据给定的风电机组功率的相关数据,运用不少于三种方法(至少一种时间序列分析类的预测方法)构造风电功率预测模型。由于近地风的波动性与间歇性等特性决定了风电功率的波动性与随机性,也使得风电功率预测不能简单的利用回归模型进行拟合预测。

模型一中风电功率的预测将基于指数平滑法实现。根据最近的一个历史数据来拟合下一时刻的预测值,是最为传统的方法也是最为简单实现的方法[1]。而指数平滑法的基本思想是利用当前周期的指标和前面的指标来预测下一个周期的指标,其根据参数对每个数据赋予不同的权重,从而获得更好的拟合曲线和预测结果[2]。它是一种基于移动平均法基础上对权数加以改进,使其在处理时较为经济的预测方法,它能提供良好的短期预测,在经济学中广泛应用于生产和股票的预测。

观察到各机组的实际功率与时间的变化图形,我们可以观察到,风电发电机组该时刻的功率与前几个时间点的相关性很高,说明了在风电机组功率变化中,某时刻的实际功率与本机组前几个时间点的功率值有一定的关系,而且风电功率在24小时内有准周期的性质。根据这一性质,模型二可以将基于小波神经网络对其进行预测。

如若将预测指标随时间推移而形成的数据序列看作是一个随机序列,这组随机变量所具有的依存关系体现着原始数据在时间上的延续性。一方面,外界因素的影响,另一方面,又有自身变动规律。因此,模型三引入ARMA模型对风电功率进行实时预测。 问题二分析:

本小问要求在第一问所得预测结果的基础上,分析风电机组的汇聚对于预测结果误差的规误差的影响以及探索单台风电机组功率的相对误差与多机总功率预测的相对误差的普遍性规律。可分为两步进行。

首先,研究单机组系统和多机组系统的相关性。根据一般规律,单台机组(A,B,C,D)与P4机组(由A,B,C,D机组组成的多机系统)的相关性应高于与P58

4

机组(即总机组)的相关性,可使用拟合的R值检验和聚类分析进行验证。 在此基础上,并依据李雅普诺夫中心极限定理求解概率的思想,求解单台机组和多台机组通过国家能源局所规定要求的概率,通过对比单机组和多机组通过检验的概率,推测最后,给出具体的普遍性规律。 问题三分析:

由于ARMA(p,q)模型的定阶过程存在一定的随机性和不确定性,为此,综合考虑模型的各种制约因素,可尝试使用遗传算法对自回归阶数以及移动平均阶数进行优化,建立基于遗传算法的ARMA(p,q)模型,使其具有更高实时预测精度。

5模型建立与模型求解

问题一求解:

5.1模型一:指数平滑法 5.1.1模型一的建立:

单指数平滑具有一个平滑参数。分析本题所给数据无明显的变化趋势,适合用单指数平滑方法进行预测。本模型将纵向进行拟合,利用每一天同一时刻的数据拟合下一天的该时刻的预测值。平滑公式,方法及预测公式介绍: (1) 平滑公式:

s t时刻的平滑值t公式如下:

stxt1(1)St1,01,t3 (1)

(2) 初始化 单指数的平滑起点是

s2,有两种方法初始化

s2,一种是

s2x1,另一种是取实际

前4个或5个值的平均值。本模型采用第一种方法进行初始化。 (3) 预测公式:

t1时刻的平滑指数公式为:

st1xt(1)St,01,t3 (2)

ti时刻的平滑指数公式为:

stixt(1)Sti1,01,t3 (3)

5

其中i表示所进过的时刻点。

结合(2)(3)式,可以对平滑公式进行扩展可得基本的平滑公式为:

stxt1(1)xt2(1)2St2 (4)

对(4)式进行递归直到

t3i1s2,可得下面公式:

i1st(1)xti(1)t2St2,t2 (5)

i1(1)其中权重呈几何递减,可以直到较早的数据权重相对较少,而较近的

数据权重相对较大。 (4) 平滑参数确定

指数平滑模型拟合程度和预测结果的好坏取决于平滑参数的选取。大多数

情况下指数平滑预测的参数主要依靠经验。通常,当时间序列波动很大,长期趋势变化幅度较大,呈明显迅速的上升或下降趋势时,宜选择较大的值,可以在0.6~0.8间选值,提高预测模型的灵敏程度,能迅速跟上数据的变化[3]。 本模型将经验法和试算法两者相结合,并利用MSE(Mean of the Squared Errors)均方误差指标进行参数的选取。定义如下:

1nsixi2MSE()ni1xi (6)

其中n为数据点得个数。

MSE的值越小,说明模型拟合程度越好,所选取的平滑参数越合适。 5.1.2模型一的求解:

本指数滑动模型在数据处理预测方面比较特殊,将选取5月10日~5月30日

的数据进行纵向实时预测未来7天每个时刻的风电功率情况。 (1)平滑指数的确定

利用经验法和试算法相结合,在0.6~0.08之间选取平滑参数 ,确定比较各平滑参数的MSE值,进而确定参数进行预测。首先选取机组A的数据进行指数滑动拟合,利用matlab可以得到各参数相对应风电功率预测的准确率,合格率及MSE如下表一所示:

表一 指数滑动的风电功率预测的数据分析结果 参数0.6 一天 一周 一天 0.7 一周 一天 0.8 一周  属性(%)

6

准确率 合格率 MSE 72.10 92.71 7. 68.49 80.21 33.39 70.01 93.75 6. 67.21 79.02 35.12 67.73 93.75 05.78 65.82 78.123 37.23 由表各项指标可知道:

a) 随着平滑参数的增大,虽然其准确率和合格率有递减趋势,但是变化基本

相差不大。并且准确率都在70%左右,合格率有70%以上均方误差都比较少。说明该指数平滑预测模型基本适合作为风电功率的预测。

b) 表一中存在着个别均方误差较大的点,而且最后一天的合格率和准确率的值

都比较小,说明该模型值适合短期预测,不适合中长期预测。

c) 比较各平滑参数的MSE值,有0.6<0.7<0.8。因此,选取MSE值较少的参数

0.6,将减少模型预测的误差,使预测结果更加合理。

(2)指数平滑模型的求解:

由上一步确定平滑指数=0.6,则通过matlab编程(具体程序见附录)可实现5月31日到6月6日的实时预测。机组A预测部分结果如下表二所示:

表二 机组A的部分风电功率原始值与预测值:(时刻1~5)

时间 时刻 1 2 3 4 5 准确率 合格率 MSE

2011-5-31 2011-6-1 2011-6-2 原始值 预测值 原始值 预测值 324 401 431 387 原始值 348 381 354 285 302 预测值 259 336 277 242 220 2011-6-3 原预始测值 值 78 41 33 48 84 312 363 323 268 269 2011-6-4 原始值 545 490 499 435 419 预测值 172 170 149 136 158 0.72 2011-6-5 原预始测值 值 29 12 43 33 33 396 362 359 315 314 0.78 2011-6-6 原始值 365 332 453 496 412 预测值 176 152 169 146 146 0.36 216 29355 470 3 17363 534 4 14324 481 5 249 435 339 507 96 406 0.72 0.74 0.75 0.72 0.93 0.07 0.84 0.04 0.91 0. 1.45 0.07 7

0.77 1.00 0.27 0.09 0.54 0.05 注:另部分机组数据见附录。 分析上表:

a) 由上表可知机组A每天预测的准确率,合格率均接近于70%,基本上满足

国家能源局文件《风电场功率预测预报管理暂行方法》的要求。

b) 时刻8~9中的预测效果差,原因是原始数据存在负数,并且与上一时刻的

差值较大,进而影响下一时刻的预测值,使预测值的拟合效果差。 进一步通过matlab画图可得原始数据与预测数据的图像如下图一所示:

机组A 机组B

机组C 机组D

机组p4 机组p58 图一 各机组风风电功率原始数据与预测数据图像

由上图分析可知:

a) 观察上图,预测值图像基本和原始值图像趋势基本吻合,效果较回归拟合

的好。能反应风电功率的波动性。

8

b) 预测值图像相对原始值图像有滞后性,在峰值处的误差比较大,模型存在

着一定缺陷。

由上述图表分析可得指数平滑模型虽然在预测风电功率上较容易实现,可是存在的误差相对较大,并且预测效果不稳定,滞后性较大。这从一定程度上说明了指数平滑模型只是基本适用于风电功率的预测,必须通过修正才能应用于实际。

5.2模型二:基于小波神经网络的时间序列预测 5.2.1模型的准备: (1)小波理论

小波分析是针对傅立叶变换的不足发展而来的,傅立叶变换是数据处理领域中应用比较广泛的一种分析手段,然后它有一个严重不足,就是变换抛弃了时间信息,变换结果无法判断某数据发生的时间,即傅立叶变换在时域中没有分辨能力,小波是一种长度有限,均值为0的波形。 (2)小波神经网络

小波神经网络[4]是一种以BP神经网络拓扑结构为基础,把小波基函数作为隐含层节点的传递函数,信号前向传播的同时误差方向传播的神经网络。 其原理是将输入参数经过隐含层小波神经网络权值加权后根据小波基函数进行运算。

在信号序列为xi(i1,2...k)时,隐含层输出计算公式为

kwijxibjh(j)hj1aj

(7)

w其中h(j)为隐含层第j个节点输出值;ij为输入层和隐含层的连接权值; bj为小波基函数的平移因子;

aj为小波基函数的伸缩因子;

hj为小波基函数;

本模型采用的小波基函数为Morlet母小波基函数,数学公示为:

x22ycos(1.75x)e (8)

小波神经网络的输出层计算公式为:

y(k)wikh(i)klm k1,2,...m (9)

9

其中

wik为隐含层到输出层权值;h(i)为第i个隐含层节点的输出;

l为隐含层节节点数目;m为输出层节点数目。 (3)小波神经修正

小波神经网络权值参数修正算法类似与BP神经网络权值修正算法,采用梯度修正法修正网络的权值和小波基函数参数,从而使小波神经网络预测输出不断接近期望输出。 具体修正过程: a) 计算网络预测误差

eyn(k)y(k)k1m (10)

其中,yn(k)为期望输出;y(k)为小波神经网络的预测值。 b) 根据预测误差e修正小波神经网络权值及其系数。

wak(i,j)n,kwn,kwn,ki(i,j)j(i,j)

(i,j)akan,k

b(i,j)kbkbn,ki(i,j)根据网络预测误差计算可得到上式结果如下:

wn,k(i,j)ewn,k(i)

(为学习速率)

ak(i,j)eak(i)bk(i,j)ebk(i)5.2.2模型的建立:

研究表明,每个风电场的单台机组某时刻的实际功率与该机组前几个时段的

功率有关。并且其功率在一定程度上具有24小时内的准周期的特性。根据其特性设计为小波神经网络,该网络分为输入层,隐含层和输出层,其中输入层输入为当前时间点的前N个测试时间点的风电机组公功率,隐含层由小波函数构成,输出成输出当前时间点的预测功率。

10

本模型将通过31号之前的风电机组发电功率数据来训练小波神经网络,并预测未来的风电功率,是基于小波神经网络的短时预测方法。

我们采用4-6-1的神经网络结构,输入层有4个节点,表示预测时间节点前4个时间点功率,隐含层节点有6个,为预测的功率。网络权值和小波基函数在参数初始化时随机得到。其中小波神经网络训练100次。 训练步骤如下:(具体算法详见附录)

a) 网络初始化,随机初始化小波函数伸缩因子

wikak、平移因子

bk以及网络连接权

wjk

,并且设置网络学习速率。

b) 样本分类,把样本分为训练样本和测试样本,训练样本用语训练网络,测试

样本用于测试网络预测经度。 c) 预测输出,把训练样本输入网络,计算网络预测输出并且计算网络输出与实

际输出的误差e d) 权值修正,根据误差e修正网络权值和小波函数参数,使网络预测逼近真实

值 e) 判断算法是否结束,如果没有结束,返回(c)。 5.2.3模型的求解:

利用matlab进行求解可得各机组的基于小波神经网络的时间序列预测的数据以及评价指标值。如下表三所示:

表三 小波神经网络的时间序列预测的数据分析结果

机组 属性 (%) 一 天 A 一 周 一 天 B 一 周 一 天 C 一 周 D 一 天 一 周 一 天 P4 一 周 P58 一 天 一 周 准确率 68.8 86.7 72.7 83.5 85.0 85.9 86.9 87 .6 68.3 92.9 90.3 合格率 71.9 97.0 53.3 96.6 93.8 97.6 95.8 98 98.9 65.6 99.0 99.7 MSE

57

41

26.8 46.9 43.9 39.1 48.1 41 29.3 27.5 9.8

8.7

进一步可得基于小波神经网络的时间序列预测值与原始数据的比较图(只提取机组A、机组P4、机组P58的效果图),如下图二所示:

11

机组A效果图

机组P4效果图

机组P58效果图

图二 小波神经网络的时间序列原始值与预测值图像

注:另机组BCD效果图数据详见附录。 5.2.4模型的准确性与误差分析: 准确性分析:

a) 在风电功率比较高时预测效果较好,在风电功率比较低时,预测效果不理

想。 b) 该模型对机组的风电功率预测准确率与合格率都较高,但是均方误差变化

比较大,不满足国家能源局文件《风电场功率预测预报管理暂行方法》的

12

要求。同时,该模型对58台机组的风电功率预测的各项指标水平都较高,并且各项指标都满足国家能源局文件《风电场功率预测预报管理暂行方法》的要求,总体上对整个风电场的预测效果较好。

c) 当机组台数越多时,该模型的预测的准确率和合格率会有所提高,而且关

键的MSE指标也处于较低的范围。 误差分析:

a) 该模型的MSE值比较大,分析其误差来源有:第一,实际功率中存在负

值,在预测中将会修正成正的。根据MSE的公式,这部分值将会拉大MSE的值。第二,在数据波动不大时,该模型的预测将达不到理想的效果,原因是该模型对整体规律掌握不深入,没能兼顾好各个时间段的数据变动区间。 b) 该模型在对A、B以及58台机组的预测时,合格率比较低,并且预测范围

为每天96个时刻。这表明该模型不适合做实时预测,不能达到国家能源局文件《风电场功率预测预报管理暂行方法》的标准。 5.3模型三:ARMA时间序列预测

ARMA 模型(Auto-Regressive and Moving Average Model)[5]是研究时间序列的重要方法,由自回归模型(简称AR模型)与滑动平均模型(简称MA模型)为基础“混合”构成。包括以下三种模型:自回归模型(Auto-Regressive Model,简称AR模型)、移动平均模型(Moving Average Model,简称MA模型)及混合模型(Auto-Regressive and Moving Average Model,简称ARMA模型)。

5.3.1 ARMA模型的基本原理:

将预测指标随时间推移而形成的数据序列看作是一个随机序列,这组随机变量所具有的依存关系体现着原始数据在时间上的延续性。一方面,外界因素的影响,另一方面,又有自身变动规律。

本题要求根据所给的数据对风电功率进行实时预测,根据以上两方面的变化规律,引入ARMA(p,q)模型的表达式:

yt1yt12yt2...pytpat1at12at2...qatq

(11)

其中yt为零均值平稳序列,at为白噪声序列。

5.3.2 ARMA模型的建立过程:

(1)序列的稳定性检验:检验方法包括序列趋势图、自相关图、非参数检验方法、单位根

检验等。

(2)模型识别:根据系统性质,以及所及所提供的时序据的概貌,提出一个相适的类型的模型。

(3)模型参数估计:根据实际数据具体地确定该数学模型所包含的项数以及各项系数的数值。

(4)模型的诊断检验:包括模型的适应性检验,模型的定阶等。 (5)模型的应用:如本文所做的预测。

13

5.3.3 ARMA模型的求解过程:

本模型将A、B、C、D、P4、P58电机组分别按时间段横向连续排列,得到各个时间段的离散时间序列,并定义5月10号的第一个时段为离散时间序列的第一个点。使用ADF检验(augmented Dickey-Fuller,简称ADF)检验得

A、B、C、D、P4、P58电机组都是稳定序列。得到检验标准和检验结果(如表四、

表五)。

表四 ADF检验标准对比表 误差精度 临界值 表五 电机组的ADF检验值

1% -2.5668 5% -1.9395 10% -1.6157 电机组 A B C D P4 P58 ADF检验值 -4.358 -4.43178 -4.52950 -4.48242 -4.057987 -3.94469 并得到AR(n4)的自相关和偏相关图(如图三)。

图三:各机组的相关图

根据自相关函数(ACF)和偏自相关函数(PACF)的特征判定以上时间序列适用

AR(n)模型求解,并通过多次实验得到阶数为4(即n4)时,预测结果较好。

A、B、C、D、P4、P58电机组所得表达式分别为:

14

A机组: PPk0.593721PM(k1)0.190266PM(k2)0.083600PM(k3)0.100217PM(k4) B机组:PPk0.627604PM(k1)0.124153PM(k2)0.102481PM(k3)0.112262PM(k4)

C机组;PPk0.6011PM(k1)0.172178PM(k2)0.098821PM(k3)0.092434PM(k4) D机组:PPk0.611842PM(k1)0.173567PM(k2)0.086353PM(k3)0.094781PM(k4)

P4机组:PPk0.800497PM(k1)0.076823PM(k2)0.030302PM(k3)0.069851PM(k4)

P58机组:PPk0.885492PM(k1)0.028585PM(k2)0.030421PM(k3)0.036273PM(k4)

根据以上表达式,结合附录所给的相关数据以及对异常数据进行过滤。分别对5月31日0时0分至5月31日23时45分与5月31日0时0分至6月6日23时45分进行预测。得到预测以下预测结果(如表六),并给出A、B、C、D的5月31日(图四)和P4、P58的5月31日至6月6日(图五)的实际-预测对比分析图。

表六:ARMA模型的结果分析表

机组 A 一 一 周 一 天 B 一周 一 天 C 一 周 一 天 D 一 一 周 天 P4 一 周 一 天 P58 一 周 属性 天 准确率 87.6 88.0 85.7 84.8 84.6 87.3 87.2 88 .6 90.26 93.2 93.8 合格率 94.7 95.9 92.7 95.5 94.9 95.5 91.6 96 98.1 平均相对误差 均方根误差

98.2 99.0 99.5 19.4 26.5 20.2 26.7 25.3 27.1 17.7 26 21.9 23.1 15.7 20.4 31.3 35.9 32.2 34.9 35.8 38.6 30.8 36 34.8 31.8 23.9 27.2 15

图四

图五

AR模型准确性分析:根据以上所得结果,此模型能够较精确对风电功率进行预测预报, AR(4)模型对5月31日A,B,C,D,机组的实时预测的准确率和合格率都达到84%以上,对四台机组P4与总机组P58的实施预测的准确率和合格率更高(达到90%以上),平均误差都在20%左右,全天预测的均方根误差都在30%以上(除去总台数时),均大于国家能源局文件《风电场功率预测预报管理暂行方法》的要求。此模型对风电功率预测预报具有启发性意义。

5.3.4三种模型预测结果的比较:

(1) ARMA模型能较好的捕捉到电功率的变化规律,预测效果较为理想。小波

神经网络模型预测对功率变化大的时候的预测比较准确,基于指数平滑法对功率的预测,在风电功率变化不是很大,风电功率比较平稳的时候预测比较准确。

(2) ARMA模型与小波神经网络算法都是利用前几组数据对未来的预测,而且

16

均是前4组数据对未来进行预测,但ARMA模型比小波神经网络能够更好的进行预测。

综上所述,我们选择ARMA模型对其进行预测,误差会相对比较小,预测结果能较好地贴近实际值。

问题二求解

5.4 基于聚类分析的李雅普诺夫中心极限定律模型: 5.4.1问题二的求解:

(1)分析风电机组的汇聚对于预测结果误差的影响 基于问题一中所建立的三个模型以及所求解的结果,采用熵值加权法对三种模型预测值进行归一化处理,所得权向量为:w(0.3246,0.3344,0.341)。并对异常数据进行处理,得到基于以上模型的A、B、C、D、P4、P58机组预测结果误差序列,

e(B)、e(C)、e(D))分别与并通过对A、B、C、D机组的每天平均相对误差(e(A)、P4、P58机组的每天相对误差(e(P4)、)的回归分析、关联度矩阵求解与聚类e(P58)分析分析风电机组的汇聚对于预测结果误差造成的影响。

e(B)、e(C)、e(D) 分别与e(P4)、(2)e(A)、的回归分析 e(P58)e(B)、e(C)、e(D))根据A、B、C、D机组的每天平均相对误差(e(A)、分别与P4、P58e(B)、e(C)、e(D)分别与机组的每天相对误差(e(P4)、)的具体数据,对e(A)、e(P58)P4、P58进行拟合。得到以下拟合结果(如图六、图七)。

图六 P4关于A、B、C、D拟合 图七 P58关于A、B、C、D拟合

(3)R相关系数检验

17

e(B)、e(C)、e(D)拟合结果进行R相关系数检验。它的一对分别对P4、P58关于e(A)、假设为:

H0:0 vs H1:0. (12)

所用的检验量为样本相关系数:

R(xx)(yy)(xx)(yy)ii2ii2

(13)

其中x,y分别为回归序列。 所得R值结果如下表七。

表七 R相关系数检验表 机组 P4 A 0.7943 0.6838 B 0.6949 0.3108 C 0.6712 0.3500 D 0.7352 0.5465 P58 规律性初步探讨:根据以上回归分析模型的结果,单风电机组A、B、C、D对统计量P4的依赖度明显高于对总机组P58的依赖度。从另一方面也表明了人为作迭代和的统计量P4只能是理论上的结果,实际操作中受到大幅度风电功率波动的影响,为了使电网处于平衡状态而进行的调节将使实际上的统计量P4小于理论上的统计量P4。

(4)下面根据相关系数表,构造关联度矩阵,进行聚类分析。 关联度矩阵

根据以上数据构造关联度矩阵,必须具备以下性质(表示欧式空间): 性质1.R(x,y)0,x,y; 性质2.R(x,y)0,当且仅当xy; 性质3.R(x,y)R(y,x),x,y;

性质4.d(x,y)d(x,z)d(x,y),x,y,z。

因此,只需将以上相关性系数作为此关联度矩阵,并将自身到自身的相关系数设为0,以满足距离的要求。

18

样本的相似性度量:欧式距离

样本的相似性度量有欧氏距离、马氏距离、Chebyshev距离等。本文使用最常用的Minkowski距离中的欧氏距离来度量样本点间的相似度。欧氏距离计算公式为:

d2(x,y)其中x,y为聚类向量。

k1pxkyk2

(14)

类与类间的相似度度量:最短距离法

度量类与类之间的相似度方法有最短距离法、最长距离法、重心法、类平均法等。本文采用最短距离法进行度量。最短距离的计算公式为:

D(Gi,Gj)min{d(xi,yj)}xiGixjGj

(15)

其中Gi,Gj分别为两个类,xi,yj为样本点。

将A、B、C、D、P4、P58(代号分别为:1,2,3,4,5,6)作为聚类指标,使用系统聚类法进行求解得到以下结果(如下图八)。

图八:系统聚类法分析结果

根据聚类分析结果可知,指标5,6(即P4,P58)归为一类,指标3,4(即C,D)归为一类,指标1与指标2各为一类。指标之间的相关关系不明显,故仅能定性的说明机组A,B,C,D对四个机组数和总机组数的影响不大。此模型对以下提出的基于李雅普诺夫中心极限定理的通过率检验模型具有启发性意义。

(5)根据以上拟合度求解和聚类分析的结果,论证了所得相对误差序列具有随机性和性,下面根据李雅普诺夫中心极限定理[6]可以对随机序列的范围进行概率估计的原理,对基于以上模型的A,B,C,D,P4,P58电机组预测的相对误差的范围进行概率估计。

设{Xn}是一个相互的随机变量序列,它们具有有限的数学期望和方差:

19

E(Xi)i, Var(Xi)i2,i1,2,...

讨论随机变量的和YnXi:

i1nE(Yn)12...n,i1n

(Yn)1222...n2,记(Yn)Bn。以下给出李雅普诺夫中心极限定理[6]: 设{Xn}为随机变量序列,若存在0,满足:

lim1Bn2nE(Xiii1n2)0

(16)

t22则对任意的x,有

1 limPnBn1(X)xii2i1nxedt (17)

·构造随机序列

基于以上预测模型所求解的相对误差序列,分别选取机组A,B,C,D,P4,P58预测的相对误差数据,构成六组{Xn}(n=7)的随机序列。分别为:

{en(i)25%,(iA,B,C,D,P4,P58)},{en(B)},{en(C)},{en(D)},{en(P4)},{en(P58)}。

·构造假设条件和检验概率表达式

并基于国家能源局文件的实时预测相对误差应小于25%的要求,运用李雅普诺夫中心极限定理构造假设(实时预测相对误差小于25%)通过检验的概率。 假设表达式:

en(i)25%,(iA,B,C,D,P4,P58)

通过检验的概率表达式:

7ei70.25i0.25ii1i P(ei0.25)P()BnBni1Bn (18)

·结果分析

20

基于以上模型及其相关数据,得到A,B,C,D,P4,P58通过检验的概率如下表八所示。

表八:各机组检验概率表

机组 属性 通过概率 A 77.% B 62.17% C 78.23% D 77.94% P4 P58 77.94% 80.0% 根据以上所得的通过检验概率的大小,探索得到普遍性规律:

1 随着样本空间的增大,样本数据达到实时预测相对误差小于25%的概率增大; 2 由于多机预测较精确,可以用多机系统的预测结果对单机进行预测。修正单机系统预测所带来的相对误差,提高精度。

问题三求解:

5.5基于遗传算法的ARMA的优化预测模型

由于ARMA模型的定阶过程存在一定的随机性和不确定性,为此,综合考虑模型的各种制约因素,以下采用遗传算法(Genetic Algorithms,简称GA) [6]对以上ARMA(n,m)模型进行优化,目的是提高ARMA模型的预测精度。

遗传算法(GA)是基于“适者生存”的一种高度并行、随机和自适应的优化算法,它将问题的求解表示成“染色体”的适者生存过程,通过“染色体”群的一代代不断进化,包括复制、交叉和变异等操作,最终收敛到“最适应环境”的个体,从而求得问题的最优解或者满意解。

遗传算法是一类随机优化算法,但它不是简单的随机比较搜索,而是通过对染色体的评价和对染色体中基因的作用,有效地利用已有的信息来指导搜索有希望改善优化质量的状态。它提供了一种求解非线性、多模态、多目标等复杂系统优化问题的通用框架[7],已广泛用于解决工程优化问题。遗传算法主要步骤可描述如下[8]:

(1) 生成初始种群。随机产生N个初始数据组,每个数据组成为一个个体,N个个体组成为一个群,遗传算法以该种群作为初始迭代种群。

(2) 种群编码。将随机生成的初始种群进行编码,按照一定的编码准则生成若干码串,每一码串代表一个可行解。

(3) 适应度评价。将编码后的初始种群置于问题的“环境中”,根据适应度标准,评价种群中的个体。

(4) 遗传选择。从当前群体中选择优良的(适应度高的)个体,根据优胜劣汰的原则选取进入下一次迭代的个体。

(5) 交叉过程。遗传操作,下一代个体的信息来自父辈个体,体现了信息交换的原则。

(6) 变异过程。随机选择群种中的某个个体,以变异概率Pm改变个体某位基因的值。变异为产生新个体提供机会。

反复执行(3)~(6),使迭代群体一代一代不断进化,随后搜索到最适合问

21

题环境的个体,即找到最优解或准最优解。

定义:实际值与预测值相对距离的度量:平均相对变动值(ARTD)。

假设第i个时段风电功率的实际值为xi,预测值为xi,所有时段的平均风电功率

1Nxixi2为xi,共有N个时段,则有ARTD()。

Ni1xixi下面给出主要的求解过程: ·编码方案

构造长度为6位的二进制数,即前三位代表自回归阶数p,后三位代表移动平均阶数q。将随机生成的初始种群按照下式进行解码,即可得到20组自回归阶数和移动平均阶数的十进制数组合。

(b0b2...b5)2(bi2i)10i05

(19)

·适应度函数

显然,ARTD的值越小,预测效果越好,而适应度函数的确定,与ARTD密不可分,适应度函数值越大,表明预测效果越好,符合遗传算法的变化规律。因此,构造适应度函数为:

f(x)1

ARTD (20)

·其他参数

交叉和变异是产生新个体的遗传算子:交叉率太大,将使高适应度的基因串结构很容易被破坏,交叉率太小则又使搜索停止,一般取为0.5~0.9(本文选择0.7);变异率太大会使遗传算法变为随机搜索,太大则不会产生新个体,一般取0.001~0.1(本文取0.02)。迭代次数选为40。

基于以上的设置,循环迭代后得到最好结果为:p4,q2。对AR(4)模型改进为ARMA(4,2),再次计算准确率以及合格率(单位:%)。(如下表)

表九:基于遗传算法改进后的属性值 机组 属性 准确率(单位:%) 合格率(单位:%) 并画出A,B,C,D机组在5月31日的相对误差波动图(如图九)、P4,P58在5月31日至6月6日的相对误差波动图(如图十)以及P4,P58基于日预测的相对误差波动(如图十一)。

A 88.0 95.2 B 85.6 94.6 C 84.8 95.0 D 87.4 95.1 P4 90.4 99.0 P58 93.4 99.5 22

图九:5月31日的相对误差波动图

图十:一周的相对误差波动图

图十一:P4,P58基于日预测的相对误差波动

遗传算法优化结果小结:通过对自回归阶数以及移动平均阶数的优化,所得结果精度明显有所提高。准确率和合格率较原来模型精度的精度都有所提高。同

23

时,对于单台机组的实时预测的相对误差约为25%,而对于多台机组以及全部机组的实时预测的相对误差约为20%,全天预测的均方误差约为15%。基本上满足国家能源局国能新能[2011]177号文件的要求。本模型对于风电功率的预测预报的研究具有重大借鉴意义,具有广阔的应用前景[10]。

通过上述问题求解总结分析如下:

(1) 在模型一中,我们知道ARMA中的p,q是对应的阶数,利用matlab简单得到p4,q0。而在其后的模型优化中,我们用遗传算法优化得到新的p,q,从而得到一个更加理想的模型。在ARMA对时间序列进行拟合中,就是利用当前时刻的前几个时刻对该时刻进行预测,当阶数修整为ARMA(5.3)时,得到下面的表格。

表十二 ARMA(4.2)与ARMR(5.3)比较

ARMA(4,2) ARMA(5,3) 合格率 95.2% 94.79% 准确率 88.8% 87.2% MSE 15-20% 34.24% 根据上表相关数据可得结果:ARMA拟合中,是利用当前时刻的前几个时刻对该时刻进行预测,该个数不能太多,也不能太少,发现预测值反而比这说明影响预测精度的主要因素为该时刻前作为预测ARMA(4,2)误差更加大。

数据的个数,太少或者太多数据将会导致数据偏离真实值过大。

(2) 问题一中一共模拟了3种预测模型,不同模型对预测的结果都有所不同,详见问题一的三种模型的比较。

(3) 风电功率预测的精度不能无限提高,因为无论取什么样的p,q,其预测精度理论上会处于ARMA(4.2)预测效果的水平之下。进行预测的统计量越多预测不一定越精确。

7 模型改进与推广

(1) 指数平滑模型的改进:

指数平滑模型主要是利用前一天的数据与当天拟合数据来拟合下一天的数据值,此模型参数的确定采用了经验法和试算法相结合,虽然能改进其拟合效果,可参数本身是静态的,对时间序列在不同时段所呈现的变化规律不具备适应能力,会影响预测的精度。因此,可定义动态平滑参数(t)1(1)t[11]

24

模型的误差进行修正。修正后模型改正为st(t)xt(1(t))st1.

(2)小波神经网络模型的改进:

一方面,改变小波基函数,本模型采用的小波基函数为Morlet函数,可能存在一定的局限性,可以通过改变小波基函数,来更改模型的预测效果。

另一方面,增加输入层层数目,上面已经分析到,某时刻的实际功率与本机组前几个时间点有很高的相关性,在模型的预测中,我们采用的是前4个时刻的功率来作为训练网络,然后为了提高精度,我们可以尝试提高输入层层数,提高训练效果,从而提高预测经度。

参考文献

[1]白晓磊.风力发电功率预测及AGC机组调配的研究 .北京大学硕士学位论文,20090601

[2]王东星等.一种指数平滑预测的参数优化方法及实现.微机发展,第15卷 3期,2005年3月

[3]张德南等.指数平滑预测法中的平滑系数的确定.大连铁道学院学报,第25卷,第1卷,2004年3月

[4]史峰,王小川等.MATLAB神经网络30个案例分析.北京航空航天大学出版社. [5]徐国祥,马俊玲.统计预测和决策学习指导与习题[M].上海财经大学出版社.ISBN:7-81098-492-6.2005

[6]Saplain A,He L S.Optimization and sizing for propulsion system of liquid rocket using genetic algorithm[J].Chinese Journal of Aeronautics,2007(20):40:60

[7]高海龙,张国立.基于遗传神经网络的负荷预测方法[J].微计算机信息,2009,25(9-1):1-190 [8]崔建国,赵云龙等.基于遗传算法和ARMA模型得病航空发电机寿命预测.航空学报,沈阳,2011 8 1504-1012

[9]程依明等.概率论与数理统计教程.高等教育出版社

[10]黎锁平等.平滑系数自适应的二次指数平滑模型及其应用.系统工程理论与实践,第2期,2004年2月

[11]周玉辉,康锐.基于退化失效模型的旋转机械寿命预测方法[J].核科学与工程,2009,29(2):146-151

附录

指数平滑法的matlab代码:

B=zeros(22,96); %B预测矩阵,A为原始矩阵一次指数平滑 for j=1:96 B(1,j)=0; B(2,j)=A(1,j);

25

for i=3:28

B(i,j)=0.6*A(i-1,j)+0.4*B(i-1,j) end end

%%%%%准确率 r=zeros(28,1); for i=22:28 diedai=0; for j=1:96

diedai=(((A(i,j)-B(i,j))/(850*58))^2)+diedai; end

r(i)=1-sqrt(diedai/96); end

%%%%%合格率 A1=A(22:28,:); B1=B(22:28,:); p=zeros(7,1); for i=1:7 sum=0; for j=1:96

if (1-(A1(i,j)-B1(i,j))/(850*58))>=0.75 sum=sum+1; end end

p(i)=sum/96; end

%%%%均方误差 R=zeros(7,1); A1=A(22:28,:); B1=B(22:28,:); a=0; for i=1:7

for j=1:96

a=(((A1(i,j)-B1(i,j))/A1(i,j))^2)+a; end end

R=sqrt(a/(96*7)); %%%%画图与排序 pailieA=zeros(1,96*7); for i=1:7

n=96*(i-1)+1; m=96*i;

pailieA(1,n:m)=A1(i,:);

26

end

pailieB=zeros(1,96*7); for i=1:7

n=96*(i-1)+1; m=96*i;

pailieB(1,n:m)=B1(i,:); end j=1:672;

plot(j,pailieA,'--b',j,pailieB,'--r');

title('机组A实际功率与预测功率对比图'); xlabel('时间点');

ylabel('功率(kw)');

%%A的遗传算法适应度函数 function y=fitfun(p,q) load AA.txt; load A.txt; x=randint(1,6);

p=x(1)^2+x(2)+x(3)^0; q=x(4)^2+x(5)+x(6)^0; AAA(1:2016)=AA';

AAA(2017:2016+96)=A'; [n,m]=size(AAA);

se=[AAA';zeros(n*m,1)]; data=iddata(se);

m=armax(data,'na',p,'nc',q); pa=predict(m,data); y=0;

sa=get(pa,'outputdata'); for i=1:96

y=y+(AAA(2016+i)-sa(2016+i))^2/(AAA(2016+i)^2); end

y=1/(y/100);

%%ARMA模型求解程序

function [p,q,err]=pingjia[a,t,d,n1,m1] %%p为合格率,q为准确率,t为机组个数 %%d为预测天数,a为实际序列

%%n1为自回归阶数,m1移动平均阶数 a=AAA;t=1;d=1; n=length(a);

se=[a;zeros(n,1)]; data=iddata(se);

m=armax(data,'na',n1,'nc',m1); pa=predict(m,data);

27

yc=get(pa,'outputdata'); sum=0;

for i=1:96*d

if (1-(a(i+2016)-yc(i+2016))/(t*850))>=0.75 sum=sum+1; end end

p=sum/(96*d);%%合格率 sum1=0; for i=1:96*d

sum1=sum1+((a(i+2016)-yc(i+2016))/(t*850))^2; end

q=1-(sum1/(96*d))^(1/2);%%准确率 %%相对误差 err=0;

for i=1:96*d

if a(i)>0&&yc(i)>0

err=err+(abs(a(i)-yc(i))/max(a(i),yc(i)))^2; end end

err=sqrt(err/(96*d));

%小波神经网络程序 主程序:

M=4; %输入节点个数 N=1; %输出节点个数 n=6; %节点个数 lr1=0.01; %学习概率 lr2=0.001; %学习概率 %权值初始化 Wjk=randn(n,M); Wij=randn(N,n); a=randn(1,n); b=randn(1,n);

%节点初始化 y=zeros(1,N); net=zeros(1,n); net_ab=zeros(1,n);

%权值学习增量初始化 d_Wjk=zeros(n,M); d_Wij=zeros(N,n);

28

d_a=zeros(1,n); d_b=zeros(1,n); %输入输出数据归一化

[inputn,inputps]=mapminmax(input'); [outputn,outputps]=mapminmax(output'); inputn=inputn'; outputn=outputn'; %网络训练

for iii=1:100 error(iii)=0; % 循环训练 for kk=1:2016

x=inputn(kk,:); d=outputn(kk,:); y=0;

for j=1:1:n for k=1:1:M

net(j)=net(j)+Wjk(j,k)*x(k); net_ab(j)=(net(j)-b(j))/a(j); end

for i=1:N

y=y+Wij(i,j)*mymorlet(net_ab(j)); %小波函数 end end

for i=1:N

error(iii)=error(iii)+abs(d(i)-y(i)); end

%权值调整 for j=1:n

%计算d_Wij for i=1:N

d_Wij(i,j)=d_Wij(i,j)-(d(i)-y(i))*mymorlet(net_ab(j)); end

%计算d_Wjk for k=1:1:M for i=1:N

d_Wjk(j,k)=d_Wjk(j,k)+ (d(i)-y(i)) * Wij(i,j) ; end

d_Wjk(j,k)=-d_Wjk(j,k)*d_mymorlet(net_ab(j))*x(k)/a(j);

29

end

%计算d_b for i=1:N

d_b(j)=d_b(j)+(d(i)-y(i))*Wij(i,j); end

d_b(j)=d_b(j)*d_mymorlet(net_ab(j))/a(j); %计算d_a for i=1:N

d_a(j)=d_a(j)+(d(i)-y(i))*Wij(i,j); end

d_a(j)=d_a(j)*d_mymorlet(net_ab(j))*((net(j)-b(j))/b(j))/a(j); end

%权值参数更新

Wij=Wij-lr1*d_Wij; Wjk=Wjk-lr1*d_Wjk; b=b-lr2*d_b; a=a-lr2*d_a;

d_Wjk=zeros(n,M); d_Wij=zeros(N,n); d_a=zeros(1,n); d_b=zeros(1,n);

y=zeros(1,N); net=zeros(1,n); net_ab=zeros(1,n); end end %网络预测

%预测输入归一化

x=mapminmax('apply',input_test',inputps); x=x';

%值预测 kkk = 1; for kk=1:672

x_test=x(kk,:);

for j=1:1:n for k=1:1:M

net(j)=net(j)+Wjk(j,k)*x_test(k); net_ab(j)=(net(j)-b(j))/a(j); end

30

for i=1:N

y(i)=y(i)+Wij(i,j)*mymorlet(net_ab(j)) ; end end

yuce(kkk)=y(i);

y=zeros(1,N);%输出节点初始化 net=zeros(1,n);%节点初始化 net_ab=zeros(1,n);%节点初始化 kkk=kkk+1; end

%预测输出反归一化

aa=mapminmax('reverse',yuce,outputps); %结果分析

figure(1) plot(aa,'r:') hold on

plot(output_test,'b--')

title('A预测功率和实际功率比较') legend('预测功率','实际功率') xlabel('时间点') ylabel('功率')

figure(2)

plot(output_test'-aa) title('预测误差') xlabel('时间点') ylabel('功率') 计算MSE程序: rsum=0;

for i=1:96

rsum=rsum+((xx(i)-yy(i))/(850*4))^2; end

1-(rsum/96)^(1/2);

计算合格率

function p=hege(xx,yy) n=length(xx); sum=0; for i=1:n

if (1-(xx(i)-yy(i))/850)>=0.75 sum=sum+1; end end

31

p=sum/n

计算准确率 rsum=0;

for i=1:96

rsum=rsum+((xx(i)-yy(i))/(850*4))^2; end

1-(rsum/96)^(1/2); BCD的预测图 机组B

机组C

机组D

32

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务