基于LSTM-AdaBoost的城市住宅区负荷预测*

2021-03-04 08:27李龙祥王雨嫣鲁荣波
关键词:住宅区露点负荷

李龙祥,彭 晨,李 军,王雨嫣,鲁荣波

(1.吉首大学信息科学与工程学院,湖南 吉首 416000;2.吉首大学数学与统计学院,湖南 吉首 416000;3.怀化学院,湖南 怀化 418008)

电能是未来智慧城市发展最主要也是最重要的能源[1].准确的住宅负荷预测能够帮助电力部门合理制定生产调度计划,减少电力的资源浪费[2-4],这对于未来智慧城市的发展至关重要.目前,城市住宅区负荷预测研究方法主要分为统计算法和机器学习算法[5].统计算法主要包括自回归积分滑动平均(Autoregressive Integral Moving Average,ARIMA)[6]、卡尔曼滤波[7]等.这些统计方法具有计算速度快、复杂度低的优点,但是难以反映非线性特征的影响.机器学习算法能够较好地处理非线性问题,因此近几年常被应用于负荷预测领域.例如,满达等[8]设计了一种基于长短时记忆(Long Short-Time Memory,LSTM)网络的预测模型,并将该模型用于高校电力负荷预测,取得了不错的效果;王义军等[9]通过引入粒子群算法来优化支持向量机(Support Vector Machine,SVM)的方式,从而提高负荷预测的精度.随着城市区域的扩张、家用电器的多样化发展,单一的预测方法已不能在日益复杂的负荷序列上取得令人满意的结果.研究表明[10-13],使用混合模型往往可以取长补短,获得更好的预测效果.因此,笔者设计了一个将LSTM网络与AdaBoost集成方法相结合的混合模型,并将它用于城市住宅区短期负荷预测.

1 基于 LSTM和集成算法的城市住宅区负荷预测模型

1.1 LSTM网络

LSTM是循环神经网络(Recurrent Neural Network,RNN)一个优秀的变种模型.它解决了原始循环神经网络在梯度反向传播过程中由于逐步缩减而产生的梯度爆炸和消散问题,成为当前最流行的RNN,在时间序列分析[14]、语音识别[15]、自然语言处理[16]等许多领域中被成功应用.LSTM的出现使得时序数据在特征抽取和表示上更加强大,因此被笔者选作集成模型的基学习器.

LSTM网络由记忆单元Ct、输入门it、遗忘门ft和输出门ot四部分组成,内部模块结构如图1所示.记忆单元决定当前时刻的状态,输入门和输出门控制着进出记忆单元的信息大小,遗忘门决定丢弃多少之前的信息.

图1 LSTM的内部模块结构

LSTM门控单元计算过程如下:

ft=σ(Wfhht-1+Wfxxt+bf),

it=σ(Wihht-1+Wixxt+bi),

ot=σ(Wohht-1+Woxxt+bo)

LSTM记忆单元具体计算方法为

ht=ot∘tanh(Ct).

为了更进一步提升LSTM对负荷序列的处理能力,笔者使用2层LSTM网络作为基学习器,神经元的个数通过Keras Tuner优化确定为第1层32个,第2层160个.为了减少过拟合,在每个LSTM层之后再设置一个dropout层进行正则化操作并使用损失函数Huber和RMSprop优化器更新模型参数.

1.2 AdaBoost集成学习算法

集成学习大致可以分为2类[17]:一类是基学习器之间必须串行生成且具有强依赖关系的boosting;另一类是可以并行生成基学习器的bagging和 “随机森林”.

由 Yoav Freund 和 Robert Schapire 开发的自适应提升(Adaptive Boost,AdaBoost)[18]是一种串行生成基学习器的集成算法.AdaBoost通过将多个基学习器进行结合,常可获得比单一的学习器更为优越的泛化性能,且不易受到过拟合问题的影响.因此,笔者采用AdaBoost集成学习算法与LSTM网络相结合的方法来对城市住宅区短期的用电量进行预测.

1.3 LSTM-AdaBoost负荷预测模型

LSTM-AdaBoost负荷预测模型先通过AdaBoost集成算法串行训练多个基学习器并计算每个基学习器的权重系数,接着将各个基学习器的预测结果进行线性组合,生成最终的预测结果.

LSTM-AdaBoost模型算法流程如下:

输入:训练集D={(x1,y1),(x2,y2),…,(xi,yi),…,(xm,ym)};

基学习器LSTM;

基学习器数量T.

过程:

1.初始化d1=(w11,w12,…,w1i,…,w1m),w1i=1/m,i=1,2,…,m∥初始化训练集权值

2.fort= 1 toT

3.kt=LSTM(D,dt) ∥使用权值分布为dt的训练集D训练基学习器kt

4.Et=|yi-kt(xi)| ∥计算训练集上的样本最大误差

9.end for

首先,将训练集的权值初始化并设置基学习器数量为T;接着,将训练集输入到LSTM网络中进行第一轮训练并计算出样本的相对误差eti、LSTM网络的回归误差率εt及基学习器的权值系数αt;最后,通过eti和εt更新下一轮训练的数据集权值,并将更新后的数据集输入到下一个LSTM网络进行学习.从更新公式可知,在当前轮中预测错误的样本权值在下一轮训练中会增大,因此下一个LSTM网络会更多的关注权值大的样本.重复上述训练过程,直至基学习器的数量达到预先设定值T,最后对计算出权值系数的所有基学习器进行线性组合就得到了集成模型LSTM-AdaBoost.

2 实验部分

2.1 实验数据集

实验采用的是麻省理工大学提供的公寓数据集,该数据集以分钟为频率记录了2014到2016年114个单户公寓的用电情况,并包含了当地这3年的天气数据.其中天气数据包括温度、室内温度、露点、湿度、压力、风速等14个气候特征.考虑到人类活动对住宅用电量的影响,周类型及白天、黑夜2个特征被编码添加到原始数据集中.笔者以15 min的频率重采样数据集,以114个单户公寓总计用电量作为预测目标.数据集中某些公寓的缺失值以同一时刻其他所有公寓负荷数据的均值进行填补.训练集、验证集、测试集的大小分别为4,1,1个月.

2.2 特征选取

盲目构建模型输入特征空间可能会导致数据利用效率降低,因此笔者使用Pearson相关系数和最大信息系数(Maximal Information Coefficient,MIC)来探索历史负荷数据与其他外部变量之间的相关性.首先以Pearson相关系数分析历史负荷与温度、湿度等外部变量之间的线性相关程度的强弱,再使用MIC检测输入变量之间的非线性相关性.通过综合使用Pearson相关系数与MIC来剔除不相干或冗余的特征,从而提高模型计算效率及预测精确度.

气温是进行负荷预测时常用的输入特征之一[19-21],这是因为人们对冷热的感受会影响住户对空调等一些大功率电器的使用情况.因此,天气的冷热和城市住宅区的用电量是息息相关的.露点(空气中的水蒸气凝结成水珠的温度)、室内温度、温度都是表示天气温度高低的数据类型,在进行变量的相关性分析过程中,三者之间展现出较强的相关性.为避免特征冗余,选取最恰当的特征作为模型的输入,笔者分析了室内温度、温度及露点各自与历史负荷的相关性,结果见表1.

表1 相关性结果

由表1可知,露点与历史负荷的相关性要比温度及室内温度强,这说明露点相较而言更能反映居民对家用电器的使用情况.最后结合2种相关性分析的结果,露点、湿度、周类型与历史负荷等特征被用作模型的输入.

2.3 评价指标

为了评估LSTM-AdaBoost集成模型的预测准确性,笔者采用了3个常用的评价指标,平均绝对百分比误差(Mean Absolute Percentage Error,MAPE,用ηMAPE表示)、平均绝对误差(Mean Absolute Error,MAE,用ηMAE表示)和均方误差(Mean Square Error,MSE,用ηMSE表示),计算公式如下:

2.4 实验结果与讨论

本研究使用Scikit-Learn包来搭建集成学习框架,使用Tensorflow深度学习框架进行LSTM网络层的搭建,在Google Colaboratory平台上进行实验分析.时间窗口的大小设置为1 d的采样值即96,步长为1.特征矩阵在输入到模型前先进行标准化处理,从而消除由于量纲不同所引起的误差.

为了验证LSTM-AdaBoost集成模型的优越性,以LSTM、SVM、CART决策树、线性回归(Linear Regression,LR)和K近邻法(K-Nearest Neighbor, KNN)作为基准模型,以MAPE、MSE和MAE作为评价模型优劣的指标,模型性能比较见表2.

表2 模型性能比较

从表2可以看出,LSTM网络的各项指标数值相较于其他基准模型均有显著降低,这说明LSTM网络对时间序列处理的能力是值得肯定的.因此,笔者采用LSTM网络作为集成算法的基学习器是合理的.

图2展示了LSTM网络与LSTM-AdaBoost集成模型的预测结果.

图2 LSTM网络与LSTM-AdaBoost集成模型的预测结果

由图2可以看出,LSTM-AdaBoost集成模型与LSTM网络在预测整体趋势方面两者相差不大,但是在细节波动的预测上LSTM-AdaBoost集成模型的表现更好,这说明LSTM-AdaBoost集成模型对负荷曲线的拟合效果更好.通过对比LSTM网络与LSTM-AdaBoost集成模型的评价指标可以看出,集成算法的使用使对城市住宅区的用电量预测能力得到进一步提升.通过对比其他几种单一预测模型与LSTM-AdaBoost集成模型可以看出,混合方法的使用使模型对城市住宅区的用电量预测更精确.

3 结语

笔者提出了一种LSTM-AdaBoost集成模型用来预测城市住宅区短期的电力需求,此模型旨在利用不同参数优化的基学习器来降低陷入局部最优的可能性,以求更准确地拟合负荷曲线的波动.集成方法与LSTM网络的混合使用丰富了对城市住宅区的短期负荷预测方法.在同等条件下,将LSTM-AdaBoost集成模型与LSTM、SVM、CART决策树等单一预测模型进行对比,结果表明,LSTM-AdaBoost集成模型在对城市住宅区进行负荷预测时具有更高的预测精度.在之后的研究中,可以通过修改基学习器或者集成方式的方法进一步提升模型的预测效果.

猜你喜欢
住宅区露点负荷
西一线天然气烃凝析物对水露点检测的影响
高密度电法在新建住宅区地下溶洞勘查中的应用
无限追踪⑧
城市住宅区园林景观创新设计思路
水露点水含量的换算关系简要分析
防止过负荷时距离保护误动新判据
主动降负荷才是正经事
住宅区景观设计及施工的品质管理思考
负荷跟踪运行下反应堆一回路控制系统仿真与验证
新闻报道要当心露点走光