刘进波,周克男,任明会
(长沙理工大学 数学与统计学院 湖南 长沙 410004)
基于相关因子的BP神经网络电力负荷短期预测
刘进波,周克男,任明会
(长沙理工大学 数学与统计学院 湖南 长沙 410004)
电力行业是一个国家非常重要的基础性行业,电力负荷的合理预测对整个国家的安全、社会的稳定以及人民的生活都有着重大的意义。本文作者主要研究了影响短期电力负荷预测的相关因子, 并建立了基于相关因子的BP神经网络模型,最后给出了实例分析。
电力负荷预测;相关因子分析;BP神经网络模型
人工神经网络(Artificial Neural Network—ANN),是基于人脑结构从信息处理角度对人脑神经元网络进行抽象的一种数学模型。人工神经网络模型种类众多,在电力预测方面常用的为BP模型,它由输入层、隐蔽层、输出层组成,其拓扑结构如图1所示。这种模型为前馈网络,输入信息依次经输入层、隐蔽层、输出层。如果在输出层不能得到期望的输出,则转入反向传播,将误差信号沿原来的连接通路返回,通过修改各神经元的权值,使得误差信号最小。
图1 神经网络结构图
BP算法是一种自动学习的过程,其学习过程主要包括两个方面:
(1)输入信息的向后传播;(2)预测值与期望值之间误差的向前传播。
(1)输入信息的向后传播过程:
隐含层第i个节点的输入neti为:
隐含层的第i个节点的输出oi为:
输出层第k个节点的输入netk为:
输出层第k个节点的输出ok为:
(2)误差的反向传播过程
误差反传其实就是将输出误差通过隐含层向输入层逐层反传,将误差分摊给各层所有节点,直到误差达到规定的要求,训练即告停止。
对于样本p的二次型误差准则函数Ep为:
系统对p个训练样本的总误差准则函数Ep为:
沿误差函数对权值或阈值的偏导数的负方向进行修正,得出最后整理得调整公式为:
输出层权值修正函数为:
输出层阈值修正函数为:
隐含层权值修正函数为:
隐含层阈值修正函数为:
式中
wij——输入层第j个节点到隐层第i个节点的权值,,i=1,2 ……,q,j=1,2 ……,M;
wkj——隐层第j个节点到输出层第k个节点的权值,k=,2……L;
xj——输入层第j个节点的输入;
θi——隐层第i个节点的阈值;
φ——隐层的激励函数;
ak——输出层第k个节点的阈值;
ψ——输出层激励函数;
ok——输出层第k个节点的输出。
短期电力负荷预测是指一年之内以月为单位或以周、天、小时为单位的电力负荷预测。大多短期电力负荷模型往往在样本训练过程中拟合效果较高,但在实际预预测过程中却产生了较大的偏差,因此如何提高电力预测模型的实用性显得尤为重要。图2给出了电力负荷以周为单位每天的变化过程。
图2 电力负荷周变化图
由图表可以看出,电力负荷有明显的类周期性变化。除此之外,每日的电力负荷还将受到天气等因素的影响,例如每天的最高温度和最低温度、降雨量、是否是节假日都将对当日的天气状况造成影响。本文结合电力负荷的实际情况,提取到的电力负荷的相关因子分别为:日期因素、日最高温度、日最低温度、日平均温度、相对湿度以及降雨量。
为加快神经网络的收敛速度,本文研究时采用S型激励函数。并对样本数据进行归一化处理,避免由于输入值较大,导致过饱和现象,影响训练速度。本文采用指数型S型激励函数即logsig函数,因此需要将数据归一化到(0,1)之间。
2.2.1 相关因子数据的量化处理。日期类型不能直接作为神经元节点的输入数据,要对其进行量化处理,在由图表2可知,工作日用电量与双休日(周六、周天)用电量有所不同。因此,对工作日和周末进行二分类取值,工作日取0,双休日取1。
2.2.2 量化数据的归一化处理。将电力负荷、量化后的日期因素、日最高温度、日最低温度、日平均温度、相对湿度以及降雨量进行归一化处理,处理方式为按(1)式将数据变成[0,1]区间变化的数据,输出的时候再利用(2)式还原。
式中
Li——分别为第i个因子的数据,Li,i=(1,2,……8)分别表示电力负荷、量化后的日期因素、日最高温度、日最低温度、日平均温度、相对湿度以及降雨量。
Limax——该因子观测值中的最大值;
Limun——该因子观测值中的最小值;
(1)输入量选取
输入量如图3所示。
图3
图4 流程图
每个输入变量包括13个元素,分别为预测日之前连续7天的电力负荷、预测日量化后的日期因素、日最高温度、日最低温度、日平均温度、相对湿度以及降雨量。
(2)输出量选取。输出量为一个数值,即预测的电力负荷值。
(3)隐层层数的确定。增加隐层的层数对网络训练的信息处理能力有所提高,但同时会使网络复杂度大大增加,对网络的性能及训练速度产生较大的影响。由Kolmogorov定理知,在实际应用过程中,一个隐层的网络足以解决各种复杂的实际问题,可以凭借增加隐含层节点数提高网络处理能力。本文选取的训练样本数目适中,为防止建模复杂,选取一个隐层已足够。
(4)隐层节点数的确定。隐层节点数的选取没有固定方式,一般通过在网络训练中分析比较选取不同的节点数最后得出的预测结果误差大小,然后确定合适的节点数。确定隐层节点数有以下基本的原则:试凑时,从较小节点数开始,逐渐增大,使得满足了误差要求的情况下,节点数较少,应尽量小于N-1(其中N 为训练样本数)。
(5)学习规则的确定。单纯的梯度下降法学习规则往往会出现收敛速度慢,训练时间长,有时甚至可能不收敛的问题,本文采用非线性阻尼最小二乘法(L-M)进行优化,实验证明,L-M优化算法比单纯使用梯度下降法的BP算法收敛速度快得多。
(6)学习速率的选取。如果学习速率选取太大,可能引起过调,如果选取太小,又会延长训练时间。通常,学习速率在0.01~0.8之间选取,本文取0.1。
经过上述准备,BP神经网络的基本建立,为后期对历史数据的训练以及对未来负荷的预测做好准备。结合上述步骤,基于相关因子的BP神经网络预测模型的建立及应用过程流程图如图4所示。
采用MATLAB神经网络工具箱中的Newff函数按图中的神经网络结构创建一个三层豹BP神经网络,网络隐含层神经元的激励函数为s型函数。采用L-M学习规则训练网络,运用trainlm函数。输入数据,训练网络,进行预测。
训练样本的数据来自电机工程协会2016年公布的某地区的电力负荷及相关因素数据,以6月1日—6月30日的数据作为训练样本,其中每个训练样本包含13个元素,分别为预测日期前一周的电力负荷以及预测日当天的量化后的日期因素、日最高温度、日最低温度、日平均温度、相对湿度以及降雨量。将数据进行归一化处理,构建出一个13行30列的训练样本矩阵。训练目标为预测当天的电力负荷构成的一个1行30列的矩阵。输入之前建立的神经网络,得到训练样本的拟合情况如图5,由图可知,训练数据仿真效果较好。
图5 仿真效果图
用已经训练好的网络对7月1日至7月7日的数据进行预测,预测结果及相对误差见表1。
表1 电力负荷预测值及相对误差
由表中数据可知,该模型预测效果较好,平均相对误差在5%以内,有很好的推广价值。
随着科学技术的快速发展,湿度,温度,气温等与电力负荷相关的影响因子的预测越来越准确,与此同时,例如日期等因子信息更是可以精确的获得。采用基于相关因子的BP神经网络能反映负荷自然变化的内在规律,使短期电力负荷预测的精度越来越高成为可能。本人利用MATLAB神经网络工具箱编程,对传统BP神经网络算法的缺点进行了改进,使神经网络训练效率更高、训练时间更短。实例计算结果表明,采用本文所使用的改进了的BP神经网络算法的短期电力负荷预测,具有训练速度快、预测精度高等优点。
[1]刘进波,陈鑫,李新花.基于LM算法的BP神经网络的电力负荷短期预测[J].经济数学,2015,32(2)34-38.
[2]倪方云,程浩忠.采用改进BP神经网络算法预测短期电力负荷[J].供用电,2008,(02):16-19.
[3]隋惠惠.基于BP神经网络的短期电力负荷预测的研究[J].哈尔滨工业大学(自然科学版),2015.6:16-21.
[4]曲薇薇.基于BP人工神经网络的电力短期负荷预测[D].东北石油大学,2011:26-32.
TM715 【文献标识码】A 【文章编号】1009-5624(2018)01-0211-04
国家级大学生创新创业训练计划项目(201610536014);湖南省级教研教改项目《微课背景下理工类地方高校《高等数学》课程教学改革的研究与实践》(湘教通[2016]400号);湖南省教育厅科研项目(13C1036);湖南省大学生研究性学习和创新性实验计划项目(湘教通[2016]283号)。
刘进波(1958-),男,汉,湖南长沙人,硕士,副教授。研究方向:差分方程的理论与应用,大学数学的教学研究与应用。