基于气象与移动数据的楼宇短期负荷预测 | ![]() |
2. 国网上海市电力公司,上海,200122
2. State Grid Shanghai Municipal Electric Power Company, Shanghai 200122, China
公共楼宇用电负荷在城市电网负荷中占有重要地位[1],用电能耗占全社会总用电能耗的20%~ 35%[2]。随着中国经济发展和体制改革深化,能耗占比将持续增加。为加强楼宇负荷系统的运行能耗管理,降低能耗水平,需要对公共楼宇用电负荷进行负荷预测[3, 4]。由于智能电表的普及,获取的电力数据实时性更高,有助电力数据分析的应用[5, 6]。
传统的预测模型有基于灰色系统理论的GM模型和基于最小二乘回归的各种改进算法等[7-9]。由于误差曲面是高维的凹凸不平的复杂曲面, 存在着局部极小点,误差收敛于此点而无法跳出, 从而不能达到全局最小;同时,训练神经网络以大数据样本为基础,对于小样本的预测无法体现出算法优势。
现有楼宇用电负荷文献多引入气象作为特征参数[10-13],少有引入移动数据作为特征指标。本文提出了一种结合梯度提升决策树(gradient lifting decision tree, GBDT)和模糊C均值聚类(fuzzy C-means, FCM)的楼宇短期负荷预测方法(integrated method of GBDT and FCM,IGF),引入移动人群数据作为特征参数。实验表明,该模型预测精度比其他模型有所提高。
1 模糊C均值算法与梯度提升决策树模型为提高模型拟合精度,采用FCM对特征数据集进行聚类分析[14-16]。FCM接受未标记的数据集,使用隶属度标记每条数据,取隶属度最大的作为分类类别,是一种无监督学习模型。
假定数据集为X, 如果把这些数据划分为c类,类中心为ci,每个样本xi对于类别i的隶属度为uij。FCM最小化问题是要最小化所有的数据点与其所关联的聚类中心点之间的距离与隶属度之积的和,其约束条件为每个样本xi对类中心ci的隶属度和为1。FCM的约束优化问题为:
$ \left\{ \begin{array}{l} J = \sum\limits_{i = 1}^c {\sum\limits_{j = 1}^n {{u^m}_{ij}} } {x_j}{c_i}{^2}\\ {\rm{s}}{\rm{.t}}:\sum\limits_{i = 1}^c {{u_{ij}} = 1} , j = 1, 2, \ldots , n \end{array} \right. $ | (1) |
引入拉格朗日乘子式对其求解得到:
$ \left\{ \begin{array}{l} {u_{ij}} = {\rm{ }}\frac{1}{{\sum\limits_{k = 1}^n {} {\rm{ }}{{\left( {{\rm{ }}\frac{{{x_j}{c_i}}}{{{x_j}{c_k}{\rm{ }}}}} \right)}^{({\rm{ }}\frac{1}{{m2}}{\rm{ }})}}}}\\ {c_i} = {\rm{ }}\frac{{\sum\limits_{j = 1}^n {\left( {{x_j}{u^m}_{ij}} \right)} }}{{\sum\limits_{j = 1}^n {{u^m}_{ij}} }} \end{array} \right. $ | (2) |
GBDT是一种集成学习Boosting算法,在集成分类与回归树(classification and regression tree, CART)算法的基础上,利用梯度提升、加法模型和前向分布算法实现学习的优化过程。
1) CART决策树。CART决策树模型既可以用于分类也可用于回归预测,由特征选择、树的生成以及剪枝组成,是一种递归地构建二叉回归树的过程,并采用平方误差最小化准则求解最优点。假设X与Y为CART的输入变量与输出变量,其中,输入变量X对应各个天气维度特征以及移动人群数特征,输出变量Y对应楼宇的用电负荷,且Y是连续型数据变量,从而得到训练数据集D={(x1, y1), (x2, y2), …, (xn, yn)}通过该训练数据集所在的输入空间,递归地将每个区域通过分裂节点分解为两个子区域,求出每个子区域中的输出值,从而构建一个二叉回归决策树。选择X中的一个特征变量作为切分变量j并选择该变量的一个切分值s,求解:
$ \mathop {{\rm{min}}}\limits_{j, s} \left[ {\mathop {{\rm{min}}}\limits_{{c_1}} \sum\limits_{{x_i} \in {R_1}\left( {j, s} \right)} {{{\left( {{y_i}-{c_1}} \right)}^2}} + \mathop {{\rm{min}}}\limits_{{c_2}} \sum\limits_{{x_i} \in {R_2}\left( {j, s} \right)} {{{\left( {{y_i}-{c_2}} \right)}^2}} } \right] $ | (3) |
遍历每个特征变量j以及每个特征变量切分值s,使得式(3)达到最小值对应的(j, s)。通过该选定的(j, s)划分区域决定相应的划分区域中的输出用电负荷值cn为:
$ \left\{ \begin{array}{l} {R_1}\left( {j, s} \right) = \left\{ {x|{x^{(j)}} \le s} \right\}, {R_2}\left( {j, s} \right) = \left\{ {x|{x^{(j)}} > s} \right\}\\ \mathit{\hat c}{_n} = \frac{1}{{{N_n}}}\sum\limits_{{x_i} \in {R_n}\left( {j, s} \right)} {{y_i}, x \in {R_n}} , n = 1, 2 \end{array} \right. $ | (4) |
通过循环迭代寻找最优的特征变量及切分值作为决策树的分裂节点,从而对输入空间划分为N个区域(R1, R2, …, RN),生成对应的最终CART:
2) 创建GBDT模型。Boosting算法的基本思想是采用组合学习的思路,将多种预测精度偏低的弱学习器组合提升为能达到目标要求的精度更高的强学习器[17-19]。GBDT与传统Boosting算法不同的是在每一次的迭代中,后一个弱学习器通过训练前一个弱学习器产生的误差,沿着梯度下降最快的方向,从而达到更快的收敛[20]。单一CART回归的精度并不特别高,还容易陷入局部最优甚至是过拟合等问题。GBDT通过前向分布学习的策略,有效地集成了CART,表现出了更好的回归预测能力,同时也降低了过拟合的风险,提高了泛化能力。
已知数据集D={(x1, y1), (x2, y2), …, (xn, yn)},
$ {r_{mi}} = {\left[ {\frac{{\partial L\left( {{y_i}, f\left( {{x_i}} \right)} \right)}}{{\partial f\left( {{x_i}} \right)}}} \right]_{{_{f\left( x \right) = {f_{m1}}}}\left( x \right)}} $ | (5) |
对于平方损失函数,该值就为残差值;对于一般的损失函数,该值为残差的近似值。本文采用的是平方损失函数。对于获得的rmi,引入CART估计回归树节点区域,以拟合一个回归决策树,得到第m棵树的叶节点区域Rmj, 其中,j=1, 2, …, J。对j利用线性搜索估计叶节点区域的值,使损失函数最小化为:
$ {c_{mj}} = {\rm{arg }}\mathop {{\rm{min}}}\limits_c \sum\limits_{{x_i} = {R_{mj}}} {L\left( {{y_i}, {f_{m1}}\left( {{x_i}} \right) + c} \right)} $ | (6) |
从而更新此次迭代时的回归决策树为:
$ {f_m}\left( x \right) = {f_{m1}}\left( x \right) + \sum\limits_{j = 1}^J {{c_{mj}}I\left( x \right)} , x \in {R_{mj}} $ | (7) |
迭代最终的输出模型为:
$ \hat f(x) = {f_M}(x) = \sum\limits_{m = 1}^M {\sum\limits_{j = 1}^J {{c_{mj}}I(x)} } , x \in {R_{mj}} $ | (8) |
式中,M为迭代次数。
2 基于模糊C均值聚类与GBDT模型的短期负荷预测1) 预测输入变量。该系统中影响负荷预测的因素很多,为了提高预测模型的精度,增加了历史天气数据集作输入特征集,包括温度、湿度、结露点、气压值与风速。考虑到楼宇移动人群数据对于用电负荷预测的影响,通过对比有无移动人群数据特征的数据集的预测精度,从而分析得出移动人群数据特征对于短期负荷预测的精度影响力。输入预测样本特征参数如下:①日期:当前时间点、当前时间点温度和当前时间点湿度;②天气因素:当前时间点结露点、当前时间点气压值和当前时间点风速;③移动人群因素:当前时间点楼宇总人数和当前时间点楼宇各楼层人数。
2) 预测流程。FCM和GBDT复合模型进行短期的负荷预测时,将输入的数据集经过FCM算法得出各个不同的类别,并找出待预测日对应的聚类样本,将该样本作为GBDT模型的输入训练数据集得到预测模型,通过该模型进而对待预测日进行负荷的预测。具体预测流程如下:①建立原始数据集;②聚类分析法对原始数据分类;③计算待预测日所属的分类;④将对应所属的分类作为训练集;⑤选择参数M作为生成树的个数;⑥通过加法模型合并M棵树生成GBDT模型;⑦通过加法模型合并M棵树生成GBDT模型;⑧预测待预测日的负荷值。
3 预测实验结果与性能分析本文的数据来源为上海某商场所采集的各楼层之间的人群移动数据、楼宇内各项电力负荷数据(包含该楼宇内的总用电负荷、照明用电负荷、空调用电负荷、动力用电负荷)及同时期的天气数据(包含温度、湿度、风速、气压、结露点温度等),经数据预处理每项数据的时间间隔为15 min。
1) 加入楼宇移动数据进行电力负荷预测。首先,以天气数据、用电负荷数据作为短期负荷预测模型的训练集1;同时,在训练集1中加入楼宇移动数据构成数据集2;最后,用数据集1、数据集2分别构建GBDT模型1和GBDT模型2。在2017年12月28日2:15到22:30,分别采用模型1和模型2得到的电力负荷预测值与真实值电力数据值的对比如图 1所示。本文采用平均相对误差(mean absolute percentage error, MAPE)衡量预测电力负荷与实际电力负荷之间的差异,MAPE为:
$ {\rm{MAPE}} = \frac{1}{n}{\rm{ }}\sum\limits_{i = 1}^n {\frac{{\left| {{E^a}_i{E^f}_i} \right|}}{{{E^a}_i}}} {\rm{ }} $ | (9) |
![]() |
图 1 真实电力负荷与加入楼宇移动数据前后预测电力负荷曲线 Fig.1 Real Power Load and Prediction of Power Load Curves Before and After Include Building Mobile Data |
式中, Eia表示真实电力负荷; Eif表示预测电力负荷。
实验结果表明, 加入楼宇移动数据前后的电力负荷预测结果的MAPE分别为12.03%和6.22%。
2) FCM加GBDT对电力负荷预测的影响。采用数据集2,利用本文提出的结合FCM和GBDT的IGF方法,与传统的GBDT预测算法进行比较。
FCM算法无法确定聚类数量,过多的类虽然会使得代价函数更小,却会造成数据的过拟合。因此,选择一个合适的类数量对于后期建模非常重要。计算不同类数量下选定合适的簇中心后特征数据的簇内误差平方和(简称误差),如图 2所示。
![]() |
图 2 聚类数量误差曲线 Fig.2 Clustering Number-Error Curve |
选择使误差下降速率较大的类别数量作为后续建模的分类依据,把数据集分为4组得到较小的误差值,且不容易造成过拟合。
输入2017年12月1日到2017年12月27日的部分数据集,来预测2017年12月28日2:15到22:30电力负荷,其预测结果如图 3所示。从图 3可以看出,相比传统的GBDT预测算法,本文方法得到的预测结果更加接近真实电力负荷。采用该方法前后预测结果的MAPE为6.22%和3.39%。
![]() |
图 3 真实电力负荷与聚类前后预测电力负荷曲线图 Fig.3 Real Power Load and Prediction of Power Load Curves Before and After Clustering |
3) 算法对比。分别计算2017年12月25日到2017年12月30日中每天只考虑天气数据的GBDT方法、考虑天气数据和楼宇移动数据的GBDT方法、考虑天气数据和楼宇移动数据的IGF方法及考虑天气数据和楼宇移动数据的AdaBoost方法所得的MAPE,其计算结果如表 1所示。从表 1可以看出,只使用天气数据预测电力负荷的MAPE为10.91%;在加入楼宇移动数据后,MAPE下降至7.28%;使用本文提出的IGF方法替代GBDT后,MAPE持续下降至5.87%。为了验证本方法的有效性,使用传统的AdaBoost算法预测进行对比,发现AdaBoost算法MAPE为8.73%,说明本文提出的方法拥有更高的精度。
表 1 不同数据源和预测方法预测结果的MAPE Tab.1 MAPE of Prediction Results of Different Data Sources and Prediction Methods |
![]() |
4 结束语
本文在考虑天气数据的同时,加入楼宇移动人群数据进行预测,结合FCM方法和GBDT算法,提出了一种新的电力负荷预测方法——IGF。实验证明,在加入楼宇移动人群数据后,用电负荷的预测误差下降了33.27%,在采用本文提出的IGF方法后,预测MAPE相对GBDT算法下降了19.37%,相对AdaBoost算法下降32.76%。在未来的工作中,可以通过增加多维移动数据和完善聚类的方法提高预测精度,同时可以考虑采用不同的预测模型进行短期用电负荷预测。
[1] |
林顺富, 郝朝, 汤晓栋, 等. 基于数据挖掘的楼宇短期负荷预测方法研究[J]. 电力系统保护与控制, 2016, 44(7): 83-89. |
[2] |
颜庆国, 阮文骏, 陈楚, 等. 基于并行预测策略的公共楼宇日前空调负荷预测[J]. 电网与清洁能源, 2016, 32(11): 80-86. DOI:10.3969/j.issn.1674-3814.2016.11.014 |
[3] |
贾艳芳, 易灵芝, 李胜兵. 基于多目标分子动理论的楼宇负荷用电调度优化[J]. 电网技术, 2018, 42(5): 1549-1555. |
[4] |
朱彬若, 张慎明, 王虎. 楼宇智能用电能量管理系统设计与实现[J]. 华东电力, 2010, 38(4): 520-522. |
[5] |
方宏坤, 韩元利, 夏文芳. 基于电力载波通信的自动抄表地理信息系统[J]. 测绘信息与工程, 2008, 33(6): 15-16. |
[6] |
付仲良, 秦菡, 刘震. GIS技术支持下的电力智能选线[J]. 测绘地理信息, 2015, 40(3): 80-82. |
[7] |
冯奕, 张茜, 董丹丹. 基于灰色预测下的城市电力需求与对策研究——以南通市为例[J]. 南京工程学院学报(社会科学版), 2017, 17(1): 47-52. |
[8] |
李霄, 王昕, 郑益慧, 等. 基于改进最小二乘支持向量机和预测误差校正的短期风电负荷预测[J]. 电力系统保护与控制, 2015, 43(11): 63-69. DOI:10.7667/j.issn.1674-3415.2015.11.010 |
[9] |
崔杨, 李莉, 陈德荣. 基于最小二乘支持向量机的超短期风电负荷预测[J]. 电气自动化, 2014, 36(5): 35-37. DOI:10.3969/j.issn.1000-3886.2014.05.013 |
[10] |
赵芝璞, 高超, 沈艳霞, 等. 基于关联模糊神经网络和改进型蜂群算法的负荷预测方法[J]. 中国电力, 2018, 51(2): 54-60. DOI:10.3969/j.issn.1007-3361.2018.02.017 |
[11] |
徐建军, 杜蔷楠, 闫丽梅. 基于对角递归神经网络的小区用电负荷预测研究[J]. 化工自动化及仪表, 2017, 44(11): 1052-1055. DOI:10.3969/j.issn.1000-3932.2017.11.011 |
[12] |
张宇航, 邱才明, 贺兴, 等. 一种基于LSTM神经网络的短期用电负荷预测方法[J]. 电力信息与通信技术, 2017, 15(9): 19-25. |
[13] |
李琳, 杜颖, 张海静, 等. 基于OpenStack神经网络短期负荷预测模型在有序用电管理中的应用[J]. 智能电网, 2017, 5(7): 683-688. |
[14] |
黄青平, 李玉娇, 刘松, 等. 基于模糊聚类与随机森林的短期负荷预测[J]. 电测与仪表, 2017, 54(23): 41-46. DOI:10.3969/j.issn.1001-1390.2017.23.007 |
[15] |
文传军, 詹永照. Gauss诱导核模糊C均值聚类算法[J]. 计算机应用与软件, 2017, 34(8): 257-264. DOI:10.3969/j.issn.1000-386x.2017.08.046 |
[16] |
刘奕麟, 安建成. 优化的核模糊C均值聚类算法[J]. 微电子学与计算机, 2018, 35(2): 79-83. |
[17] |
张文生, 于廷照. Boosting算法理论与应用研究[J]. 中国科学技术大学学报, 2016, 46(3): 222-230. |
[18] |
陈思, 苏松志, 李绍滋, 等. 基于在线半监督Boosting的协同训练目标跟踪算法[J]. 电子与信息学报, 2014, 36(4): 888-895. |
[19] |
李秋洁, 茅耀斌, 王执铨. 基于Boosting的不平衡数据分类算法研究[J]. 计算机科学, 2011, 38(12): 224-228. DOI:10.3969/j.issn.1002-137X.2011.12.050 |
[20] |
高云龙, 潘金艳, 吉国力, 等. 基于Boosting梯度下降理论的时间序列建模方法[J]. 中国科学:技术科学, 2011, 41(7): 929-943. |