陶 娟,邹红波,周 冬
(三峡大学 电气与新能源学院,湖北宜昌 443000)
电力负荷预测是考虑到历史负荷、天气、时间等信息,对未来电力负荷进行预测。负荷预测包括发电调度、系统备用发电量的确定、市场运行优化等[1-3]。负荷预测对电力企业在电力采购、发电、负荷切换、电压控制、基础设施建设等方面做出重要决策具有重要作用[4-5]。按预测持续时间分为长期预测[6-8]和短期预测[9-13]。负荷预测包括传统方法和基于人工智能的方法。前者包括时间序列[14],多元回归[15]和状态估计方法,而后者包括模糊逻辑[16]、支持向量机[17],人工神经网络(ANN)方法[18]。传统的方法具有简单的优点,而基于人工智能的方法具有较高的预测精度,可以准确地建模观测负荷与所依赖的变量之间的高度非线性关系。
利用集成学习进一步提高了预测精度。集成学习中应用最多的两种算法是袋装神经网络算法(BNN)和提升人工神经网络算法(BooNN)。两种算法都将单个预测模型的输出聚合起来,以提高总体预测精度。BooNN技术基于迭代地生成许多ANN模型,在每个迭代中,生成的模型减少了预期输出与前一个迭代中训练的模型之间的误差。该模型通过前一个迭代的目标输出中减去加权估计值来更新每次迭代的目标输出。数值计算结果表明,与现有的算法相比,该方法具有更小的预测误差。
本研究采用一种基于提升人工神经网络的短期负荷预测方法,并进行仿真验证预测误差。
人工神经网络算法的体系结构包括三层:输入层、隐含层和输出层。第一层的输入由不同的因素或特性组成。隐含层用以把输入数据的特征抽象到另外的维度空间,来展现其更抽象化的特征,从而利用这些特征更好地进行线性划分。输出层为最后一层,输出预测值。
每个隐含层包含有多个神经元,每层的输出由前一层的输入乘以权重加上偏差得到。权重矩阵将输出从前面的层扩展到后面的层。神经网络算法的数学模型为:
式中,xint为t时刻的输入矢量,为输入向量的各个分量,F为输入参数的个数;分别为第1层和第i层输出矢量;为最后层的输出,为标量;L为总的层数;ρ为各层的激活函数;W1、Wi、WL分别为第1、i、L层的权值矩阵;b1、bi分别为第1、i层的偏差向量,bL为第L层的偏差,为标量。
通过改变权值和偏差对神经网络进行训练,并将所得到的预测输出与输入训练数据比较,得到权值和偏差的变化,进而得到目标输出。通过训练使预测输出与目标输出之间的差异最小化,数学表示为:
式中,xouttarg为目标输出值;W为权值矩阵集合;b为偏差向量集合。分别表示为:
通过随机梯度下降算法对权值和偏差进行更新。利用部分训练样本得到上述目标函数,并根据权值和偏差计算目标函数的梯度。通过从权重和偏差中减去一个因子加权的计算梯度来更新权重和偏差。
在短期电力负荷预测中,预测模型反映了影响电力负荷的各种独立参数X在离散时间序列上的取值,与这些时刻测量到的相应负荷值y之间的关系。描述X与y关系的模型i应满足以下要求:
(2)预测值具有较低的方差。不同模型的预测值与所有模型的预测平均值之间不存在较大差异。
(3)函数应避免过拟合。该模型应该能够忽略预测中的随机误差。
由于该模型是一个高度非线性的函数,基于人工智能的算法在处理非线性关系方面具有很大的优势,本研究采用了基于人工神经网络的总体学习方法,提升人工神经网络算法。使用一组人工神经网络模型,其中每个模型都是通过对不同数据集的训练得到的,然后将这组模型(也称为总体)融合在一起,得到最终的估计预测。改进模型是通过迭代生成,图1为提升算法的流程。
图1 改进人工神经网络算法的流程
首先,在第i次迭代中使用原始训练数据生成初始模型,这些原始训练数据包含独立的特征和相应的目标输出。在第i+1次迭代中,将输出目标替换为第一个模型预测的误差,从而生成新的模型:
式中,hi是目标输出与使用第i次迭代后模型的输出之间的误差,αi是每个模型的权重。迭代过程生成了M个模型,所有这些模型形成的集合为:
预测因子的线性组合表示为:
针对负荷预测问题,考虑由自变量Xtr和负荷ytr组成的训练数据集,改进算法的步骤如下:
(1)参数定义。定义总体中迭代的总数为M,权重αi为常量为ytr。
(2)迭代生成模型。第一次迭代的模型为:
(3)从i=2到i=M,残差按照下式进行迭代:
利用更新后的残差计算出一个新的神经网络模型:
更新过程使用在每个迭代中权值的估计值,只使用与目标输出和训练模型得到的输出之间的差值相关的部分信息,可以防止过度拟合。
(4)在所有迭代结束时,每次迭代得到的所有神经网络模型即为集合Ψ。
(5)在给定参数X的情况下,预测负荷以集成模型输出的加权和的形式计算如下:
采用文献[19]中的历史小时温度和负荷数据,这些参数是短期负荷预测的典型参数。训练数据集由这些变量组成的数据向量构成,目标输出与这些数据中给定时刻测量的电力负荷相对应。
表1为不同时段数对平均绝对误差率的影响。对于大于500个时段数、大于20个节点和大于1个隐含层数时,性能没有显著提高。在300个或更多的时代,EMAP几乎保持不变。随着节点数的增加,EMAP减少,而当节点数超过20时,EMAP不再减少。此外,对于固定数量的节点,当隐含层从1增加到2时,EMAP的变化非常小。对于20个节点,1个隐含层的性能与10个节点,2个隐含层的性能相似。基于这些结果,选择的ANN模型参数为500个时段数,1个隐含层包含20个节点。
表1 不同时段数对平均绝对误差率的影响
不同迭代次数和训练样本大小对负荷预测精度的影响如表2~3所示。对于相同的迭代次数,随着训练样本数量的增加,EMAP减小。样本大于20 000时,对于每个样本大小,25次迭代小于5次迭代的EMAP。随着迭代次数增加,EMAP会有所减少并在最小值附近有一些波动。15 000个样本时训练样本的大小不够,在这种情况下,EMAP随着迭代的增加而增加,因为在一定的迭代次数之后,会导致过度拟合。
表2 不同节点数和层数对平均绝对误差率的影响
表3 不同样本数和迭代数对平均绝对误差率的影响
图2为样本数为25 000和35 000时平均绝对误差率与迭代次数的关系。EMAP随着迭代次数的增加而减小,特别是当迭代次数大于12次时,35 000个样本时的EMAP小于25 000个样本的。但差别较小且随着迭代次数大于10次时EMAP变化较小,因此可以选择样本大小为25 000,迭代次数为10次。
图2 样本数对平均绝对误差率的影响
选取文献[19]中该地区2018年8月1日~9月1日的数据作为训练样本,预测10月1日~12日的小时负荷。将通过BooNN算法得到的平均绝对误差率与现有的方法进行比较,包括袋装神经网络算法(BNN)、自回归滑动平均算法(ARMA)、混合无监督神经网络算法(HybANN)、基于典型日的小波神经网络(SIWNN)。
图3为与现有算法预测性能比较,BooNN的误差率与ARMA、HybANN和SIWNN均有显著性差异。虽然与BNN相比,其改进幅度较小,但BooNN在计算速度上更有优势。BooNN的平均预测值为1.42%,ARMA、HybANN、BNN和SIWNN的平均预测值分别为2.21%、1.94%、1.47%和1.93%,说明BooNN具有更高的预测精度。
图3 与现有算法预测性能比较
本研究提出了一种基于提升人工神经网络(BooNN)的短期负荷预测方法。通过仿真,当计算输出的模型个数大于或等于20时,可以获得较低的预测误差。通过与BNN、ARMA、HybANN和SI‐WNN的预测性能比较,进一步证明用BooNN得到的误差更小,波动也更小。