发明名称 一种基于遗传算法的BP神经网络光伏电站发电量预测方法
摘要 本发明公开了一种基于遗传算法的BP神经网络光伏电站发电量预测方法,首先进行数据样本的采集和预处理,然后构建BP神经网结构,并采用遗传算法对网络进行优化,将优化后所得最优个体带入BP神经网络进行预测。本发明引入遗传算法来对BP神经网络进行优化,用个体来代表网络的初始权值阈值,个体值初始化的BP神经网络的预测误差作为该个体的适应度值,通过遗传算法中的选择、交叉、变异操作方法来寻找最优个体,使网络得到最优初始权值阈值,从而提高最终预测精度。
申请公布号 CN105913150A 申请公布日期 2016.08.31
申请号 CN201610224520.X 申请日期 2016.04.12
申请人 河海大学常州校区 发明人 彭俊;白建波;罗朋;张超;李华锋;王喜炜;朱天宇;张臻;曹飞
分类号 G06Q10/04(2012.01)I;G06Q50/06(2012.01)I;G06N3/08(2006.01)I 主分类号 G06Q10/04(2012.01)I
代理机构 常州市科谊专利代理事务所 32225 代理人 袁兴隆
主权项 一种基于遗传算法的BP神经网络光伏电站发电量预测方法,其特征在于,包含以下步骤:(1)、选取数据样本:选取某月12天内每日6:00—18:00时段影响光伏发电量的主要因素,包括太阳辐照度、瞬时风速、背板温度、环境温度和环境湿度,并采集这些光伏发电量的影响因素以及相应发电量功率的实时数据,以5分钟为时间尺度,将五个影响因素与发电功率按照时间序列一一对应,确定数据样本集,所述数据样本共1728组数据,采集的样本集中前11天作为BP神经网络训练样本集,最后一天则作为测试样本集;(2)、数据预处理:采用最大最小法对步骤(1)中采集的数据样本集进行归一化预处理,得到经处理后的训练样本集和测试样本集,所述最大最小法公式如下:x<sub>k</sub>=(x<sub>k</sub>‑x<sub>min</sub>)/(x<sub>max</sub>‑x<sub>min</sub>)式中,x<sub>min</sub>为数据序列的最小数,x<sub>max</sub>为数据序列的最大数;(3)、网络拓扑结构确定:BP神经网络结构包括输入层、隐含层和输出层,输入层:包括6个节点,输入向量组的每个向量元素是由历史发电功率和当前时间节点的太阳辐照度、瞬时风速、背板温度、环境温度、环境湿度构成,共1440组数据;输出层:包括1个节点,即与之对应的电站当前发电功率;隐含层:节点数可根据公式:<img file="FDA0000963008970000011.GIF" wi="342" he="93" />并结合网络实际训练过程来适当增减,通过训练结果的对比,确定合适的隐层节点数目,式中,n<sub>1</sub>为隐含层节点数,n为输入层节点数,m为输出层节点数,a为[1,10]之间的常数;(4)、确定BP神经网络的初始权值阈值,随机给各个权值阈值赋予(‑1,1)内的随机值;(5)、BP神经网络网络初始权值阈值寻优:将步骤(2)中的数据样本用遗传算法进行优化,具体实施步骤如下:5a)、种群初始化:根据步骤(2)中的数据样本初始权值阈值长度进行种群的初始化,采用个体实数编码进行初始值编码,即遗传算法中的种群初始化,每个个体均为一实数串;5b)、个体适应度值:根据步骤5a)中所述个体得到BP神经网络的初始权值阈值,并采用步骤(2)中的训练数据样本训练BP神经网络,将BP神经网络预测系统输出的预测输出和期望输出之间的误差绝对值和作为个体适应度值F,个体适应度值计算公式为:<img file="FDA0000963008970000021.GIF" wi="445" he="126" />式中,k为系数,m为网络输出节点数,yi为网络第i个节点的期望输出,oi为网络第i个节点的预测输出;5c)、选择操作:从种群中选择适应度好的个体作为新种群,采用轮盘赌法,每个个体 i的选择概率pi为:f<sub>i</sub>=k/F<sub>i</sub>,<img file="FDA0000963008970000031.GIF" wi="213" he="199" />式中,F<sub>i</sub>为个体i的适应度值,由于适应度值越小越好,故在个体选择前对适应度值求倒数为f<sub>i</sub>,k为系数,N为种群个体数目;5d)、交叉操作:从种群中选择两个个体按照一定概率进行交叉得到新的个体,采用实数交叉法:a<sub>kj</sub>=a<sub>kj</sub>(1‑b)+a<sub>lj</sub>b a<sub>lj</sub>=a<sub>lj</sub>(1‑b)+a<sub>kj</sub>b 式中,表示染色体a<sub>k</sub>和a<sub>l</sub>在j位进行交叉,b为[0,1]间随机数;5e)、变异操作:从种群中随机选择一个个体,按一定概率变异得到新个体,选取第i个个体的第j个基因a<sub>ij</sub>进行变异:a<sub>ij</sub>=a<sub>ij</sub>+(a<sub>ij</sub>‑a<sub>max</sub>)*f(g),r>0.5a<sub>ij</sub>=a<sub>ij</sub>+(a<sub>min</sub>‑a<sub>ij</sub>)*f(g),r≤0.5式中,a<sub>min</sub>、a<sub>max</sub>分别为基因a<sub>ij</sub>的上下界,f<sub>g</sub>=r<sub>2</sub>(1‑g/G<sub>max</sub>)<sup>2</sup>,r<sub>2</sub>为随机数,g为当前迭代次数,G<sub>max</sub>为最大进化次数,r为[0,1]间随机数;5f)、计算适应度值:根据步骤5b)中所述的个体适应度值计算公式,计算变异后新种群中所有个体的适应度值,寻找出最优个体;6)、BP网络预测:包括以下步骤:6a)、将步骤5f)得到的最优个体赋值给BP神经网络的初始权值阈值;6b)、将步骤(2)归一化处理后的训练样本输入BP网络,输入向量为第1天到第10天的历史发电功率和第2天到第10天对应时间节点的太阳辐照度、瞬时风速、背板温度、环境温度、环境湿度;目标向量为第2天到第11天的实时发电功率;6c)、利用训练样本输入向量、最优初始权值阈值计算中间层各单元输出,然后通过传递函数计算输出层各单元响应,据此计算出输出层各单元一般化误差,接着可求出中间层各单元一般化误差;6d)、利用步骤6c)中计算出的输出层各单元一般化误差、中间层各单元输出、中间层一般化误差以及输入层各单元输入,分别对网络各层权值阈值进行更新修正,以实现网络误差的逆向传播,直到达到网络所需精度或者达到最大迭代次数,至此,网络学习过程结束;6e)、将步骤(2)中的测试样本中的测试输入向量和测试目标向量分别输入训练好的BP神经网络进行预测得出预测输出,即第12天的预测发电功率,将预测输出结果进行反归一化处理后与测试目标向量作差并拟合曲线,检测网络预测精度。
地址 213022 江苏省常州市晋陵北路200号河海大学常州校区