基于PSO-BP 神经网络的短期负荷预测算法

时间:2013-07-24

  摘要:提出一种短期负荷预测算法,用于解决对未来能耗周期能源使用的预测问题。首先介绍短期负荷特点,分析短期负荷运行规律,并采用零相滤波器对原始负荷曲线进行预处理,相除奇异点。其次,介绍BP神经网络基本结构,并针对BP神经网络容易陷入局部极小值的缺点,采用PSO算法确定网络训练初始权值。然后,设计一种基于PSO-BP神经网络的短期负荷预测算法,包括预滤波、训练样本集建立、神经网络输入/输出模式设计、神经网络结构确定等。,选择上海市武宁科技园区的电科商务大厦进行负荷预测,实验结果表明,与传统的BP神经网络相比,PSO-BP神经网络用于短期负荷预测算法的更高,预测负荷和实际负荷之间的平均误差(MAE)小于1%.

  0 引言

  短期负荷预测广泛应用于美国竞争性电力市场的运营,在日前阶段预测次日电力交易总额,从而确定次日发电设备的装机容量以及辅助市场的备用配额,保证负荷预测是负荷预测技术的关键。目前常用的短期负荷预测算法有时间序列算法、回归算法、卡尔曼滤波和状态空间算法,对复合序列中的变量进行建模。

  但是负荷模型通常是非线性而且特征类型未知,传统的线性统计算法用于负荷预测往往不高。神经网络可以实现从输入到输出的任意非线性映射,广泛地应用于函数逼近以及模式识别领域。BP神经网络由于网络结构、算法相对简单,而且从理论上三层BP神经网络可以逼近任意非线性函数,得到广泛应用。但是BP神经网络训练在很大程度上依赖网络初始权值的选择,如果初始权值选择不适当,往往会出现欠训练或过训练情况,即容易陷入局部极小值而得不到全局值。

  本文针对BP神经网络的缺点,引入PSO算法用于选择BP神经网络初始权值,提出一种基于PSO-BP神经网络的负荷预测算法,经过试验验证算法的。

  1 短期负荷预测

  负荷曲线呈非线性特征,而且是随机变化,受多个因素影响,如天气、季节、节假日等。本文选择的负荷记录数据库来自上海市武宁园区的电科大厦,是商务办公楼宇,节假日以及休息日的负荷曲线和工作日差距很大或者根本没有明显的峰谷特征,而且预测节假日和休息日的负荷意义不大,因此这里不考虑节假日和休息日。

  在工作日的数据中,峰谷特征明显,但是在某些时刻,由于计量设备短暂故障或者是其他信号干扰,导致计量数据出现奇异,如图1所示,因此为了提高负荷预测,在负荷预测之前应先对负荷数据进行预处理。

  

  首先采用零相滤波器对初始负荷曲线进行,获得平滑的负荷曲线。零相滤波器实现过程如图2所示。

  

  假设滤波器系统函数是H(z),对于N 点的输入序列是X(z),输出序列为Y(z),则零相滤波过程如下过程:

  

  结果表明经零相滤波器处理后,信号相位未发生失真,仅信号幅值发生变化。假设d(n)表示输入序列x(z)和零相滤波器输出序列y(n)之间差的,那么设一阈值D,如果d(n)的值超过D,则表示当前负荷值为奇异值。然后采用样条插值方法,估计奇异数据点的真实值。经过上述方法预处理后的负荷曲线如图3所示。

  2 PSO-BP 神经网络

  2.1 BP神经网络

  理论研究表明,三层BP神经网络能够拟合任意函数,设输入层神经元个数为n,输出层神经元个数为m,隐层神经元个数为l,则输入为{xi|i = 1,2,…,n },输出为{yi|i = 1,2,…,m },设输入层与隐层之间的连接权值为{wij|i = 1,2,…,n ; j = 1,2,…,l } ,输出层与隐层之间的连接权值为{vij|i = 1,2,…,l; j = 1,2,…,m}  .其中隐层节点个数的确定采用经验公式(6)确定范围,再逐个实验取使神经网络性能的值,经验公式为:

  

  式中a 为1~10之间的整数。BP神经网络的训练方法是输入已知学习样本,通过设置的网络结构和前迭代的权值和阈值,从网络层向后计算各神经元的输出,然后从一层向前计算各权值和阈值对总误差的影响,并对权值和阈值进行修改。反复迭代该过程,直到算法收敛为止。

  BP神经网络存在的问题是容易陷入局部极小值,导致训练时间过长或者无法训练。目前出现一些改进算法,如附加动量法、自适应调节学习率法等,虽然在陷入局部极小值时,能够及时调处,但是容易出现欠训练或过训练的情况。本文引入PSO算法首先确定初始权值和阈值,使得网络训练的初始状态位于全局值附近,然后再利用BP神经网络算法使其收敛至全局值。

  

  2.2 PSO算法改进BP神经网络

  在利用神经网络进行负荷预测的过程中,由于负荷曲线规律性差以及初始权值和阈值选择的随机性,在神经网络训练过程中初始性能误差较大,有时甚至会出现神经网络收敛到某个误差值而无法继续训练达到预期训练误差,即出现神经网络陷入局部极小值而偏离全局的情况。PSO 算法为克服这一缺点提供了一个有效途径,本文利用PSO 算法对BP神经网络进行初始权值训练。

  标准PSO算法早期收敛速度较快,但到了寻优后期速度比较缓慢,这主要是因为算法收敛到局部极小值即早熟的原因。这里引进人工免疫系统算法中的定义:抗原、抗体、抗原和抗体之间的亲和度对应于目标函数、解、目标函数与解的适应度。于是搜寻BP神经网络初始权值和阈值的实现过程为:

  (1)PSO 变量设置。设当前种群中的粒子i 的位置为BP神经网络权值和阈值的集合Xi:

  Xi=[v11…v1l…vN1…vNl…w11…w1m…wl1…wlm]T

  当前粒子的维数为D=l×N+m×l+l+m,设当前粒子的飞翔速度为Vi,迄今为止搜索到的个体极值表示为pbi,整个粒子群中所有粒子搜索到的全局极值表示为gb,则第i 个粒子就是按照下面公式来更新自己速度和位置:

  

  式中w 为惯性权重,较大的权重可以加强全局搜索能力,较小的权重能加强局部搜索能力,为了使算法具有较快的收敛速度,这里采用Eberhart的线性递减权重策略:

  

  式中t 为当前进化迭代次数,Tmax 为迭代次数,wini为初始惯性权重,wend 为惯性权重。

  (2)PSO改进。这里使用人工免疫系统中的克隆选择机制改进标准PSO算法。对于变异算子,采用增加随机扰动的方法使其能够脱离局部解,如式(10)所示:

  

  式中d,Y 表示第样本输入时的期望输出和实际输出。

  当评价函数满足误差要求时或达到迭代次数时即可终止迭代循环。

  3 基于PSO-BP 神经网络的短期负荷预测算法

  本文提出一种基于PSO-BP神经网络的短期负荷预测算法,首先,按小时采集频率记录实时负荷并建立数据库。其次,对采集记录进行预处理,经过零相滤波器滤波后检测出错误记录,通过插值方法估计实际记录值。然后,建立训练样本集训练神经网络。由于预测日的天气条件与前日比较相似,因此本文以前日负荷曲线来预测当日负荷曲线。在神经网络训练过程中,利用改进的PSO算法确定神经网络初始权值和阈值,再利用LM算法训练直至神经网络收敛到值。,将当日负荷曲线输入到训练好的神经网络中预测次日负荷曲线。

  4 实验与结果

  武宁科技园区的能源管理平台的主要功能是监控园区内电科大厦和港鸿大酒店两栋商业建筑的能耗情况以及供电线路工作状态,可根据设定采集时间间隔,查看楼宇的能耗计量数据。本文以电科大厦作为负荷预测对象,以小时为采集时间间隔,并根据当日负荷预测次日负荷。利用当日负荷和次日负荷建立训练样本集,当日负荷作为输入,次日负荷作为输出。为了验证本文引入PSO算法训练神经网络的效果,这里分别应用传统BP神经网络和PSO-BP神经网络分别训练,然后另外选择4个工作日作为预测日,分别利用训练好的网络预测负荷,结果如表1所示。表1中数据为归一化处理后的结果。这里使用MAE(平均误差)来验证神经网络的预测,结果如表2 所示。由表2 可以看出,本文提出的PSO-BP算法训练的神经网络预测与经过传统BP算法训练后的神经网络预测相比,负荷预测有明显提高,这是因为传统BP算法训练的神经网络很容易陷入局部极小值,此时的神经网络欠训练,因此在进行负荷预测时不高。而本文提出的PSO-BP算法,在神经网络训练开始就确定比较的初始权值和阈值,使得网络在全局极小值附近进行训练,因此能够很快收敛到全局极小值,在预测结果上较高。

  由表2可知,经过本文提出算法训练后的神经网络负荷预测的平均误差小于1%.

  

  

  5 结语

  本文提出一种短期负荷预测算法,首先采用零相滤波器检测记录奇异数据点,并通过插值的方法估计奇异数据的真实值,然后设计PSO-BP神经网络,弥补BP神经网络的初始权值和阈值,再利用LM算法训练神经网络。利用训练好的神经网络预测次日负荷曲线。

上一篇:基于逆向工程与快速成型技术的产品设计
下一篇:基于 VLSI 平台的 C51 处理器仿真与设计(二)

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料