本发明涉及一种光伏电站发电功率的预测方法,属于电力系统自动化技术领域。
背景技术:
光伏发电作为太阳能利用中的一种主要的技术实现手段,近年来在国内外得到了迅速的发展。截止2015年底,全球光伏累计装机容量达到227gw。中国的光伏发电累计装机容量达到43.18gw,其中光伏电站为37.12gw,成为全球光伏发电装机容量最大的国家。同时,2015年中国新增装机容量15.13gw,也是全球增长较快的国家之一。光伏电站的大规模发展与应用给电网的稳定和电能质量带来了较为严重的影响,光伏消纳成为阻碍光伏产业发展的重要问题。光伏功率预测一方面可以为电网的协调控制与调度运行提供重要的支撑,另一方面可以提高光伏消纳能力,增加光伏电站投资回报率。在时间尺度上,光伏功率预测可以分为超短期、短期和中长期。从电网运行的角度来说,预测的周期越短,对紧急情况和预防状态的处理越有利。因此,光伏电站的超短期的功率预测受到高度的关注。
传统的光伏功率预测分为直接法和间接法。直接预测模型是利用辐照强度,气温,湿度,风速等相关的历史数据建立发电功率回归模型,数据通常来源于数值天气预报(nwp),建模方法包括统计模型、神经网络、支持向量机等。间接预测则分为两个阶段,第一阶段预测太阳辐照强度或其他气象信息,第二阶段再计算发电功率。辐照强度的预测方法包括基于云图的辐照预测、多元回归、时间序列、马尔可夫链等。直接预测方面,高阳等(高阳,张碧玲,毛京丽,刘勇.基于机器学习的自适应光伏超短期出力预测模型[j].电网技术,2015,39(2):307-311.)提出了基于支持向量机(svm)的自适应光伏超短期出力预测模型;m.g.degiorgi等(degiorgimg,congedopm,malvonim.photovoltaicpowerforecastingusingstatisticalmethods:impactofweatherdata[j].ietsciencemeasurement&technology,2014,8(3):90-97.)建立了基于人工神经网络(ann)的光伏出力预测模型;a.mellit等(mellita,pavanam,lughiv.short-termforecastingofpowerproductioninalarge-scalephotovoltaicplant[j].solarenergy,2014,105:401-413.)用太阳辐照度,电池温度和功率输出的数据库开发三种不同的人造神经网络(ann)模型,适用于三种典型的天气(晴天,部分阴天和阴天)的光伏出力预测;间接预测方面,辐照强度的预测最为关键,r.arquez等(arquezr,coimbracfm.intra-hourdniforecastingbasedoncloudtrackingimageanalysis[j].solarenergy,2013,91:327-336.)提出了基于云层跟踪图像分析的直接光照强度预测方法;h.d.yang等(yanghd,kurtzb,nguyend,etal.solarirradianceforecastingusingaground-basedskyimagerdevelopedatucsandiego[j].solarenergy,2014,103:502-524.)提出了地基云图分析的太阳辐照强度预测方法;h.escrig等(escrigh,batllesfj,alonsoj.clouddetection,classificationandmotionestimationusinggeostationarysatelliteimageryforcloudcoverforecast[j].energy,2013,55:853-859.)利用地球静止卫星图像进行云层的检测,分类和移动估计以预测辐照强度。近年来,混合预测模型得到了迅速的发展,其基本流程可以分为分类、回归、预测三个阶段。h.t.yang等(yanght,huangcm,huangyc,etal.aweather-basedhybridmethodfor1-dayaheadhourlyforecastingofpvpoweroutput[j].ieeetransactionsonsustainableenergy,2014,5(3):917-926.)提出了基于天气类型识别的每小时光伏出力预测混合模型;j.d.wang等(wangjd,ranr,songzl,etal.short-termphotovoltaicpowergenerationforecastingbasedonenvironmentalfactorsandga-svm[j].journalofelectricalengineering&technology,2017,12(1):64-71.)提出了基于环境因素和遗传svm的光伏出力综合预测模型。
当前的光伏功率预测算法存在两个主要缺陷,一是光伏功率预测的精度不能保障,光伏发电系统的输出功率与太阳辐照强度存在紧密的联系,但辐照强度会受到云层遮挡的影响,呈现较为明显的波动性,且天气状况不同,波动的剧烈程度也不相同,波动的随机性严重影响了光伏发电功率预测的精度;二是预测的时间尺度较长,难以实现实时预测。
技术实现要素:
本发明所要解决的技术问题是克服现有技术的缺陷,提供一种光伏电站发电功率的预测方法,采用了基于天气类型的svr子模型进行回归预测,排除了其他干扰因素,预测精度得到提升。
为解决上述问题,本发明所采用的技术方案如下:一种光伏电站发电功率的预测方法,包括以下步骤:
1)采集光伏电站的历史气象数据和功率数据,以日为单位提取六种气象特征,建立气象特征库;
2)通过模糊c-均值核聚类算法将气象特征库中的日气象特征数据进行聚类,实现天气类型分类,在此基础上对每一日的功率数据和气象数据进行类别标记;
3)按照步骤2)的类别标记,每一类中的功率数据和气象数据建立一个支持向量机回归子模型;
4)通过数值天气预报数据提供的目标日的天气特征,使用支持向量机算法识别目标日的天气类型,选择目标日对应的支持向量机回归子模型;
5)利用目标日的实时监测数据建立自回归积分滑动平均模型,使用滚动预测方式实现辐照强度和气温的实时预测;
6)将步骤5)辐照强度和气温的预测值输入步骤4)中选择的支持向量机回归子模型中,得到最终的光伏电站功率预测结果。
前述的步骤1)中历史气象数据来源于光伏电站中的综合监控系统,包含独立的气象站收集实时气象数据;所述气象数据包括实时辐照强度和温度;所述功率数据来源于光伏电站计量系统。
前述的六种气象特征为:[irmax,tmax,diffirmax,stdir,mvir,tdirmax],
其中,
irmax=max(iri)为最大辐照度,tmax=max(ti)为最高气温,diffirmax=max(diffiri)为最大波动值,stdir为波动标准差,mvir为波动均值,tdirmax为波动三阶导数,iri和ti是日历史数据中第i个实时辐照强度和温度数据,
diffiri=iri+1-irii=1,2,...,s-1
s是采样点的数量。
前述的步骤2)中模糊c-均值核聚类的具体流程如下:
(2-1)准备第一次聚类的数据样本:xk=[irmax,tmax,diffirmax,tdir]kk=1,2,3,…,n,
n为样本数;
(2-2)初始聚类数c=2;
(2-3)随机初始化聚类中心νi;
(2-4)计算隶属度系数uik;
其中,k(xi,xj)是高斯核函数,
δ为核函数系数,m取2;
(2-5)计算新的聚类中心:
(2-6)循环步骤(2-3)~步骤(2-5),达到终止条件,则循环终止;
(2-7)计算c=2时的聚类有效性系数vxb(c);
(2-8)另c=c+1,循环执行步骤(2-3)~步骤(2-7),直到c=cmax,得到vxb(c+1),cmax为聚类次数;
(2-9)判断最优聚类数copt,最小的vxb(c)对应的c即为copt;
(2-10)以c=copt,重新执行步骤(2-3)~步骤(2-6),得到最优聚类结果,将样本xk进行类别标记;
(2-11)二次聚类:在第一次聚类的基础上,将聚类好的几类数据分别以xk'=[mvir,stdir]k'k'=1,2,3,…,n'为样本,n'为样本数,再用模糊c-均值核聚类算法进行第二次聚类。
前述的步骤3)中,所述支持向量机回归子模型,输入为辐照强度iri和温度ti,输出为瞬时功率pi。
前述的步骤4)中,数值天气预报数据来源于天气服务供应商。
前述的步骤4)中,使用支持向量机算法识别目标日的天气类型的过程为:训练支持向量机模型,训练数据的输入为步骤1)中的气象特征库,包含六个特征
[irmax,tmax,diffirmax,stdir,mvir,tdirmax],输出为步骤2)中的天气类型;识别过程中,将目标日的特征[irmax,tmax,diffirmax,stdir,mvir,tdirmax]tar输入到多分类支持向量机模型,即可得到目标日的天气类型。
前述的步骤5)中,所述滚动预测方式是利用目标日的若干个辐照强度和温度的实时监测数据数列分别建立两个自回归积分滑动平均模型时间序列,分别预测下一时刻的辐照强度和温度值;下一循环中再利用该实测辐照强度和温度数据分别修正这两个自回归积分滑动平均模型时间序列,分别预测再下一时刻的辐照强度和温度值;以此循环,进行滚动预测。
与最接近的现有技术比,本发明具有以下有益效果:
1、本发明采用光伏电站气象站监测的历史气象数据和出力数据,接近现场实际状况;
2、本发明采用了两层聚类模型,分别采用不同的特征进行聚类,分类更加细化与合理,为子模型的选择提供了科学依据;
3、本发明采用了基于天气类型的svr子模型进行回归预测,排除了其他干扰因素,预测精度得到提升;
4、本发明采用了arima时间序列模型,通过光伏电站气象站监测系统提供的实时数据,实现了5分钟时间间隔的实时预测。
附图说明
图1为本发明方法的流程图;
图2为kfcm建模流程图;
图3为实施例中vxb指标变化趋势图;图3(a)为第一层聚类后指标变化;图3(b)为第二层聚类后a+b指标变化;图3(c)为第二层聚类后c+d指标变化;
图4为实施例中辐照强度arima时间序列预测结果;图4(a)为5月19日的预测结果,图4(b)为6月7日的预测结果,图4(c)为7月21日的预测结果,图4(d)为8月22日的预测结果;
图5为实施例中温度arima时间序列预测结果;图5(a)为5月19日的预测结果,图5(b)为6月7日的预测结果,图5(c)为7月21日的预测结果,图5(d)为8月22日的预测结果;
图6为实施例中功率svr模型预测结果;图6(a)为5月19日的预测结果,图6(b)为6月7日的预测结果,图6(c)为7月21日的预测结果,图6(d)为8月22日的预测结果。
具体实施方式
下面对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明提供了一种光伏电站发电功率的预测方法,如图1所示,包括以下步骤:
步骤一,利用光伏电站历史气象数据,以日为单位提取六种气象特征,建立气象特征库。
分类回归建模已被证明相对整体模型来说具有更好的精度,其优势在于排除其他天气状况中的未知因素对回归模型的干扰,实现了数据模型的精细化。历史气象数据来源于光伏电站中的综合监控系统,其中包含了独立的气象站所收集的气象数据,本发明中使用的主要是光伏气象站所采集的实时辐照强度和温度数据以及光伏电站计量系统所提供的功率数据。辐照强度和温度是对光伏出力影响最大的两个要素。同时,辐照强度的波动性也是影响预测模型精度的主要因素。天气类型分类的意义在于将波动状况近似的天气类型归为一类,从而建立独立的回归子模型以排除干扰,提高预测精度。基于此,本发明选择的六种气象特征为:[irmax,tmax,diffirmax,stdir,mvir,tdirmax],具体定义如下:
(1)最大辐照度irmax=max(iri);
(2)最高气温tmax=max(ti);
这两个指标反映了光伏组件可发出的最大瞬时功率值,其中,iri和ti是日历史数据中第i个辐照强度和温度数据;
(3)最大波动值diffirmax=max(diffiri);
对于采样率不变情况下的离散数据,通常采用一阶差分diffir来替代一阶导数;
diffiri=iri+1-iri(i=1,2,...,s-1)(1)
s是采样点的数量;
(4)波动标准差stdir:diffiri的标准差,反映了辐照度波动的强度;
(5)波动均值mvir:diffiri的均值,反映辐照度波动的总体幅度;
(6)波动三阶导数tdirmax:三阶导数对天气条件的快速变化比其他阶数更为敏感。
步骤二,通过模糊c-均值核聚类(kfcm)算法将气象特征库中的日气象特征数据进行聚类,实现天气类型分类,在此基础上对每一日的功率数据和气象数据进行类别标记,气象数据指的是光伏气象站所采集的辐照强度和温度,功率数据指的是光伏电站的输出功率。
考虑到实际应用中,模型分类越细,其干扰因素越少;但是过多的分类数会严重影响计算效率,不利于实时性。因此,本发明中采用分层kfcm聚类方式,针对不同的特征在不同的层次上进行聚类。具体来说,就是先按照最大值特征进行一次聚类,再将初次聚类结果再分别用剩余特征进行二次聚类。如图2所示,通过kfcm算法将气象特征库中的日气象特征数据进行聚类,实现天气类型分类,在此基础上将每一日的功率数据和气象数据都进行类别标记,kfcm聚类的两层聚类如下:
(1)根据最大值特征[irmax,tmax,diffirmax,tdirmax]执行第一次聚类;
(2)初始聚类结果将再次用剩余的特征[stdir,mvir]执行二次聚类。
kfcm两层聚类具体流程如下:
(1)准备第一次聚类的数据样本xk=[irmax,tmax,diffirmax,tdir]kk=1,2,3,…,n,n为样本数;
(2)初始聚类数c=2;
(3)随机初始化聚类中心νi;
(4)计算隶属度系数uik;
k是高斯核函数,δ为核函数系数,m一般取2:
(5)计算新的聚类中心:
因为m取2,
(6)循环步骤(3)~步骤(5),判断终止条件,一般存在两种:循环次数和聚类中心偏差,若循环达到一定的次数,或者前后两次计算的聚类中心距离之差小于设定的阈值,则循环终止;
(7)计算c=2时的聚类有效性系数vxb(c);
(8)另c=c+1,循环执行步骤(3)~步骤(7),直到c=cmax,得到vxb(c+1),cmax为聚类次数;
(9)判断最优聚类数copt,最小的vxb(c)对应的c即为copt;
(10)以c=copt,重新执行步骤(3)~步骤(6),得到最优聚类结果,将样本xk进行类别标记;
(11)二次聚类:在第一次聚类的基础上,将聚类好的几类数据分别以xk'=[mvir,stdir]k'k'=1,2,3,…,n'为样本,n'为样本数,再用kfcm算法进行第二次聚类。
步骤三,按照类别标记,每一类中的功率数据和气象数据建立一个支持向量回归svr子模型。
按照步骤二中聚类的结果,历史数据被分为若干类,每一类都可以建立一个svr子模型。具体来说,每一类中的功率数据和气象数据建立一个svr子模型,其类别标记来源于kfcm两层聚类的结果,所训练的若干svr子模型,输入为辐照强度iri和温度ti,输出为瞬时功率pi,所建立的模型标记为svri,svrii,…svrn,n为聚类的最终类别数。
svr是svm用于回归建模的方式,其核心思想在于构建分类超平面,并且保证离超平面距离最近的样本与超平面之间的距离最大。svm对于两分类问题:(xi,yi),i=1,2,…,l,xi∈rn,yi∈{-1,+1},被最优分类超平面w·x+b=0完全无误地分为两个类别。因此,构造最优超平面问题可以转化为优化问题:
其约束条件为:
yi((w·xi)+b)≥1-ξi,i=1,2,…,l(7)
w为最优超平面法向量,b为阈值,m为惩罚参数,ξi为松弛变量,l为点的个数,l个点被分为两类,(xi,yi)表示平面坐标上的一个点。
可以利用拉格朗日乘子法对上述问题求解。若扩展到非线性问题,可以利用映射φ(x)将低维空间中的样本映射为高维空间中,此时目标函数为:
αi为拉格朗日乘子;核函数选择高斯核函数。
步骤四,通过数值天气预报数据提供的目标日的天气特征,使用svm算法识别目标日的天气类型,选择对应的svr子模型。
svr子模型选择的前提是需要判断目标日的天气类型,通过数值天气预报数据提供的目标日的天气特征,使用svm算法识别目标日的天气类型,选择对应的svr子模型,目标日的天气特征与步骤一中的六个特征的计算方法一致。数值天气预报数据来源于天气服务供应商。
本发明中的svm建模也是通过特征数据建立,训练数据的输入为步骤一中的气象特征库,包含六个特征[irmax,tmax,diffirmax,stdir,mvir,tdirmax];输出为步骤二中的类别标签。识别过程中,将目标日的特征[irmax,tmax,diffirmax,stdir,mvir,tdirmax]tar输入多分类svm模型,即可得到目标日的天气类型。
步骤五,利用目标日的实时监测数据建立自回归积分滑动平均模型(arima),使用滚动预测方式实现辐照强度和气温的实时预测。
本发明提供的混合预测模型,是通过arima时间序列进行实时的温度和辐照强度预测,再利用svr子模型实现瞬时功率回归。利用目标日的实时监测数据建立arima模型,使用滚动预测方式实现辐照强度和气温的实时预测,arima模型表示为arima(p,q,d),p为自回归阶数,q为滑动平均阶数,d为差分处理阶数。其基本步骤如下:
(1)差分处理,原始时间序列[xt]经d阶差分处理得到平稳时间序列数据[xat]。本发明中时间序列包括辐照强度序列[xt-e]和温度序列[xt-t]。
(2)模型识别与参数定阶,计算数据样本的自相关和偏相关函数,初步判别模型类型(ar,ma,arma)。一般来说,所建立的arima模型的表达式如下:
其中,ai为自回归系数,bj为滑动平均系数。et-j是白噪声序列,为独立误差。利用赤池信息准则(aic)信息准则定义p和q的值。
(3)参数估计,利用相关矩进行ai和bj的参数估计,最终得到arima(p,q,d)模型。
(4)数据预测,通过arima模型实现单步预测。
进一步地,滚动预测方式是利用目标日的若干个辐照强度和温度的实时监测数据数列(irt和tt,t=1,2,…,g,g为序列样本个数)分别建立两个arima时间序列,分别预测下一时刻的辐照强度和温度值(记为ir′n+1和t′n+1);下一循环中再利用该实测辐照强度和温度数据irn+1和tn+1分别修正两个arima时间序列,分别预测再下一时刻的辐照强度和温度值(记为
步骤六,辐照强度和气温的预测值输入步骤四中选择的svr子模型,得到最终的光伏电站功率预测结果。
实施例
本发明中采用江苏省苏州市吴江区某光伏电站2016年4月至2017年2月间有效样本31397条,建立光伏出力混合预测模型,选择四个典型气象状态:晴天(7月21日)、阴天(5月19日)、雨雪(6月7日)、多云(8月22日)作为测试样本(586个)以测试建模效果,其余数据样本作为训练样本,共30811个。
一、光伏历史气象特征库的建立及kfcm天气类型合理聚类
建模数据集将按照步骤一的方法提取每日的气象特征,本发明中有效的特征集包含261条样本,代表261天。
按照步骤二中的kfcm建模与优化流程,建立分层聚类模型,两层模型的聚类数都为c=2~10。vxb变化趋势如图3所示。可以看出,每一层聚类后,vxb(2)的数值最小。因此,按照步骤二所述,可以认为两层聚类的最优聚类数都为2,所有样本最终将分为4类,记为a类,b类,c类和d类。分类结果如表1所示。
表1kfcm聚类结果
二、svm建模与目标日气象类型识别
通过聚类,261个样本被分为4类。为建立svm天气类型识别模型和测试其精度,特征集中的四类样本用来建立多分类svm模型,四类样本中选择70%作为训练样本,剩余30%作为测试样本,通过交叉验证法得到最优参数。训练数据为261个特征样本,输出为类别标签。天气类型测试的结果如表2所示。
表2svm模型的天气类型识别结果
在总共78个测试样本中,有4个被误分类,分类的准确性达到了94.87%。并且,在四类样本中,只有b类样本出现了误分类,说明svm分类器的识别的精度较高,所建立的天气类型识别模型能够较为准确的识别预测日的天气类型并选择合适的svr回归子模型。
三、arima时间序列建模和svm回归预测
如前所述,根据kfcm的结果,共计261天的辐照强度、温度和功率数据样本也将被归为a,b,c,d四类,并分别给予类别标签。将同一类中的样本建立一个svr回归子模型,得到四个子模型sub-a,sub-b,sub-c,sub-d,输入为辐照强度iri,温度ti,输出为对应时刻的瞬时功率pi。同样采用通过交叉验证法得到svr模型的最优参数。
随后,进行预测日天气类型的识别。预测日的气象信息被输入svm多分类模型,得到预测日的类别属性。本发明中选择的预测日为:(7月21日)、阴天(5月19日)、雨雪(6月7日)、多云(8月22日),分别输入svm模型后得到类别属性为:d,b,c,b。对应选择的子模型为sub-d,sub-b,sub-c,sub-b。
为实现混合实时预测,按照步骤五的描述,建立iri,ti的arima时间序列模型并进行滚动预测。根据时间序列建模和工程应用的需要,选择预测日前20个iri,ti(i=1—20)数据分别建立两个arima模型,数据来源于预测日的在线监测系统提供的数据,采样间隔为5min。以7月21日为例,从6点15分开始出现第一个监测数据。收集20个现场监测iri,ti的数据,在7点55分时启动arima建模和预测工作,分别得到arimair和arimat。随后,预测下一个采样点(5min后,也就是8点)的ir′i+1,t′i+1。该预测值将会输入子模型sub-d中,得到预测的瞬时功率p。再次,8点时,新的实际监测数据iri+1,ti+1可以从监测系统获取,用来对arimair和arimat进行实时校正。再预测下一步(8点5分)的iri+2,ti+2和p。如此循环滚动,实现整天瞬时功率的实时预测。最终四个预测日arima模型iri,ti的预测结果如图4,图5所示,svr子模型回归结果如图6所示。采用平均绝对百分误差εmape和均方根误差εrmse作为预测精度指标,iri,ti以及p预测精度见表3。
表3混合预测模型的预测精度
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。