吴丹,雷珽,李芝娟,王宁,段艳
(1.国网上海市电力公司,上海 200122;2.浦东供电公司,上海 200122;3.同济大学 汽车学院,上海 201804)
近年来电动汽车的保有量快速上升,电动汽车规模化将对电网的输电网络、配电网络、充电设施等多方面带来影响[1-8],因此准确的电动汽车充电负荷预测对于电网平稳运行具有重要意义。
电动汽车充电负荷预测是根据过去一段时间的用电负荷及日期类型等相关数据预测未来一段时间的用电负荷[9],构建准确的电动汽车充电负荷预测模型不仅有利于电网对充电站的充电负荷进行调度与管理,也有利于充电站制定科学的运营计划。不少国内外学者从用户端及车端出发对电动汽车的充电负荷预测展开了研究[10-18],通过融合电动汽车出行特征、用户行为特点和道路交通状况等因素,建立电动汽车充电负荷预测模型。真实的充电过程与从车端仿真结果存在差异,所以从充电站端得到的负荷预测结果比车端更能真实反映电动汽车充电对电网造成的影响。目前从充电站端对充电负荷进行预测的相关研究较少,并多数是以深度学习算法构建负荷预测模型,具有一定局限性,例如文献[19]采用模糊聚类分析与BP 神经网络相结合的方法建立电动汽车充电负荷的短期预测模型,文献[20]采用随机森林与神经网络相结合的方法建立电动汽车充电站短期负荷的预测模型,深度学习算法在输入序列较长时存在梯度消失问题,模型无法克服对异常值敏感的缺点,导致模型预测准确度变差。
针对上述问题,本文从充电站端的数据出发,通过挖掘电动汽车充电负荷随时间的变化规律,提取负荷影响因素作为模型的输入特征。为了实现较高的负荷预测准确度,本文采用数据挖掘比赛中表现优异的XGBoost与LightGBM 算法分别构建负荷预测模型,再结合Stacking集成学习的策略,利用岭回归模型将XGBoost 与LightGBM模型的输出结果进行融合之后再输出。实验结果表明,XGBoost 与LightGBM 模型实现了较高的预测准确度高,再采用Stacking 集成学习方法将XGBoost 与LightGBM 模型的预测结果进行融合后,模型的预测准确度得到了进一步提升。
本文分析数据源自上海市嘉定区内的充电站于2020 年5 月~10 月份的充电订单数据。原始数据没有能直接反映负荷变化的数据,利用订单数据中的“交易电量”“充电开始时间”“充电结束时间”信息,通过下式计算充电负荷:
式中,ta为充电开始时间,tb为充电结束时间;Powerta,tb是ta到tb的时间段内的平均充电负荷,单位为kW;是ta到tb时间段内的交易电量,单位为kW·h。
图1 是嘉定区所有充电站整个7 月份的负荷曲线(采样间隔为1 h),该月没有法定节日。从图中可以看到,充电负荷的波动幅度较大,但存在明显的以日为间隔的周期性,即充电负荷曲线在一天中的相同时段内的变化趋势相似。此外,负荷变化和日类型也密切相关,表现为负荷曲线不仅变化趋势相同,并且在同一采样时刻的数值接近,即每周第N 天的负荷曲线具有相似性。
图1 嘉定区7 月份的充电负荷曲线
图2 是位于嘉定区的充电站在国庆节前后的负荷曲线(采样间隔为1 h)。从图中可以看到,国庆节这一周的充电负荷明显高于其他时间,所以节假日也是影响充电负荷的一个重要因素。
图2 嘉定区国庆节前后的充电负荷曲线
对于一个特定的模型,预测相似的数据往往会得到相似的结果,基于充电负荷变化呈现周期性的特点,同时考虑节假日对负荷的影响,以预测日期为i 的j 时刻的充电负荷Pi,j为例,构建日期i-1~i-7在j时刻的充电负荷序列(Pi-1,j~Pi-7,j)、日期i的j-1~j-7时刻的充电负荷序列(Pi,j-1~Pi,j-7),以及构建日期特征:一年中的第几周(Week_of_Yeari)、周几(Weekdayi)、第几月(Monthi)、几号(Dayi)、几点(Hourj),将上述特征作为模型的输入特征。
XGBoost 和LightGBM 都是基于梯度提升决策树原理[21]改进而来的。XGBoost 在对目标函数进行泰勒展开时,会将其展开至二阶而非一阶,此外XGBoost 还在子叶权重中加入了L2 正则化,即平方正则化项,上述改进使得XGBoost 获得了更为优异的性能[22]。而LightGBM 使用直方图算法、带深度限制的按叶子生长策略对GBDT 算法进行了改进[23],另外通过限制最大深度来防止模型过拟合,所以LightGBM 模型可以在不降低预测精度的同时加快预测速度。
Stacking 将多个不同类型的学习算法进行集成,从而取得优于单一学习算法的性能[24]。模型一般采用两层式结构,第一层由n 个基学习器构成,第二层由一个元学习器构成。Stacking 的学习方式如图3 所示,首先采用K 折交叉验证法训练与测试第一层模型中的n 个基学习器;再将第一层的预测结果组合成新的数据集,作为第二层元学习器的输入数据;最后元学习器的预测结果即为最终的预测结果。元学习器通过学习基学习器的预测误差,从而达到提升预测精度的效果。
图3 Stacking 学习方式
不同学习算法具有各自的误差缺陷。XGBoost 算法在GBDT 算法的基础上做了优化,但是效率降低,LightGBM算法相比XGBoost 算法在效率和准确率方面有了提升,但与XGBoost 算法一样,都可能会长出比较深的决策树,容易过拟合,并对噪声比较敏感。Stacking 框架下的多模型融合方法可以弱化单一基学习器的误差影响[25],通过对XGBoost 模型和LightGBM 模型进行融合,以达到提升预测准确度的效果。
Stacking 集成模型设计为2 层结构:第一层由XGBoost算法和LightGBM 算法构成融合系统的基学习器层,第二层将第一层基学习器的输出作为输入,对于预测目标相同的模型,它们的输出结果可能存在多重共线性,所以第二层元学习器采用了岭回归算法。Stacking 集成模型的框架如图4 所示,模型融合过程可以描述为以下2个步骤:
图4 Stacking 集成模型框架
(1)使用5 折交叉验证的策略来训练XGBoost 和Light-GBM 基学习器,即训练集中的4/5 用于训练,剩余的1/5用于验证,利用这两个基学习器生成训练集与测试集的2 组预测值;
(2)第一层基学习器输出的训练集的2 组预测值用作第二层元学习器的训练集,而第一层基学习器输出的测试集的2 组预测值用作第二层元学习器的测试集,作为预测集的最终预测结果。
将融合XGBoost 算法和LightGBM 算法的Stacking 集成模型用于充电桩负荷预测流程,如图5 所示。
图5 基于集成模型的充电负荷预测
实验数据是位于上海市嘉定区的充电站的负荷信息,时间为2020 年5 月~2020 年10 月。考虑到原始数据的负荷序列变化幅度较大,如图1 和图2 所示,负荷数据的噪声太多,为便于模型拟合数据,按照如下公式对负荷数据进行平滑处理:
式中,Power 表示原始负荷值,ln_Power 表示经过对数平滑处理后的负荷值。
选取平均绝对百分误差(Mean Absolute Percentage Error,MAPE)、归一化均方根误差(Normalized Root Mean Squared Error,NRMSE)作为负荷预测模型的评价指标,计算公式如下:
式中,N 为测试样本数量,y˜为测试样本真实值序列,y˜m和ym表示第m 个测试样本的真实值和预测值。
为验证基于集成XGBoost 和LightGBM 的负荷预测模型的测试效果的有效性,将实验数据根据按照2:1 划分为训练集和测试集,并对比基于随机森林(Random Forest,RF)、K 近邻(K-Nearest Neighbor,KNN)、岭回归(Ridge Regression,RR)、神经网络算法的负荷预测值,模型参数采用随机搜索的方法进行调整,各个模型的测试结果如表1 所示。
表1 单一预测模型的测试效果对比
以上基于单一算法的6 种负荷预测模型中,XGBoost和LightGBM 模型的均方根误差(RMSE)都低于0.337,绝对百分误差(MAPE)也下降到了5.84%,相比其他机器学习回归算法以及神经网络模型的预测准确度高,体现了XGBoost 和LightGBM 作为单一算法模型的优越性。
由表1 可知,前6 种模型中效果最优的是LightGBM模型,采用Stacking 集成策略将XGBoost 和LightGBM 模型融合之后的模型与基学习器的预测效果对比如表2所示,Stacking 模型的RMSE值相比LightGBM 下降了约3.28%,其MAPE值相比LightGBM 降低0.0442%,证明Stacking 模型可有效提高预测准确度。
表2 Stacking 模型与基学习器的测试效果对比
Stacking 模型与基学习器的预测曲线如图6(a)和(b)所示,即便是国庆期间的负荷预测,抛开噪点的影响下,XGBoost、LightGBM 模型以及Stacking 集成模型都较好地拟合了数据,凸显了模型的泛化性能,尤其是Stacking模型很好地学习了负荷的变化规律,预测值比任何一个基学习器更接近真实值,验证了Stacking 模型的灵活性及泛化性。
图6 Stacking 模型与基学习器的预测结果对比
提高充电负荷预测准确度对保障电网平稳运行具有重要意义,所以本文基于XGBoost 和LightGBM 算法,构建了Stacking 融合预测模型。结合上海市嘉定区的电动汽车充电站的订单数据,采用历史负荷序列和时间特征作为模型输入,来预测未来短期内充电站的负荷值,实验结果如下:
(1)单一模型算法中,LightGBM 和XGBoost 模型预测的均方根误差为0.337,绝对百分误差为5.84 %,相比RF、KNN、RR 以及神经网络算法,负荷预测准确度更高。
(2)Stacking 集成模型考虑了不同基学习器预测效果的差异性,与单一模型相比,获得了更好的泛化能力,准确度高于LightGBM 和XGBoost 基学习器。
上述结果表明,本文所提集成XGBoost 和LightGBM算法的短期负荷预测模型能够较精确预测未来时刻的充电负荷,有效地证明了本文所提负荷预测方法的有效性。该负荷预测模型利于电网对充电站进行合理调度和管理,对于保障电网平稳运行具有一定的理论及实践价值。由于本文并未对Stacking 集成模型的设计结构做深入研究,后期可通过优化Stacking 模型的层级结构设置、调整基学习器的参数等方式提高预测的准确度。