基于动量因子的神经网络群电流负荷预测模型
2016-10-14田野
田 野
基于动量因子的神经网络群电流负荷预测模型
田 野
(浙江大学电气工程学院,浙江 杭州 310027)
通过建立改进的4层神经网络群,以历史负荷电流作为样本进行训练,实现对于未来负荷电流的预测。针对传统BP神经网络易收敛到局部极值的问题,引入了动态调整的动量因子。为增强对于随月份动态变化较剧烈的负荷的预测能力,提出了BP网络群结构。数据模拟结果说明该算法具有高精确性,可有效估算出下一阶段线路电流负荷变化趋势值,并且预测速度满足实际使用要求。该模型可以用于监测重点单位用电负荷变化情况,及早提示供电单位采取相应措施,促进智能电网建设。
电流负荷预测;神经网络;大数据分析
0 引言
在大数据分析时代,电力负荷预测技术可以给供电部门电力调度[1]提供决策依据,提高供电系统整体运营效益。电力负荷预测尤其对于农网10 kV线路电流预测有着重要意义:(1) 及时发现线路电流负荷变化趋势,及早发出提示信息,指导供电单位合理调度电力系统。(2) 对于个别用电单位非法盗电,致使供电部门带来经济损失又不能被及时发现的,通过预测技术可以快速报警,给予及时提示。(3) 传统人工调度手段可以通过电流预测技术给予合理替代和科学完善。有关预测算法目前比较著名且常用的有灰色理论[2]、粗糙集理论[3]、以及神经网络理论[4]等。现有文献中[5-6]一些预测模型在确定后,其学习速率、参数一般不再变化,对随月份动态变化比较剧烈的负荷预测精度不够。只采用一个模型也很难适应全年12月每个月不同负荷变化的情况[7]。本文选用神经网络作为预测模型是基于其通过学习能够自适应实现复杂的输入-输出非线性映射关系这个特征[8]。文中提出的预测模型中,动量因子可以根据本次训练代数、训练时间与上次训练代数和训练时间的设定阈值大小自动调整以获得最佳值,优化整个网络训练速度。考虑到不同月份的负荷有较大差异,建立了网络群结构,提高了预测精度。
1 神经网络基本理论
1.1 神经元模型
模拟生物的神经网络,BP神经网络由神经元构成。如图1所示。神经元模型中,其中为输入量,为权值系数,为阈值,为激励函数。输出量为
1.2 BP神经网络结构模型
神经网络分为输入层,隐含层,输出层,如图2。每一个节点即为一个神经元。输入和输出层为一层,并且节点数分别等于输入和输出变量的个数。隐含层则可以根据需要设置多层。不同层各节点之间经过权系数连接,同层不同节点之间没有相互连接[9]。隐含层的层数对神经网络的性能都有着较大影响,本文将在后续部分进行详细分析。
图2 神经网络模型
1.3 神经网络的非线性逼近能力
1.4 神经网络的泛化预测能力
设一组样本输入向量(1,2,3,,X),输出向量(1,2,3,,Y)。采用传统的方法,对于这样一组样本,要研究与的关系,有以下几个问题:
1) 无法确定与是否有函数关系;
2) 即使确定与有函数关系,但是无法确定该函数;
3) 即使确定了该函数,但难以用解析表达式表达。
这三个问题导致给传统的分析方法带来巨大的困难。
BP神经网络通过不断地学习调整权值与阈值系数,能够以任意精度逼近一个有理函数。正是基于这一特性,如果与存在着函数关系(),通过大量的样本的学习,BP网络将能够学习和记忆这个映射)。当不在样本空间里的一组输入量1输入时,网络依然可以输出1(1),而无需得出难以表达的解析表达式。即BP神经网络具有泛化能力,这也是其可以用作预测的理论基础。
2 改进的BP神经网络群模型的建立
2.1 样本空间的建立
本文的目的是预测电力系统的时刻电流负荷(),所以输入量必须是时刻之前的系统参数。输入量的选择在很大程度上决定了系统的精度,泛化能力,收敛速度。考虑到()与时刻之前的电流之间应有很强的联系,故采用后者做为输入量。为了增强泛化能力,1个输入量是不足的,故本文选取时刻之前的5个电流为输入量。这样,在时间序列上,5个输入量与输出量有着紧密数据相关性。以某10 kV线路为例,电流监测值5 min获得一次,设连续测得的6个电流分别为
将此模型简记为:
(4)
以1~5五个点为神经网络的输入,6为输出构成一个学习样本,一个月共8 640个全部学习样本构成样本空间。
2.2 输入数据的处理
对于本文所建立的BP神经网络,需要对输入数据做以下2个处理:
1) 需要为每一个电流数据加上日期时标,保证能够经过输入分类器的判断后将数据送入对应月份的BP神经网络中。
2) 因为sigmoid型函数的共有特点是在输入量绝对值较小时输出对输入很敏感,而当输入量绝对值较大时会进入饱和区。这会导致输入量的变化几乎无法影响输出,导致网络的训练停顿,很可能导致系统陷入局部极值。除此之外,输入量的值域范围相差较大,可能导致一些输入量的影响被过度放大或者淹没。因此,需要将输入量进行归一化到(-1,1)之间的范围内,避开激励函数两端的饱和区。归一化方法为所有电流数据均除以架空线路电流500 A。
训练同一组数据所需的时间。不归一化训练时间达9.1 s,而归一化后,训练时间为0.6 s,训练速度上归一化优势明显。如果采用非归一化数据直接训练,对于大于200的数据而言,有时训练时间很长,又或根本难以收敛。
2.3 网络结构的确定
2.3.1 网络群结构
本质上,时刻电流与时刻之前的电流的映射关系应该还与该线路的运行特征有关,不同的月份,运行特征不应相同,所以传统的单一BP神经网络对于随月份动态变化比较剧烈的负荷的预测精度不高,泛化能力较差。因此本文采用了如图3的网络群结构[11]。
图3 BP网络群模型
为了适应负荷随月份的动态变化,该BP网络群包括了为12个月份分别创建的BP子神经网络BP1, BP2, BP3,…, BP12,并加入了输入分类器和输出求和模块。
本文为每一组样本都加入日期时标,输入分类器根据输入样本的日期时标对输入数据进行分类,然后将其送入并激活对应月份的BP子网络,按照月份依次训练各子网络。
输出求和器将所有月份BP子网络的输出进行求和后作为整个网络群的输出。但是由于只有被激活的网络输出值不为0,所以网络群的输出就是与输入数据的日期时标相对应的月份的子网络的输出。
该网络群等效实现了对于不同月份的样本的分别训练和计算输出,相对于传统的单一网络的预测模型,大大提高了精度与泛化能力。
2.3.2 网络群中子BP网络的结构
子BP网络的结构的关键是隐含层数与隐含层节点数的确定,神经网络的层数和隐含层节点数共同决定了网络的规模。
在一定范围内,网络规模越大,可以提高网络的精度。但这并不意味着模拟的精度就一定会随着网络的复杂度的增大而升高。过多的网络节点数可能造成过拟合现象,对于非训练样本内的数据的适应程度下降,减弱了BP网络的泛化能力,容错性降低,除此之外,过大规模的网络可能会很大程度地受到噪声信号的干扰,给网络的性能带来不利影响[12]。
例如,对于异或运算函数关系的模拟,输入节点数为2,输出节点数为1,隐含层选取1层。对于不同的隐含层节点数,网络的总误差随训练次数的变化关系如图4。
图4 BP神经网络不同隐含层节点数对收敛性的影响
可以看出,当隐含层节点数为5时,收敛速度和模拟精度都要低于节点数为1时的网络。
根据神经网络的基本理论,只需要一个隐含层,通过增减隐含层节点数就可以以任意精度逼近一个有理函数。但是1个隐含层的网络误差较高,辨识精度较低,增加隐含层的层数可以提高辨识精度,也可以降低误差,提高误差精度,但是会增加网络的训练时间。
实际中,应该首先考虑的应该是增加隐含层中的节点数,而不是率先考虑增加隐含层的层数。若精度或收敛速度等无法达到要求,则再考虑增加隐含层。
本文首先采用1个隐含层,根据Hebb提出的公式[12]
(5)
式中:为隐含层节点数;为输入层节点数;为输出层节点数;为1~10之间的正整数。
选取一个较优的节点数后,为了同时兼顾模拟精度和收敛,进一步提高网络性能再增加一个隐含层,本文经过试验取得了一组较优的结构如表1。
表1 子BP神经网络的结构
2.4 响应函数的选择
激活函数的选择包括sigmoid型,纯线性函数pureline等。BP神经网络能够以任意精度逼近一个有理函数的能力本质上来源于激励函数的连续性与平滑性,因此中间层函数选择sigmoid函数,输出层采用了纯线性(pureline)函数。
3 BP神经网络的学习方法
BP网络学习过程分为两种:正向传播和反向传播。当正向传播时,信息从输入层经隐单元层处理后传向输出层。如果在输出层得不到希望的输出,则转入反向传播,逐一修改各层神经元的权值和阈值。此过程不断迭代,直到误差达到预期要求[13]。
3.1 信息的前向传播
设BP神经网络共有层。
对第+1层的第个节点,第次训练后其输出量为
按照此方法从输入层开始逐层计算出每层输出,直到计算出整个网络的输出。
3.2 误差反向传播
对于传统的BP神经网络,误差反向传播过程如下。
误差在输入量确定的情况下,只是网络的权值系数矩阵和阈值矩阵的函数。
定义目标函数为
需要特定指明的是,该目标函数与上文中的误差函数()是不同的,()为所有个样本的第次训练的误差()的和。本文中设定学习目标函数为() = 5e-6。
如果前向传播信息后输出不满足设定目标函数的要求,则需要对BP网络的权值系数和阈值进行修改,进入误差的反向传播过程。考虑一般情况,设该网络共有层,第层的节点数为。对于输出层节点与最后一个隐含层节点间的权值系数在第+1次训练的增量为
对于输出层第个节点的阈值系数在第+1次训练的增量为
对于非输入和输出层,设该层为第层,该层的第个节点与第-1层的第个节点之间的权值系数在第+1次训练的增量为
(11)
对于第层的阈值
其中
(13)
3.3 BP神经网络学习方法改进
由于误差曲面可能存在有多个极值点,因此曲面上可能有多个平坦区域。传统的BP 神经网络算法采用标准梯度下降算法,第次的学习只是按照误差曲面的负梯度方向对各层的权值系数和阈值进行修改。在数据训练时很容易陷入局部极值的平坦区域,造成训练停滞,收敛到局部极值,同时可能会导致训练过程中出现振荡现象,减慢收敛的速度[14-15]。
为此,本文采用了加入动量因子的BP算法对传统算法进行改进[16-17]。
改进后的权值修改公式为
其中,为动量因子。动量因子在第权值修改时加入了上一次-1次权值修改的影响。这样如果进入了误差曲面的局部极值区域,-1次的权值增量可以帮助系统跳出这一平坦区域,同时动量因子相当于一个阻尼项,可以起到平缓作用,减小训练过程中的振荡现象,加快收敛速度。
现有方法中[18-12],所采用的动量因子为一个定值,即在训练开始前就已确定下来,在之后训练的过程中只会对网络的权值和阈值进行调整,动量因子不再变化。
为了得到更快的收敛速度,减少训练时间,网络在训练时会根据训练时间是否达到要求对进行调整。
按照上述的训练方法,神经网络通过不断学习,自适应修改各节点之间的权值和各层的阈值,直到目标函数达到要求。
4 算法步骤
按照上文所述的参数和结构建立神经网络后,算法步骤如图5。
首先确定网络的目标函数,本文选为5e-6;网络的学习速率,本文选为0.05;网络的最大训练次数,本文选为Max=200;网络的目标训练时间,本文选为0.5 s;网络的训练时间阈值,本文选为0.02 s;动量因子的初值,本文选为0.5。
输入样本数据到BP神经网络群,根据训练样本数据的时标将数据送入对应月份的BP子网络中。之后按照月份依次对各个月份的BP子网络进行训练,如果所有月份的目标函数均达到要求,则判断实际的训练时间是否满足收敛速度的要求,如果不满足要求,自动调整的值,然后重新对网络进行训练,直到精度和收敛速度均达到要求后,网络训练完成。
图5 算法步骤
网络群的输出为所有子网络的输出值和。如果输入第个月份的数据,则只有第个BP子网络被激活,被激活的子网络输出预测值,未被激活的子网络的输出均为0,所以网络群的输出即为被激活的对应月份的子BP网络的输出。
5 实例验证
5.1 网络训练
本文所选用的样本空间以及网络结构是否合理,必须通过实际数据的测试才能够确定。通过对于数据的收集,利用历史数据加入时标后作为样本数据,对网络群进行训练。
以对5月份的BP网络训练为例。只对网络群输入2016年之前的5月份的历史电流数据,对网络群进行训练,在110步后,目标误差达4.90848e-6,在5e-6内,满足要求。图6为5月份神经网络训练过程误差曲线,可见,此模型非常好地描述了输出值与其相邻值之间关系。同时收敛速度也比较快,符合应用要求。在神经网络训练时动量因子取值影响收敛速度。文中在网络训练总目标函数()=5e-6和目标训练时间确定后,系统自动调整动量因子,直到最终系统同时达到精度和收敛速度上的要求,迭代训练优化后,取值0.978 7。
图6 神经网络训练误差曲线
5.2 负荷预测
利用历史上的电流负荷数据训练模型,在精度和收敛速度均达到要求后,训练完成。此时利用已经训练好的网络对训练样本外的数据进行预测。预测方法是采用前25 min采样得到的5个电流值作为1~5,得到未来5 min的预测电流值。电流预测间隔和采样周期均为5 min,因此,每次预测时刻的电流时,总可以利用到时刻的5个电流的实际值作为输入,从而可以连续不断地进行预测。
程序中设定有对5个输入量的检测,当5个量中某一个量或多个为0时,认为输入数据无效,预测值用最临近的值代替。当5个输入量全0时,认为是停电状态,预测输出为0。
按照上述预测方法,采用训练样本以外的数据进行负荷预测,对2016年5月23日到27日用电数据预测并与实际负荷数据对比。
当=120 2时(2016年5月23日到5月25日监测到的数据点数),电流预测绝对误差均值为0.012,表2列出了部分时间点负荷预测值和实际值的误差。
表2 部分时间点负荷预测值与实际值的误差
5月份电流实际值与预测值随时间变化曲线如图7。
图7 某监控支路 2016年5月23日到5月25日电流预测曲线
图中点是预测点。可见预测精度很高(尤其是极值点),满足重点单位监控监测需求。
利用同样的方法,采用2016年以前的历史数据对8月份样本进行训练,训练完成后,用已经固化参数的网络对该监测点近期监测数据2016年8月3日至8月6日数据进行预测,电流预测绝对误差均值为0.397。预测曲线如图8。
图8 某监控支路 2016年8月3日到8月6日电流预测曲线
由此可见,该模型对于不同月份的负荷均有较强的预测能力。
5.3 预测速度分析
要将此模型用于实际的电流负荷预测,必需保证预测速度足够快,对于时刻的电流预测值要在时刻之前得出。
文中提出的电力预测模型系统,其运行时间主要包括数据预测时间和硬件系统告警时间延时,以及网络通信延时构成。从现场运行日志报告看,几个延时之和最长可达1.5 s左右,远小于5 min的预测量,因此满足现场响应速度要求。
5.4 与传统算法的预测精度比较
取2016年8月6日某10 kV主干路某相监测电流实际数据5个点值,在时间上邻近。分别用本文神经网络方法和时间序列一次指数平滑法对以此5个点为原始数据进行后续5个点实时预测,预测相对误差结果如表3所示。
表3 预测算法对比
由此可见,相对于传统的时间序列一次指数平滑法,采用本文的神经网络算法的预测精度有着明显的优势。
6 结论
针对于智能电网的要求及传统的时间序列一次指数平滑法的精度问题,本文提出采用BP神经网络建立电流负荷预测模型。为解决传统的BP神经网络容易陷入局部极小值,收敛过程振荡的问题,提高收敛速度,在传统方法基础上加入可以自动调整的动量因子作为改进,经过理论分析和实验论证,得到4层,节点数为5-12-6-1的较优网络结构。为解决传统方法在预测随月份变化较大的负荷精度不高的问题,提出了BP网络群的结构。通过历史电流负荷监控大数据对神经网络模型[8]进行训练,在训练完成后对负荷预测,预测结果表明该模型无论是在精度上还是速度上均可以满足实际使用中的要求,能够为智能电网电力调度[7]决策提供重要依据。
[1] 周雅. 智能化电力调度数据专网建设方案研究[J]. 电力系统保护与控制, 2015, 43(6): 133-137.
ZHOU Ya. Analysis on intelligent construction scheme for power dispatching data network[J]. Power System Protection and Control, 2015, 43(6): 133-137.
[2] SHEU T W, NGUYEN P H. Using GM (2, 1) and T-GM (2, 1) to predict the number of students for admission[J]. Journal of Information & Computational Science, 2014, 11(17): 6085-6096.
[3] MA Z M, HU B Q. Topological and lattice structures of L-fuzzy rough sets determined by lower and upper sets[J]. Information Sciences, 2013, 218(1): 194-204.
[4] TAYARANI-BATHAIE S S, VANINI Z N S, K Khorasani. Dynamic neural network-based fault diagnosis of gas turbine engines[J]. Neurocomputing, 2014, 125(3): 153-165.
[5] 肖迁, 李文华, 李志刚, 等. 基于改进的小波-BP神经网络的风速和风电功率预测[J]. 电力系统保护与控制, 2014, 42(15): 80-86.
XIAO Qian, LI Wenhua, LI Zhigang, et al. Wind speed and power prediction based on improved wavelet-BP neural network[J]. Power System Protection and Control, 2014, 42(15): 80-86.
[6] 孙伟, 常虹, 赵巧芝. 基于量子和声优化的改进DMSFE组合模型及在中长期电量预测中的应用[J]. 电力系统保护与控制, 2014, 42(21): 66-73.
SUN Wei, CHANG Hong, ZHAO Qiaozhi. Forecasting mid- long term electricity consumption using a quantum harmony search based improved DMSFE combination model[J]. Power System Protection and Control, 2014, 42(21): 66-73.
[7] 周海锋, 徐伟, 鲍颜红, 等. 基于相似日选择的调度计划安全校核潮流数据生成[J]. 电力系统保护与制, 2015, 43(18): 87-93.
ZHOU Haifeng, XU Wei, BAO Yanhong, et al. Power flow data generation of security check for scheduling plans based on similar day selection[J]. Power System Protection and Control, 2015, 43(18): 87-93.
[8] 公茂法, 张言攀, 柳岩妮, 等. 基于BP网络算法优化模糊Petri网的电力变压器故障诊断[J]. 电力系统保护与控制, 2015, 43(3): 113-117.
GONG Maofa, ZHANG Yanpan, LIU Yanni, et al. Fault diagnosis of power transformers based on back propagation algorithm evolving fuzzy Petri nets[J]. Power System Protection and Control, 2015, 43(3): 113-117.
[9] 刘建华, 李天玉, 付娟娟, 等. 基于BP和Elman神经网络的智能变电站录波启动判据算法[J]. 电力系统保护与控制, 2014, 42(5): 110-115.
LIU Jianhua, LI Tianyu, FU Juanjuan, et al. Criteria algorithm for smart substation recorder starting based on BP & Elman neural network[J]. Power System Protection and Control, 2014, 42(5): 110-115.
[10] FUNAHASHI K I. On the approximate realization of continuous mapping by neural networks[J]. Intel Conf NN, 1989.
[11]白牧可, 唐巍, 张璐, 等. 基于BP神经网络群的中压配电网电压降落估算[J]. 电力系统保护与控制, 2014, 42(2): 132-138.
BAI Muke, TANG Wei, ZHANG Lu, et al. Estimation of voltage drop of middle voltage distributi-tion network based on BP neural network[J]. Power System Protection and Control, 2014, 42(2): 132-138.
[12]李季, 严东超, 赵虎城. 基于动量因子技术的BP神经网络改进算法及应用[J]. 电气应用, 2005, 24(6): 42-44.
LI Ji, YAN Dongchao, ZHAO Hucheng. An momentum BP neural network algorithm and application[J]. Elecrical Application, 2005, 24(6): 42-44.
[13] 刘丽, 唐杰, 刘卓. 基于改进微分进化优化神经网络的电力变压器故障诊断[J]. 电力系统保护与控制, 2010, 38(20): 106-109.
LIU Li, TANG Jie, LIU Zhuo. Fault diagnosis of power transformer based on improved differential evolution neural network[J]. Power System Protection and Control, 2010, 38(20): 106-109.
[14] 姚仲敏, 潘飞, 沈玉会, 等. 基于GA-BP和POS-BP神经网络的光伏电站出力短期预测[J]. 电力系统保护与控制, 2015, 43(20): 83-89.
YAO Zhongmin, PAN Fei, SHEN Yuhui, et al. Short-term prediction of photovoltaic power generation outputbased on GA-BP and POS-BP neural network[J]. Power System Protection and Control, 2015, 43(20): 83-89.
[15]马草原, 孙富华, 朱蓓蓓, 等. 神经网络算法的改进及其在有源电力滤波器中的应用[J]. 电力系统保护与控制, 2015, 42(24): 142-148.
MA Caoyuan, SUN Fuhua, ZHU Beibei, et al. Study on algorithm improvement of BP neural networks and its application in active power filter[J]. Power System Protection and Control, 2015, 42(24): 142-148.
[16]李友坤. BP神经网络的研究分析及改进应用[D]. 合肥:安徽理工大学, 2012.
[17]李旭, 顾涛. 基于神经网络的多类水印嵌入技术[J]. 计算机工程, 2005, 31(15): 144-145.
LI Xu, GU Tao. Embedding technique of multiple watermarks based on neural network[J]. Computer Engineering, 2005, 31(15): 144-145.
[18]熊峰, 龙红叶, 胡小梅, 等. 动量因子BP神经网络算法在设备故障预测中的应用[J]. 制造业自动化, 2011, 33(23): 13-16.
XIONG Feng, LONG Hongye, HU Xiaomei, et al. The application of predicting the device status using the momentum divisor ANN algorithm[J]. Manufacturing Automation, 2011, 33(23): 13-16.
(编辑 周金梅)
A forecasting model for current load of neural network group based upon momentum factor
TIAN Ye
(College of Electric Engineering, Zhejiang University, Hangzhou 310027, China)
Using the former actual line current load operation value as the training sample, the improved four layer neural network group model is put forward to predict the future current load value. For the problem that BP neural network is easy to converge to a local extremum, automatic adjusting momentum is applied. To enhance the ability in forecasting the load changing a lot in different months, the BP network group structure is put forward. Data simulation results show that the algorithm has high accuracy and can effectively estimate the current load change trend of the next time. The speed of prediction can meet the requirements of practical application. This model can be used as a large data analysis model for monitoring the change of the power load of the key units, and the early proposal is promptly proposed to power supply unit to take the corresponding measures. This model can also promote the construction of smart grid.
current load forecasting; neural network; large data analysis
10.7667/PSPC161099
2016-03-19
田 野(1994-),男,本科在读,专业方向电气工程及其自动化。