电力系统负荷预测是实现电力系统安全、经济运行的基础,尤其是在电力市场条件下,负荷预测不仅对电力系统操作人员、电力市场规划者、供电者有着重要的作用,而且对其他的电力市场参与者也很重要。当负荷预测的差额造成大量运行成本和利润损失时,高精度和快速的负荷预测就成为电力系统可靠运行和电力市场供求平衡的保证,因此对先进的智能预测方法进行研究是很有必要的。

人工神经元网络一经引入电力系统,负荷预测就成为其应用研究的一个主要领域,也是到目前为止研究得最多的一个课题。作者以某地区购网有功功率的负荷数据为背景,通过仿真实验,对 SDBP 算法、L-M 优化算法、贝叶斯正则化算法的 BP 模型(依次称之为 SDBP 、LMBP 及 BRBP 模型)在短期负荷预测中的训练速度、预测精度和推广能力等性能进行了对比。

《1   BP 神经网络》

1   BP 神经网络

《1.1 BP 神经网络结构》

1.1 BP 神经网络结构

BP (back propagation)神经网络通常是指基于误差反向传播算法(BP 算法)的多层前向神经网络 [1] ,它是 D. E. Rumelhart 和 J. L. McClelland 及其研究小组在 1986 年研究并设计出来的。 BP 神经网络通常具有一个或多个隐含层,其中,隐含层神经元通常采用 Sigmiod 型函数,而输出层神经元则采用 purelin 型传递函数。图 1 给出了一个具有单隐含层的 BP 神经网络模型。理论已经证明,具有如图 1 所示结构的 BP 神经网络,当隐层神经元数目增加到足够多时,可以以任意精度逼近任何一个具有有限间断点的非线性函数[2] 。这在结构的实现上,要比增加更多的隐含层来提高网络训练精度要简单得多。所以绝大部分在电力负荷预测领域应用的 BP 网络都只取一层隐含层。

《图 1》

图 1 具有单隐含层的 BP 神经网络

Fig.1 BP neural network with a single connotative layer

《1.2 传统的 BP 学习算法》

1.2 传统的 BP 学习算法

BP 算法由两部分组成,即信息的正向传递和误差的反向传播。在正向传递过程中,输入信息从输入经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层没有得到期望的输出,则计算输出层的误差变化值,然后反向传播,通过网络将误差信号沿原来的连接通路反向传播回来,用以修改各层神经元的权值和偏置值,直至达到期望目标。为了和其他改进的 BP 算法相区别,传统的 BP 算法又称为最速下降算法(SDBP, steepest descent back propagation)。

《1.3 L-M 学习算法》

1.3 L-M 学习算法

对于神经网络的学习和训练,传统的反向传播算法迭代速度慢,且易陷入局部最小点。针对 BP 算法的缺点,当计算机的内存足够大时,对于中小型结构的网络一般使用以下改进方法———非线性阻尼最小二乘法(Levenberg-Marquardt algorithm ,简称 L-M 算法)。 L-M 算法是牛顿法的变形,用以最小化那些作为其他非线性函数平方和的函数。这非常适合性能指数是均方误差的神经网络训练,可大幅度提高收敛速度,并可以提高算法的稳定性,减小陷入局部最小点的可能。

《1.4 BR 学习算法》

1.4 BR 学习算法

推广能力(generalization)是指训练后的神经网络对未在训练集中出现的(但来自同一分布的)样本做出正确反应的能力。在人工神经元网络训练过程中,有时会出现过度拟合现象(overfitting)。过拟合现象是由于网络学习了太多的特殊样本,并且过分追求拟合所有训练模式,即要求对于所有的训练模式误差均要很小而造成的。由于噪声的存在,网络中除了适应数据中的有用信息外,还要去适应各种噪声。这样,一个”过度训练”的神经网络可能会对训练样本集达到较高的匹配效果,但对于一个新的输入样本矢量却可能会产生与目标矢量差别较大的输出,即神经网络不具有或具有较差的推广能力。

正则化方法是对性能指数增加一项来提高其推广能力的,换句话说,修改后的性能指数包含两部分,一部分是误差平方的函数,而另一部分是网络参数数目(或他们的大小)的函数。训练过程试图在保证网络训练误差尽可能小的情况下使网络具有较小的权值,这实际上相当于自动缩小了网络的规模 [3 ,4]

贝叶斯正则化(BR,bayesian regularization)算法,是指为了提高网络推广能力,训练过程中要建立一个由各层输出误差、权值和阀值构成的特殊性能参数(该参数定义类似于规则化均方误差,msereg),通过依据 L-M 优化理论对网络的权值和阀值进行调整,使该参数最小化。

《2   BP 神经网络的应用》

2   BP 神经网络的应用

《2.1 BP 模型用于短期负荷预测的仿真结果》

2.1 BP 模型用于短期负荷预测的仿真结果

采用从 2004 年 3 月 16 日到 2004 年 4 月 21 日某地区购网有功功率的 24 点历史负荷数据,可构造出具有时间先后顺序的 28 个 24 h 数据样本。取前面 21 个数据样本训练神经网络的权值和阀值,称为训练样本,后面 7 个数据样本评价神经网络的性能,称为评价样本。对 3 种 BP 模型—— SDBP 、LMBP 及 BRBP 模型分别进行了 4 月 14 日 ~ 20 日的模拟预测,以做性能上的比较。

利用 MATLAB6.5 的神经网络工具箱函数进行编程仿真的,不仅编程简洁,而且收敛速度快[5]

图 2 给出了 SDBP 、LMBP 及 BRBP 模型 2004 年 4 月 18 的 24 h 实际值与预测值曲线图。

《图 2》

图 2 2004 年 4 月 18 日实际值与预测值曲线

Fig.2 Curves of actual and predicted values of the 18th April 2004

由图 2 可以明显的看出, LMBP 模型比 SDBP 模型的预测曲线对实际曲线具有更好的逼近效果,但在个别峰值处的误差变得比较尖锐。

对比后两组曲线, LMBP 模型的预测曲线毛刺较多,而 BRBP 模型的预测曲线较为光滑,显然,经贝叶斯正则化算法训练的神经网络对噪声不敏感,具有较好的推广能力,而经 L-M 算法训练后的神经网络却对样本数据点实现了”过度匹配”。

《2.2 仿真分析》

2.2 仿真分析

表 1 给出了 2004 年 4 月 14 ~ 20 日 7 天基于这三种模型的预测误差表。由表 1 可以看出,基于LMBP 模型和 BRBP 模型的平均相对误差和每日峰值相对误差比 SDBP 模型有了很大的降低,其中 BRBP 模型的这两个误差值是最低的。

表2为电力负荷预测分别使用 SDBP 模型、 LMBP 模型和 BRBP 模型进行训练所需要的平均迭代次数及迭代时间。由表 2 可知,采用 LMBP 模型进行网络训练,其平均迭代时间为 2.3 s ,平均迭代次数为 3.5 次,较 SDBP 模型有了显著的改进,而 BRBP 模型收敛速度较慢,平均迭代时间为 127.0 s 。

《表 1》

表 1 基于 SDBP 模型、 LMBP 模型和 BRBP 模型的预测误差表

Table 1 Errors of predicted values

《表 2》

表 2 迭代时间及次数比较

Table 2 Comparison of iterative time and times

图 3 ,图 4 ,图 5 为该例网络的某次 SDBP 模型, BRBP 模型和 LMBP 模型训练误差变化曲线。对比三个训练曲线可以看到, SDBP , BRBP 模型当网络误差性能降低到或有时候甚至于未降低到目标值时就停止了训练,而 LMBP 模型由于训练速度过快,每次停止训练时,网络误差性能远远的降到了目标值以下。如图 5 所示采用 LMBP 模型进行训练,网络误差性能目标值为 0.001 ,而当算法收敛而停止训练时,网络误差性能却已降到了4.396 49 ×10-5 ,这也是 LMBP 模型推广能力较差的一个原因吧。

《图 3》

图 3 SDBP 模型训练误差变化曲线

Fig.3 Curve of training error variation of SDBP model

《图 4》

图 4 BRBP 模型训练误差变化曲线

Fig.4 Curve of training error variation of BRBP model

《图 5》

图 5 LMBP 模型训练误差变化曲线

Fig.5 Curve of training error variation of LMPB model

《3   结论》

3   结论

根据电力系统的特点,建立了 3 个 BP 模型——SDBP , LMBP 和 BRBP 模型,进行了仿真实验比较,得到以下结论:

1)由于 BP 算法本身收敛速度慢,且易陷入局部极小,所以, SDBP 模型的预测误差,尤其是峰值处预测误差较大,预测结果并不理想。

2)当网络具有相同结构参数时,采用 BRBP 模型可使网络的推广能力得到提高,平均相对误差和每日峰值相对误差降低,但收敛速度过慢(慢于 SDBP 模型),不适于在实际应用中采用。

3)L-M 优化算法具有较快收敛速度及稳定性,虽然经 LMBP 模型训练后的神经网络却对样本数据点实现了”过度拟合”,但在负荷预测中,平均相对误差较 SDBP 模型有了很大改善,具有良好的应用前景。