本发明涉及楼宇微网的负荷预测领域,更确切的说是涉及一种花授粉算法优化神经网络的楼宇微网负荷预测方法。
背景技术:
在电网技术飞速发展的今天,越来越多的分布式供能系统在楼宇侧集成,逐渐形成了一种楼宇微网。楼宇微网是以楼宇为主体部分,由直流构成的微电网,是未来智能配用电系统的重要组成部分。毋庸置疑,楼宇微网中的最重要的能量来源就是电能。但电能有难以储存的致命缺点,这就要求对负荷需求量进行较为精确的预测。电力负荷预测本身具有不准确性、条件性、时间性、多方案性、内部相关性等特点,这也使得负荷预测的精度是个有挑战性的工作。
目前,负荷预测方法主要采用有灰色预测法、模糊预测法,支持向量机,时间序列法和神经网络等方法。其中,有着较强自适应能力和学习能力,且可以以任意精度逼近任何非线性函数的bp神经网络在负荷预测领域被广泛应用。但是,这种方法也存在着一定缺陷,比如学习能力和泛化能力存在着矛盾,反向传播算法容易陷入局部极值等,这些都是急需解决的问题。
技术实现要素:
本发明的主要目的是提出一种花授粉算法优化神经网络的楼宇微网负荷预测方法。
本方法包括如下步骤:
step1.采集楼宇微网的历史负荷数据和局地气象要素数据,对数据进行预处理,并生成训练样本集和测试样本集;
step2.通过训练样本集建立神经网络预测模型;
step3.采用训练样本集对神经网络进行训练,使用花授粉算法在训练的过程中对神经网络的权值和阈值进行优化调整;
step4.在step3中已经训练好、优化好的神经网络中输入测试样本集,得到楼宇微网负荷预测的结果。
所述步骤1构建训练样本集和测试样本集的具体步骤为:
训练样本集trainn包含n个输入样本pn和n个输出样本tn,输入样本是采集得来的连续的楼宇微网历史负荷数据和局地气象要素数据,可记作
同理,选取测试样本集testn的方式与选取训练样本集trainn的方式相同。
所述step2构建神经网络模型的具体步骤为:
神经网络预测模型的输入层节点数inputnum设为3个,隐藏层节点数hiddennum设为10个,输出层节点数量outputnum设为1个;选择隐藏层和输出层的传输函数分别为tansig函数和pureline函数;神经网络需要优化的变量个数为:nvar=inputnum×hiddennum+hiddennum×outputnum+hiddennum+outputnum,即nvar=3×10+10×1+10+1.
所述step3中采用的花授粉算法对神经网络的权值和阈值进行优化调整的具体步骤为:
step31初始化控制参数。花授粉算法(fpa)花粉群体规模为10,最大迭代次数itermax为10,异花授粉和自花授粉的切换概率p为0.5
step32初始化花粉种群,寻找当前最优化分及其所处位置g*,并计算出其适应度f(g*)
step33进入主循环,如果rand>p,进行异花授粉,否则,进行自花授粉。
其中,rand是[0,1]上服从均匀分布的随机数;异花授粉的公式为:
step34判断是否更新个体,如果
step35与最优花粉进行比较,如果f(xnew)<f(g*),则替换之前最优花粉g*为xnew。
step36若当前花粉不是种群中的最后一个花粉,则选择下一花粉并返回步骤34,否则转至步骤37.
step37满足算法的终止条件(达到最大迭代次数itermax)则转至步骤38,否则进入步骤33,继续进行下一代搜索。
step38寻找最优解结束,输出最优的花粉个体g*和全局最优解f(g*),全局最优解f(g*)即为神经网络的最优权值和阈值。
本发明的一种花授粉算法优化神经网络的楼宇微网负荷预测方法,首先针对楼宇微网历史负荷数据和局地气象要素数据进行处理,建立训练样本集和测试样本集,然后对测试样本集建立神经网络预测模型,同时,为了提高模型的预测精度和泛化能力,采用花授粉算法对神经网络的权值和阈值进行优化;最后将测试样本输入训练好的神经网络中得到楼宇微网负荷预测结果;提高楼宇微网负荷预测精度。
附图说明
为了更直观的说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图做简单介绍
图1为本发明实施例的花授粉算法优化神经网络的楼宇微网负荷预测方法流程图;
图2为本发明实施例的花授粉算法(fpa)优化神经网络流程图;
图3为本发明实施例的fpa-nn模型预测效果图;
本发明目的的实现、功能特点及优点将结合实施例,参照上述附图做进一步具体说明。
具体实施方式
本发明的一种花授粉算法优化神经网络的楼宇微网负荷预测方法实施例包括以下步骤:
step1、获取局地气象要素数据和楼宇微网历史负荷数据,对数据进行预处理,并声称训练样本集和测试样本集;
具体步骤为:
训练样本集trainn包含n个输入样本pn和n个输出样本tn,输入样本是采集得来的连续的历史负荷数据和天气数据,可记作
选取测试样本集testn的方式与选取训练样本集trainn的方式相同。
step2、通过训练样本集建立神经网络预测模型;
具体步骤为:
神经网络预测模型的输入层节点数inputnum设为3个,隐藏层节点数hiddennum设为10个,输出层节点数量outputnum设为1个;选择隐藏层和输出层的传输函数分别为tansig函数和pureline函数;
神经网络需要优化的变量个数为:
nvar=inputnum×hiddennum+hiddennum×outputnum+hiddennum+outputnum,即nvar=3×10+10×1+10+1.
step3、采用训练样本集对神经网络进行训练,训练的过程中通过花授粉算法对神经网络的权值和阈值进行优化调整;
具体为:
(1)初始化控制参数。花授粉算法(fpa)花粉群体规模为10,最大迭代次数itermax为10,异花授粉和自花授粉的切换概率p为0.5
(2)初始化花粉种群,寻找当前最优化分及其所处位置g*,并计算出其适应度f(g*)
(3)进入主循环,如果rand>p,进行异花授粉,否则,进行自花授粉。
其中,rand是[0,1]上服从均匀分布的随机数;
其中,异花授粉的公式为:
其中,自花授粉的公式为
(4)判断是否更新个体,如果
(5)与最优花粉进行比较,如果f(xnew)<f(g*),则替换之前最优花粉g*为xnew。
(6)若当前花粉不是种群中的最后一个花粉,则选择下一花粉并返回(4),否则转至步骤(7)。
(7)满足算法的终止条件(达到最大迭代次数itermax)则转至步骤(8),否则进入步骤(3),继续进行下一代搜索。
(8)寻找最优解结束,输出最优的花粉个体g*和全局最优解f(g*),全局最优解f(g*)即为神经网络的最优权值和阈值。
step4、在step3训练好的网络中输入测试样本集,得到楼宇微网负荷预测的结果。
实验验证:一种花授粉算法优化神经网络的负荷预测方法实验
本实验首先对训练样本集建立fpa-nn预测模型进行训练,然后输入测试样本到已经训练好的fpa-nn模型,得到负荷预测结果;并与单独的神经网络(bp-nn)模型进行对比。附图3为fpa-nn的预测效果图。
将单赌的神经网络模型(bp-nn)和本发明的预测模型(fpa-nn)做误差对比分析,误差对比如表格1所示。
表1负荷预测误差对比
从表1可以看出,本发明预测模型(fpa-nn)的预测精度较传统神经网络(bp-nn)精确。
综上所述,本发明提出了一种花授粉算法优化bp神经网络的楼宇微网负荷预测方法,该方法首先采集楼宇微网历史负荷数据和局地气象要素数据,并进行处理,建立了训练样本集和测试样本集,然后对测试样本集建立神经网络预测模型,同时,为了提高模型的预测精度和泛化能力,采用花授粉算法对神经网络的权值和阈值进行优化;最后将测试样本输入训练好的神经网络中得到负荷预测结果;为提高楼宇微网负荷预测的精度提供了一个新方法。
以上所述均为本发明的优选实施例,并非因此限制本发明的专利范围,采用其他预测方法同样能实现负荷预测目的,不排除存在其他优质算法可以解决神经网络局部最优问题,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。