本发明新能源发电预测技术领域,具体提出一种计及天气与气象因子关联度的短期光伏发电预测方法。
背景技术:
随着世界能源的消耗量巨增以及煤炭等资源的快速减少,人类对清洁、可再生能源的需求增大,太阳能作为一种清洁、环保、可再生的新能源,已成为对应能源短缺、气候变化与节能减排的重要选择之一。光伏系统大量接入电网,其自身存在的间歇性和随机性问题,将会对与其连接的电网稳定性产生不利影响。因此准确预测光伏发电功率对电网合理调度、削峰填谷、降低成本、有效利用资源、最终获取更高社会综合效益起着不可替代的重要作用。
光伏预测的方法根据预测对象不同分为直接预测与间接预测2种。直接预测即直接对光伏发电功率进行预测,间接预测则是通过辐照强度的预测对光伏出力进行估算。对于既定光伏发电系统,其历史出力数据包含设备、地域及环境信息,具有高度自相关性。因此,对于既定的光伏系统直接预测比间接预测具有更高精确度。
由于光伏发电系统的输出功率对外界环境的依赖性较高,受气象因素、地理环境等影响,所以光伏发电系统具有随机性与间歇性,其对电网电能质量和可靠性带来了很大影响。在接入电网时,由于电力系统会因光照、温度等外界环境因素的变化而造成输出功率的波动,从而对电网的稳定造成一定冲击,影响其电能质量,所以光伏功率预测过程光照、温度等气象因素应该加以考虑。有研究已经表明雾霾天气对光伏发电也同样会造成显著影响,因此光伏功率预测时考虑的气象因素还应包括雾霾天气。
目前,光伏功率预测也引起了越来越多的专家学者的重视。准确预测光伏发电输出功率功率有助于调度部门提前做好调度计划和风险规避,以提高电力系统的安全性及光伏发电的竞争力。但是目前大多数研究都存在一定的局限性,要么只考虑天气对光伏发电的影响,要么只考虑气象因素对光伏发电的影响,没有将这两方面因素结合起来考虑,存在一定的局限性,会造成对历史日选择出现偏差,从而影响光伏发电输出功率预测的偏差。更准确地预测光伏发电输出功率,其相关研究迫在眉睫。
因此,在光伏发电输出功率的预测中将天气对光伏发电的影响以及气象因素对光伏发电的影响结合起来进行考虑,提高对历史日选择的准确性,从而提高光伏发电输出功率预测的准确性显得尤为重要。
技术实现要素:
本发明目的在于提供一种通过提高历史日选择的准确性,从而提高光伏发电功率预测精度的方法。通过提出计及不同天气和气象因子与光伏发电功率的关联度,解决历史日选择准确性不高的问题;并且通过iforest算法剔除采集数据中的坏数据。同时通过在bp神经网络中引入蚁群算法,避免了网络陷入局部最优值的问题;并加入自适应学习效率,大大缩短了网络学习的时间长度。
为实现上述目的,本发明采用了以下技术方案:
本发明提出的一种计及天气与气象因子关联度的短期光伏发电预测方法,所述方法包括如下步骤:
s1、将天气类型划分为晴空天气、多云天气、雾霾天气、阴雨天气,气象因子划分为太阳辐射强度、温度、风速、空气相对湿度、大气气溶胶指数,将数据标准化,并通过iforest算法去除坏数据;
s2、利用pearson相关系数法分析不同天气类型下光伏发电与各个气象因素的相关系数:
其中,rzj表示第z种天气下第j个气象因素与光伏发电功率的相关系数,
求解pearson相关系数归一化值ωzj:
其中,rzjmin、rzjmax分别为第z种天气下第j个气象因素与光伏发电功率的相关系数的最小值与最大值;
s3、对待测日的五种气象因子做模糊聚类,获得历史日与待测日的关联系数;
s4、引入归一化后的相关系数,获得历史日与待测日的关联度,具体步骤包括:
s41、定义
式中:μ为分辨系数,取0.5;
套用εi1表达式,分别获得第i天温度、风速、空气相对湿度、大气气溶胶指数与待测日温度、风速、空气相对湿度、大气气溶胶指数的关联系数εi2、εi3、εi4、εi5;
s42、利用相关系数归一化后的结果ωzj作为不同气象条件下不同气象因素的权重,则
γi=ωz1εi1 ωz2εi2 ωz3εi3 ωz4εi4 ωz5εi5;
s43、从临近待测日开始计算同气象历史数据中与待测日关联度最高的五十天,将其中四十天的光伏发电功率作为预测模型训练样本输入,剩余十天作为模型测试样本;
s5、将关联度高的历史日做为历史数据以及待测日的气象因子一起输入改进的aco-bp神经网络;
s6、确定神经网络的相关系数,进行仿真。
优选地,所述s1中去除坏数据方法具体包括以下步骤:
s11、对历史数据进行处理
对气象因子量纲和数量级不同的历史数据进行标准化处理,获得第i天第j个气象因素xij的标准化值x′ij为:
式中,sj为第j个气象因素的标准差:
对第i天第j个气象因素标准化值进行归一化:
其中,xjmax、xjmin分别为第j个气象因素的最大值和最小值;
s12、通过iforest算法去除坏数据;
iforest包括一定数目的itree,构造一棵itree的过程为:设全部数据集为d={d1,d2,…,dn},取数据集d的任意子集,随机选取一个特征作为根节点,在该特征的最大值和最小值之间随机选取一个数,数据集中大于该值的数放在右子树,小于该值的数放在左子树,然后在左右子树中重复该步骤直至其子树只包含一条数据;
判定数据d是否为异常数据的步骤包括:
步骤一:使数据d遍历每一棵子树,获得数据d在每一棵子树的路径长度h(d);
步骤二:求出数据d在每一棵子树的路径长度h(d)的平均值e(h(d));
步骤三:计算出从h个样本中孤立出一个样本的平均路径长度:
其中,h(s)通过公式h(s)=ln(s) ξ来估计,ξ是欧拉常数,其值为0.5772156649;
步骤四:数据d的异常分数s(d,h)的表示如下:
若s(d,h)≈0.5,即e(h(d))≈c(h),此时数据d无明显异常;若s(d,h)≈1,即e(h(d))→0,此时数据d有很大概率异常;若s(d,h)≈0,即e(h(d))→h-1,此时数据d为正常值。
优选地,所述s5中改进的aco-bp神经网络,具体步骤为:
s51:设定参数初始值,将权值和阈值的定义域l等分,假设共有m只蚂蚁,蚂蚁移动区间为a,信息素残留系数为ρ,最大迭代次数为n,bp神经网络的全局误差为e;
s52:根据状态转移公式获得每只蚂蚁的移动轨迹,并保证每一只蚂蚁都移动完毕,最后获得本次学习权值和阈值初值的最优解;
s53:通过自适应学习效率获得本次学习的学习效率;
s54:将蚁群迭代获得的最优解作为bp神经网络的权值和阈值的初值,自适应学习效率获得的学习效率作为学习效率,计算bp神经网络输出的平均绝对误差emae;
s55:循环次数是否小于最大迭代次数n,若小于n,则进行全局信息素更新,然后返回s52开始执行;若达到最大迭代次数n,则执行s56;
s56:判断所有次循环中平均绝对误差emae最小的一次,将此次蚁群算法的最优解作为改进的bp神经网络中权值和阈值的初值;
s57:通过反向误差传播不断调整权值和阈值,直至预测值与实际值之间的误差小于全局误差为e。
优选地,所述s51中通过引入蚁群算法改进bp神经网络容易陷入局部最优值的情况,具体过程为:
假设bp神经网络有k个权值,将每个权值ka(0<a≤k)的定义域等分为l份,形成一个k*l大小的区域a,蚂蚁在区域a中移动,假设有m只蚂蚁,最大迭代次数为n,以第k只蚂蚁为例,从k1出发,依次经过k2、k3….kk,且只从ka的l个方格中选一个经过,具体路线由该条线路上信息素的浓度决定,其状态转移公式
其中,allowed={1,2…….,l-1},表示蚂蚁k下一步允许选择的元素;τvw(t)表示t时刻路线(v,w)上的信息量;ηvw(t)是启发度函数,表示蚂蚁k从元素v转移到元素w的期望程度;α为轨迹的相对重要性,α≥0;β为能见度的相对重要性,β≥0;
当蚁群到达终点时,为避免蚁群算法陷入局部最优的现象,对全局的信息素进行更新操作:
τvw(t n)=ρ*τvw(t) δτvw
其中:ρ(0<ρ<1)为信息残留系数,δτvw为信息素增量,qk为蚂蚁k释放的信息素总量,lb为本次循环前的最优解,la为本次循环的最优解,当lb>la时,全局信息素更新完后用lb取代la,当lb<la时,更新全局信息素即可。
优选地,所述s53中通过采取网络自适应学习效率改进bp神经网络学习时间过长的情况,具体过程为:
采取网络自适应学习效率,使网络在不同的学习阶段采取不同的学习速率,设定误差函数的目标值为ε,学习速率矩阵为η,输入层与隐含层的权值矩阵为θ,第p个输入与第q个隐含层之间的权值为θpq,在第n次迭代后,权值θpq对应的是θpq(n),权值θpq(n)对应的学习速率为ηpq(n),此时的全局误差为e(n),则:
进一步地,采取网络自适应学习效率能获得隐含层与输出层之间权值ω和阈值
本发明的有益效果:
(1)提出计及不同天气和气象因子与光伏发电功率的关联度,有利于提高历史日选择的准确性;
(2)iforest算法的使用,有利于剔除采集数据中的坏数据;使用蚁群算法改进bp神经网络,有利于避免网络陷入局部最优值的问题;
(3)在aco-bp神经内网络中加入自适应学习效率,有利于缩短神经网络学习时间。
附图说明:
图1为本发明提高光伏发电系统输出功率预测精度方法的步骤流程图;
图2为本发明基于改进的aco-bp神经网络的模型求解流程图;以及
图3为aco蚂蚁移动示意图。
具体实施方式:
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图对本发明作进一步详细的描述。
如图1和图2所示,本发明公开了一种计及天气与气象因子关联度的短期光伏发电预测,其包括以下步骤:
s1、将天气类型划分为晴空天气、多云天气、雾霾天气、阴雨天气,气象因子划分为太阳辐射强度、温度、风速、空气相对湿度、大气气溶胶指数,将数据标准化,并通过iforest算法去除坏数据;
s2、求在不同天气类型下光伏发电功率与各个气象因子的pearson相关系数,并将pearson相关系数进行归一化;
s3、对待测日的五种气象因子做模糊聚类,获得历史日与待测日的关联系数;
s4、引入归一化后的相关系数,求出历史日与待测日的关联度;
s5、将关联度高的历史日做为历史数据以及待测日的气象因子一起输入改进的aco-bp神经网络;
在步骤s1中提出去除坏数据,具体步骤为:
(1)对历史数据进行处理
对气象因子量纲和数量级不同的历史数据进行标准化处理,所以第i天第j个气象因素标准化值x’ij为:
式中,xij为第i天第j个气象因素,
对第i天第j个气象因素标准化值进行归一化:
其中,
(2)通过iforest算法去除坏数据
设全部数据集为d={d1,d2,…,dn},iforest算法的核心在于构建一定数目的itree,构造一棵itree的过程为:设全部数据集为d={d1,d2,…,dn},取数据集d的任意子集,随机选取一个特征作为根节点,在该特征的最大值和最小值之间随机选取一个数,数据集中大于该值的数放在右子树,小于该值的数放在左子树,然后在左右子树中重复该步骤直至其子树只包含一条数据;
判定数据d是否为异常数据的步骤包括:
步骤一:使数据d遍历每一棵子树,获得数据d在每一棵子树的路径长度h(d);
步骤二:求出数据d在每一棵子树的路径长度h(d)的平均值e(h(d));
步骤三:计算出从h个样本中孤立出一个样本的平均路径长度:
其中,h(s)可以通过公式h(s)=ln(s) ξ来估计,ξ是欧拉常数,其值为0.5772156649;
步骤四:数据d的异常分数s(d,h)的表示如下:
若s(d,h)≈0.5,即e(h(d))≈c(h),此时数据d无明显异常;若s(d,h)≈1,即e(h(d))→0,此时数据d有很大概率异常;若s(d,h)≈0,即e(h(d))→h-1,此时数据d为正常值。
本申请步骤2中的pearson相关系数定义为:
(1)pearson相关系数法
由pearson相关系数法分析不同天气下光伏发电与各个气象因素的相关系数:
其中,rzj表示第z种天气下第j个气象因子与光伏发电功率的相关系数;yi表示第i天的光伏发电量,
(2)pearson相关系数归一化
pearson相关系数归一化值ωzj:
其中,rzjmin,rzjmax分别为第z种天气下第j个气象因素与光伏发电功率的相关系数的最小值与最大值;
步骤s4中的关联度中用相关系数归一化后的结果作为不同气象条件下不同气象因素的权重,可表示为:
a、定义
式中:μ为分辨系数,取0.5;
套用εi1表达式,分别获得第i天温度、风速、空气相对湿度、大气气溶胶指数与待测日温度、风速、空气相对湿度、大气气溶胶指数的关联系数εi2、εi3、εi4、εi5;
b、上文中用pearson相关系数法计算出了不同气象与各气象因子的相关系数,用相关系数归一化后的结果作为不同气象条件下不同气象因素的权重,所以
γi=ωz1εi1 ωz2εi2 ωz3εi3 ωz4εi4 ωz5εi5;
例如:历史日i为雾霾天气,待测日为阴雨天气,但是这两日的温度可以很相似,则这两日εi2很大,如果将各个气象因素的关联系数直接相加,则对历史日的选择就会出现偏差,因此引入相关系数归一化后的结果作为不同气象条件下不同气象因素的权重是可行的。
c、从临近待测日开始计算同气象历史数据中与待测日关联度最高的五十天,将其中四十天的光伏发电功率作为预测模型训练样本输入,其余十天剩余十天作为模型测试样本;
步骤s5中的改进的aco-bp神经网络定义为:
(1)传统的bp神经网络存在两个比较严重的问题:第一个是容易陷入局部最优值;第二个是学习时间过长,bp神经网络是严格按照梯度下降法来调整权值的,当误差曲面进入平坦区后,梯度变得很小,权值虽然也在调整中,但是学习速率变得很小,系统不一定能度过平坦区,若是没有度过平坦区就会陷入局部最小值;即使可以度过平坦区,也会大大增加迭代次数,增加训练时间,产生bp神经网络的另一个问题:训练时间过长;
(2)通过蚁群算法改进bp神经网络容易陷入局部最优值的问题:假设bp神经网络有k个权值,将每个权值ka(0<a≤k)的定义域等分为l份,这样就形成了一个k*l大小的区域a,如图3所示,蚂蚁在区域a中移动,假设有m只蚂蚁,最大迭代次数为n,下图1所示,以第k只蚂蚁为例,从k1出发,依次经过k2、k3……….kk,且只从ka的l个方格中选一个经过,具体路线由该条线路上信息素的浓度决定,其状态转移公式
其中,allowed={1,2…….,l-1},表示蚂蚁k下一步允许选择的元素;τvw(t)表示t时刻路线(v,w)上的信息量;ηvw(t)是启发度函数,表示蚂蚁k从元素v转移到元素w的期望程度;α为轨迹的相对重要性,α≥0;β为能见度的相对重要性,β≥0;
当蚁群到达终点时,为避免蚁群算法陷入局部最优的现象,对全局的信息素进行更新操作:
τvw(t n)=ρ*τvw(t) δτvw
其中:ρ(0<ρ<1)为信息残留系数,δτvw为信息素增量,qk为蚂蚁k释放的信息素总量,lb为本次循环前的最优解,la为本次循环的最优解,当lb>la时,全局信息素更新完后用lb取代la,当lb<la时,更新全局信息素即可。
(3)本专利中采取网络自适应学习效率,使网络在不同的学习阶段采取不同的学习速率,设定误差函数的目标值为ε,学习速率矩阵为η,输入层与隐含层的权值矩阵为θ,第p个输入与第q个隐含层之间的权值为θpq,在第n次迭代后,权值θpq对应的是θpq(n),权值θpq(n)对应的学习速率为ηpq(n),此时的全局误差为e(n),则:
进一步地,采取网络自适应学习效率能获得隐含层与输出层之间权值ω和阈值
(4)改进的aco-bp神经网络的总步骤为:
第一步:设定参数初始值,将权值和阈值的定义域l等分,假设共有m只蚂蚁,蚂蚁移动区间为a,信息素残留系数为ρ,最大迭代次数为n,bp神经网络的全局误差为e;
第二步:根据状态转移公式获得每只蚂蚁的移动轨迹,并保证每一只蚂蚁都移动完毕,最后获得本次学习权值和阈值初值的最优解;
第三步:通过自适应学习效率获得本次学习的学习效率;
第四步:将蚁群迭代获得的最优解作为bp神经网络的权值和阈值的初值,自适应学习效率获得的学习效率作为学习效率,计算bp神经网络输出的平均绝对误差emae;
第五步:循环次数是否小于最大迭代次数n,若是没有,进行全局信息素更新,然后返回s52开始执行;若是已达到最大迭代次数n,则执行s56;
第六步:判断所有次循环中平均绝对误差emae最小的一次,将此次蚁群算法的最优解作为改进的bp神经网络中权值和阈值的初值;
第七步:通过反向误差传播不断调整权值和阈值,直至预测值与实际值之间的误差小于全局误差为e。
以上所述各实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应该理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
1.一种计及天气与气象因子关联度的短期光伏发电预测方法,其特征在于,所述方法包括如下步骤:
s1、将天气类型划分为晴空天气、多云天气、雾霾天气和阴雨天气,气象因子划分为太阳辐射强度、温度、风速、空气相对湿度和大气气溶胶指数,将数据标准化,并通过iforest算法去除坏数据;
s2、利用pearson相关系数法分析不同天气类型下光伏发电与各个气象因素的相关系数:
其中,rzj表示第z种天气下第j个气象因素与光伏发电功率的相关系数,
求解pearson相关系数归一化值ωzj:
其中,rzjmin、rzjmax分别为第z种天气下第j个气象因素与光伏发电功率的相关系数的最小值与最大值;
s3、对待测日的五种气象因子做模糊聚类,获得历史日与待测日的关联系数;
s4、引入归一化后的相关系数,获得历史日与待测日的关联度,具体步骤包括:
s41、定义
式中:μ为分辨系数,取0.5;
套用εi1表达式,分别获得第i天温度、风速、空气相对湿度、大气气溶胶指数与待测日温度、风速、空气相对湿度、大气气溶胶指数的关联系数εi2、εi3、εi4、εi5;
s42、利用相关系数归一化后的结果ωzj作为不同气象条件下不同气象因素的权重,则
γi=ωz1εi1 ωz2εi2 ωz3εi3 ωz4εi4 ωz5εi5;
s43、从临近待测日开始计算同气象历史数据中与待测日关联度最高的五十天,将其中四十天的光伏发电功率作为预测模型训练样本输入,剩余十天作为模型测试样本;
s5、将关联度高的历史日做为历史数据以及待测日的气象因子一起输入改进的aco-bp神经网络;
s6、确定神经网络的相关系数,进行仿真。
2.根据权利要求1所述的计及天气与气象因子关联度的短期光伏发电预测方法,其特征在于,所述s1中去除坏数据方法具体包括以下步骤:
s11、对历史数据进行处理;
对气象因子量纲和数量级不同的历史数据进行标准化处理,获得第i天第j个气象因素xij的标准化值x’ij为
式中,sj为第j个气象因素的标准差:
对第i天第j个气象因素标准化值进行归一化:
其中,xjmax、xjmin分别为第j个气象因素的最大值和最小值;
s12、通过iforest算法去除坏数据;
iforest包括一定数目的itree,构造一棵itree的过程为:设全部数据集为d={d1,d2,…,dn},取数据集d的任意子集,随机选取一个特征作为根节点,在该特征的最大值和最小值之间随机选取一个数,数据集中大于该值的数放在右子树,小于该值的数放在左子树,然后在左右子树中重复该步骤直至其子树只包含一条数据;
判定数据d是否为异常数据的步骤包括:
步骤一:使数据d遍历每一棵子树,获得数据d在每一棵子树的路径长度h(d);
步骤二:求出数据d在每一棵子树的路径长度h(d)的平均值e(h(d));
步骤三:计算出从h个样本中孤立出一个样本的平均路径长度:
其中,h(s)通过公式h(s)=ln(s) ξ来估计,ξ是欧拉常数,其值为0.5772156649;
步骤四:数据d的异常分数s(d,h)的表示如下:
若s(d,h)≈0.5,即e(h(d))≈c(h),此时数据d无明显异常;若s(d,h)≈1,即e(h(d))→0,此时数据d有很大概率异常;若s(d,h)≈0,即e(h(d))→h-1,此时数据d为正常值。
3.根据权利要求1所述的计及天气与气象因子关联度的短期光伏发电预测方法,其特征在于,所述s5中改进的aco-bp神经网络,具体步骤为:
s51:设定参数初始值,将权值和阈值的定义域l等分,假设共有m只蚂蚁,蚂蚁移动区间为a,信息素残留系数为ρ,最大迭代次数为n,bp神经网络的全局误差为e;
s52:根据状态转移公式获得每只蚂蚁的移动轨迹,并保证每一只蚂蚁都移动完毕,最后获得本次学习权值和阈值初值的最优解;
s53:通过自适应学习效率获得本次学习的学习效率;
s54:将蚁群迭代获得的最优解作为bp神经网络的权值和阈值的初值,自适应学习效率获得的学习效率作为学习效率,计算bp神经网络输出的平均绝对误差emae;
s55:循环次数是否小于最大迭代次数n,若小于n,则进行全局信息素更新,然后返回s52开始执行;若达到最大迭代次数n,则执行s56;
s56:判断所有次循环中平均绝对误差emae最小的一次,将此次蚁群算法的最优解作为改进的bp神经网络中权值和阈值的初值;
s57:通过反向误差传播不断调整权值和阈值,直至预测值与实际值之间的误差小于全局误差为e。
4.根据权利要求3所述的计及天气与气象因子关联度的短期光伏发电预测方法,其特征在于,所述s51中通过引入蚁群算法改进bp神经网络容易陷入局部最优值的情况,具体过程为:
假设bp神经网络有k个权值,将每个权值ka(0<a≤k)的定义域等分为l份,形成一个k*l大小的区域a,蚂蚁在区域a中移动,假设有m只蚂蚁,最大迭代次数为n,以第k只蚂蚁为例,从k1出发,依次经过k2、k3….kk,且只从ka的l个方格中选一个经过,具体路线由该条线路上信息素的浓度决定,其状态转移公式
其中,allowed={1,2…….,l-1},表示蚂蚁k下一步允许选择的元素;τvw(t)表示t时刻路线(v,w)上的信息量;ηvw(t)是启发度函数,表示蚂蚁k从元素v转移到元素w的期望程度;α为轨迹的相对重要性,α≥0;β为能见度的相对重要性,β≥0;
当蚁群到达终点时,为避免蚁群算法陷入局部最优的现象,对全局的信息素进行更新操作:
τvw(t n)=ρ*τvw(t) δτvw
其中:ρ(0<ρ<1)为信息残留系数,δτvw为信息素增量,qk为蚂蚁k释放的信息素总量,lb为本次循环前的最优解,la为本次循环的最优解,当lb>la时,全局信息素更新完后用lb取代la,当lb<la时,更新全局信息素即可。
5.根据权利要求3所述的计及天气与气象因子关联度的短期光伏发电预测方法,其特征在于,所述s53中通过采取网络自适应学习效率改进bp神经网络学习时间过长的情况,具体过程为:
采取网络自适应学习效率,使网络在不同的学习阶段采取不同的学习速率,设定误差函数的目标值为ε,学习速率矩阵为η,输入层与隐含层的权值矩阵为θ,第p个输入与第q个隐含层之间的权值为θpq,在第n次迭代后,权值θpq对应的是θpq(n),权值θpq(n)对应的学习速率为ηpq(n),此时的全局误差为e(n),则:
进一步地,采取网络自适应学习效率能获得隐含层与输出层之间权值ω和阈值
