基于时间序列的风速和风功率预测
2017-12-15孙睿男王飞
孙睿男+王飞
摘要:短期的风速和风功率预测对风场的运行及并网发电是非常重要的。采用时间序列方法,通过Matlab 编程,建立了ARIMA和SARIMA预测模型对24小时后的平均风速和风功率进行预测。最后,对两个预测模型的结果作了对比分析。结果表明SARIMA模型的预测结果是好于ARIMA模型。
关键词:时间序列;风速;风功率;预测;ARIMA模型; SARIMA模型
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)32-0230-04
Forecast of Wind Speed and Wing Power Based on Time Series
SUN Rui-nan, WANG Fei
(Jiangsu Normal University, Xuzhou 221116, China)
Abstract: Short-term forecasting of wind speed and wind power is great importance to wind farm operation and grid-generation. Based on the time series method and MATLAB software, in this article we have used the ARIMA (Autoregressive Integrated Moving Average) and SARIMA (Seasonal Autoregressive Integrated Moving Average) models to forecast the hourly average wind speed and wind power up to 24h in advance. Finally, a pair of comparison analysis Based on ARIMA and SARIMA model is run with average relative error. Results indicate that the SARIMA models significantly better in forecast than the ARIMA model.
Key words: time series; wind speed; wind power; forecast; ARIMA model; SARIMA model
1 概述
近些年来,风力发电一直都是世界上发展最快的新能源之一。随着风力发电的大力发展,风能的随机性、季节性、波动性以及不确定性使得当风力发电大规模的并入电网时,对于电力系统的稳定性波动影响较大,给电网的调度以及规划带来了困难[1],为了减少风电的功率储备,方便电力调度,降低成本提高电网的风能质量,便于风电场安排发电机组的检修、保养,便要求对风速及发电功率有比较准确的预测研究。
目前文献中,相关的研究者使用不同的技术方法对风速和风功率预测。通常这些技术能被分成以下四种:数值天气预报,统计方法,人工智能和机器学习方法,时空模型。这些预测法方法各有特点和适用的场合,数值天气预报方法对于短期的风速和风功率预测不能得到一个可靠的结果,但是它在长期预测上有着很好地预测结果。统计方法,其中最著名的就是自回归滑动平均(ARMA)模型,这种方法能有效地考虑时间序列的有效性及随机波动的干扰性,从而能准确地预测事件的短期变化趋势。人工智能和机器学习方法预测效果很好,但是不容易确定网络结构,学习速度慢。时空模型要求原始数据量大,计算不便。时间序列模型最为简单, 也是花费最小的预测模型[2-5]。考虑到风速和风功率的时间序列通常具有趋势性、季节性以及非平稳性,本文采用差分自回归滑动平均模型(ARIMA)和带有季节因子的差分自回归滑动平均模型(SARIMA)对风电场的风速和风功率进行短期预测。
2 时间序列模型概述
时间序列是指按照时间顺序来排列的、随时间而变化并且相互关联的数据序列。分析时间序列的方法即时间序列分析,时间序列分析最早是起源于1927年,数学家耶尔(Yule)为了研究预测市场变化规律而建立的自回归(AR)模型,之后在1931年,瓦尔格(Walker)在AR模型启发下又建立了滑动平均(MA)模型以及自回归滑动平均(ARMA)模型 [6],从而奠定了时间序列分析的基础。按照时间序列统计的特性来分类,可以分为平稳时间序列和非平稳时间序列。
2.1 平稳时间序列模型
最常见的平稳时间序列模型是自回归移动平均模型(ARMA), 设[Xt, t=0,±1,±2,…]是零均值平稳序列,满足下列模型:
[Xt-φ1Xt-1-…-φpXt-p=εt-θ1εt-1-…-θqεt-q] (1)
其中[εt]是零均值、方差是[σ2ε]的平稳白噪声。则称[Xt]是阶数为p , q的自回归滑动平均序列,简记为ARMA(p,q)序列,当q=0时,它是自回归模型AR(p)序列;当p=0时,它变成滑动平均模型MA(q)序列。
[φ=φ1,φ2,…,φpT]称为自回归参数向量,其分量[φj, j=1,2,…,p]称为自回归系数,它决定前一时刻时间序列的值多大程度上影响当前时刻的值。[θ=θ1,θ2,…,θQT]称为滑动平均参数向量,其分量[θj, j=1,2,…,q]称为滑动平均系数,它决定前一时刻高斯随机变量的值影响现在值的程度,这些参数都需要识别。整理的ARMA模型的一般形式如下:
[Yt=j=1p?jYt-j+εt-j=1qθjεt-j] (2)
2.2 非平稳时间序列模型endprint
ARMA是对平稳时间序列分析的方法,但在现实生活中的时间序列很多都是非平稳的序列,它们往往带有趋势性、季节性以及非平稳性,在研究这类时间序列时要先通过差分变换将其转化为平稳时间序列。
2.2.1 自回归差分移动平均(ARIMA)模型
引入差分算子[?=1-B],对原有非平稳时间序列{Xt}进行一阶差分变换得到
[?yt=1-Byt=yt-yt-1] (3)
原时间序列进行d阶差分后得到:
[?dyt=1-Bdyt] (4)
原时间序列用ARMA模型来描述可表示为:
[φBWt=θBεt] (5)
由上式可以看出,[Wt][Wt]是一个平稳的ARMA序列,且它是非平稳序列[Xt][Xt]的d阶差分。由此,一个非平稳时间序列就转换成了一个平稳的时间序列了,并且把这个[Xt]序列称为ARIMA(p,d,q)序列。
2.2.2 季节性自回归差分移动平均(SARIMA)模型
如果遇到的非平稳时间序列有很明显的季节性或由季节性因素引起的周期性的变化,我们分析此类模型时可采用季节性自回归差分移动平均(SARIMA)模型。一个时间序列[Xt,t=0,±1,±2,…],s为一个正整数,满足下列模型:
[ΦBs?DSXt=ΘBsEt] (6)
其中[?S]为季节差分算子,它定义为[?s=1-Bs],[?DS]表示间隔为S步的D阶差分。
[Et]一般不必是白噪声,而可设它是另一个ARIMA(p,d,q)序列
[φB?dEt=θBεt] (7)
综合式(6)和(7)可以得到季节性自回归差分移动平均(SARIMA)模型表达形式:
[φBΦBS?d?DSXt=θBΦBSεt] (8)
3 基于时序分析的风速和风功率预测模型的建立
3.1 AMIMA模型的建立
ARIMA的建模過程通常分为四步:时间序列的平稳性检验及平稳化、模型识别、参数估计以及建立预测模型。 本文使用我国某风电场的一组实测风速和风功率数据进行分析,时间序列为间隔一小时,取此序列前260点数据为原始数据建立预测模型,并且用所建立的模型预测后24个小时的数据。
3.1.1 原始时间序列的平稳性及平稳化
判断原风速和风功率序列是否为平稳的序列时,可以通过观察它的自相关函数(AC)是否呈指数迅速衰减到零,如果是则是平稳的序列,否则是非平稳。图1为前260个样本值及其前20个自相关函数以及偏相关函数(PAC)值。
(a)和风功率序列
(b)前20个自相关函数值及偏相关函数值
从图1可以直观地看出自相关函数不能够迅速的衰减至零,原始风速和风功率序列是非平稳的,需要进行平稳化处理。对于非平稳的时间序列,本文进行差分运算以消除它的趋势性,进行一阶差分运算之后,得到两个新的差分序列如图2,计算这两个一阶差分序列的自相关函数值和偏相关函数值。
(a)和风功率序列
(b)前20个自相关函数值及偏相关函数值
从图可以看出原始的风速和风功率序列经一阶差分后序列变得基本平稳,可以确定相应的模型和阶数。
3.1.2 确定ARIMA模型及阶数
本文利用最小信息准则(AIC)准则[7]来进行参数拟合,选择最适合的阶数,由于运算较大,文中采用Matlab进行编程做参数拟合。
[ACI=2Ln+2p+q+1n] (9)
式中,L为对数似然值;n为观测值的数目。ARIMA模型定阶的过程就是选择适合的p、q使得AIC的值最小,这样模型就越接近实际模型,误差越小。根据AIC准则,从程序的运行结果来看,当R=1,M=3时,AIC取得最小值,最符合实际模型。所以选用ARIMA(1,1,3)模型,进行风速预测。选择R=1,M=0时,AIC的值最小,则建立ARIMA(1,1,0)的预测模型对风电功率进行预测。
3.2 SARIMA模型的建立
在ARIMA建模的数据分析中已经知道,原始风速和风功率时间序列是一个非平稳的时间序列,那么首先要进行平稳化的处理,由于采样点是时间间隔为一小时,所以选取周期为一天24个小时,即S=24。首先对原风速序列进行季节差分处理,然后进行取消趋势性的一阶差分运算。
3.2.1 原始时间序列的预处理
在确定了序列的周期S后,先对风速和风功率时间序列进行趋势差分和季节性差分 ,图3得到一个平稳的新的时间序列。
(a)和原始风功率序列
(b)经季节差分后序列及一阶差分后序列的数据趋势
风速和风功率经过季节性差分和趋势性差分的计算后得到的新序列的自相关函数以及偏相关函数值如图4所示。
从图形4中可以看出,经过季节差分和趋势性差分后,风速和风功率得到的新序列已经基本平稳了。
3.2.2 确定SARIMA模型及阶数
依旧根据AIC准则并采用Matlab进行编程对模型进行定阶运算。从程序的运行结果可以看出,选择R=3,M=25时,AIC的值最小,所以风速序列选取SARIMA预测模型阶数为R=3,M=25。从Matlab的运行结果可以看出取R=1,M=12时,AIC的取值最小,建立的风功率模型能够最接近实际模型。
3.3 结果对比分析
3.3.1 风速预测结果分析
使用前文确定的模型进行风速和风功率预测,将ARIMA模型的风速预测结果以及SARIMA模型的风速预测结果进行对比分析,图5为实际风速以及ARIMA预测风速和SARIMA预测风速的趋势对比图。endprint
由图5的预测结果对比可以看出,ARIMA模型的预测结果符合实际序列的走势,但转折没有,所以预测效果不太好,而SARIMA模型的预测结果存在转折性,但和实际转折点有误差,但总体来说预测效果较好。从24个预测值误差分析可以看出,SARIMA模型的预测值的平均相对误差为8.55%,而 ARIMA模型的预测值平均误差为9.94%,所以SARIMA模型预测的精确度更高,更加符合实际的模型,这和图5直观的预测结果对比图分析出的结果是一致的。
3.3.2 风功率预测结果分析
分析比较ARIMA模型和SARIMA模型的预测结果,连续 24 小时的实际风电功率数据和ARIMA模型风电功率预测数据及SARIMA模型风电功率预测数据的趋势对比如图6所示。
从图6已经可以直观地看出SARIMA模型的预测效果要比ARIMA模型的预测效果好,从24个预测值的对比SARIMA模型的预测值的平均相对误差为17.3%,而 ARIMA模型的預测值平均误差为74.8%,结果可以很明显看出SARIMA模型的预测结果精度要大大超过ARIMA模型的预测结果。
4 结束语
1) 通过对实际风电场数据序列的分析,风速和风功率序列具有时序性,自相关性及非平稳性,适合建立相应的时间序列模型。
2) 本文采用差分的方法,根据风电场实际数据建立ARIMA和SARIMA模型,并对两个模型的预测结果进行对比分析,SARIMA模型比ARIMA模型预测的结果好,更能反映序列的变化,具有一定的指导意义。
3) 为了更好地预测风速和风功率这种非平稳的时间序列,可以从数据的预处理方法和根据模型的优缺点改进现有模型两个方面研究。
参考文献:
[1] 薛禹胜,郁琛,赵俊华.关于短期及超短期风电功率预测的评述[J]. 电力系统自动化, 2015, 39( 6):141-150.
[2] 潘迪夫,刘辉,李燕飞.基于时间序列分析和卡尔曼滤波算法的风电场风速预测优化模型[J].电网技术,2008,32(7):82-86.
[3] 高山,梁伟平.基于时间序列的风电场短期风速预测[J],电气时代,2014(11):76-78.
[4] 杨秀媛,肖 洋,陈树勇.风电场风速和发电功率预测研究[J],中国电机工程学报,2005,25(11):1-5.
[5] 白春艳,王飞.基于三段式变步长电导增量法MPPT技术研究[J]. 电脑知识与技术,2013,13,3155-3158.
[6] (英)恩德斯等著, 杜江,谢志超译.时间序列分析[M].北京: 高等教育出版社,2006.6
[7] 常太华,王璐,马巍.基于AR、ARIMA模型的风速预测[J].华东电力,2010,38(1):59-62.endprint