留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

一种改进Transformer的电力负荷预测方法

黄飞虎 赵红磊 弋沛玉 李沛东 彭舰

黄飞虎, 赵红磊, 弋沛玉, 等. 一种改进Transformer的电力负荷预测方法[J]. 现代电力, 2023, 40(1): 50-58. doi: 10.19725/j.cnki.1007-2322.2021.0209
引用本文: 黄飞虎, 赵红磊, 弋沛玉, 等. 一种改进Transformer的电力负荷预测方法[J]. 现代电力, 2023, 40(1): 50-58. doi: 10.19725/j.cnki.1007-2322.2021.0209
HUANG Feihu, ZHAO Honglei, YI Peiyu, etc. An Improved Power Load Forecasting Method Based on Transformer[J]. Modern Electric Power, 2023, 40(1): 50-58. doi: 10.19725/j.cnki.1007-2322.2021.0209
Citation: HUANG Feihu, ZHAO Honglei, YI Peiyu, etc. An Improved Power Load Forecasting Method Based on Transformer[J]. Modern Electric Power, 2023, 40(1): 50-58. doi: 10.19725/j.cnki.1007-2322.2021.0209

一种改进Transformer的电力负荷预测方法

doi: 10.19725/j.cnki.1007-2322.2021.0209
基金项目: 国家重点研发计划项目(2017YFB0202403);四川省科技计划项目(2022YFG0034)。
详细信息
    作者简介:

    黄飞虎(1990),男,博士,研究方向为电力市场、电力大数据、时空大数据、深度学习,E-mail:hd808080@126.com

    赵红磊(1981),男,硕士,研究方向为电网调度、电力市场,E-mail:407936629@qq.com

    弋沛玉(1995),男,博士研究生,研究方向为时空大数据、电力大数据、深度学习,E-mail:846478748@qq.com

    李沛东(1998),男,硕士研究生,研究方向为电力市场、电力现货,E-mail:392457608@qq.com

    彭舰(1970),男,博士,教授,研究方向为大数据挖掘与应用技术、边缘计算、嵌入式系统,E-mail:975905819@qq.com

  • 中图分类号: TM714

An Improved Power Load Forecasting Method Based on Transformer

Funds: Project Supported by National Key Research and Development Program of China (2017YFB0202403); Sichuan Science and Technology Program (2020YFG0034).
  • 摘要: 负荷预测是电网系统中很多应用的关键部分,具有重要作用。然而,由于电网负荷的非线性、时变性和不确定性,使得准确预测负荷具有一定的挑战。充分挖掘负荷序列的潜在特征是提升预测准确率的关键。文中认为在特征提取时应该充分利用负荷序列的位置信息、趋势性、周期性和时间信息,同时还应构建更深层次的神经网络框架进行特征挖掘。因此,提出了基于特征嵌入和Transformer框架的负荷预测模型。该模型由特征嵌入层、Transformer层和预测层组成。在特征嵌入层,模型首先对历史负荷的位置信息、趋势性、周期性和时间信息进行特征嵌入,然后再与天气信息进行融合,得到特征向量。Transformer层则接受历史序列的特征向量并挖掘序列的非线性时序依赖关系。预测层通过全连接网络实现负荷预测。从实验结果来看,文中模型的预测性能优于对比模型,体现了该模型的可行性和有效性。
  • 图  1  带注意力机制的编码−解码框架

    Figure  1.  Encoder-decoder framework with attention mechanism

    图  2  Transformer模型框架

    Figure  2.  Framework of transformer model

    图  3  预测模型框架

    Figure  3.  Framework of prediction model

    图  4  特征嵌入层框架

    Figure  4.  Framework of feature embedding layer

    图  5  预测层框架

    Figure  5.  Framework of prediction layer

    图  6  各模型的预测实例

    Figure  6.  Prediction instance of each model

    图  7  特征嵌入层有效性验证

    Figure  7.  Validation of the validity of feature embedding layer

    图  8  预测层有效性验证

    Figure  8.  Validation of the validity of prediction layer

    表  1  不同参数组合及其预测效果

    Table  1.   Different parameter combinations and their prediction results

    参数评价指标
    de/dk
    dk
    dvheadLencLdecRMSE/kWhMPAE/%
    8
    8
    8111581.3211.01
    8
    8
    16111578.4510.31
    16
    16
    32111551.6110.06
    3264111544.259.88
    3264211521.099.76
    3264322497.549.42
    3264333517.319.51
    下载: 导出CSV

    表  2  模型预测效果对比

    Table  2.   Contrast of model prediction performance on the first datasets

    模型RMSE/kWhMAPE/%
    ARIMA1656.0221.08
    LSTM840.1613.71
    BP778.3713.79
    HA1748.0422.17
    GBRT717.4812.02
    CECL778.2513.28
    Transformer629.5110.06
    本文模型497.549.42
    下载: 导出CSV
  • [1] 王栋. 电力系统负荷预测综述[J]. 电气开关, 2020, 58(01): 6−8+20. doi:  10.3969/j.issn.1004-289X.2020.01.002

    WANG Dong. The summary of power system load forecasting[J]. Electric Switchgear, 2020, 58(01): 6−8+20(in Chinese). doi:  10.3969/j.issn.1004-289X.2020.01.002
    [2] 杨智宇, 刘俊勇, 刘友波, 等. 基于自适应深度信念网络的变电站负荷预测[J]. 中国电机工程学报, 2019, 39(14): 4049−4061.

    YANG Zhiyu, LIU Junyong, LIU Youbo, et al. Transformer load forecasting based on adaptive deep belief network[J]. Proceedings of the CSEE, 2019, 39(14): 4049−4061(in Chinese).
    [3] 朱俊丞, 杨之乐, 郭媛君, 等. 深度学习在电力负荷预测中的应用综述[J]. 郑州大学学报(工学版), 2019, 40(05): 13−22.

    ZHU Juncheng, YANG Zhile, GUO Yuanjun, et al. Deep learning applications in power system load forecasting: a survey[J]. Journal of Zhengzhou University(Engineering Science), 2019, 40(05): 13−22(in Chinese).
    [4] CHEN J F, WANG Weiming, HUANG Chaoming. Analysis of an adaptive time-series autoregressive moving-average (ARMA) model for short-term load forecasting[J]. Electric Power Systems Research, 1995, 34(3): 187−196. doi:  10.1016/0378-7796(95)00977-1
    [5] HAGAN M T, BEHR S M. The time series approach to short term load forecasting[J]. IEEE Transactions on Power Systems, 1987, 2(3): 785−791. doi:  10.1109/TPWRS.1987.4335210
    [6] 赵峰, 孙波, 张承慧. 基于多变量相空间重构和卡尔曼滤波的冷热电联供系统负荷预测方法[J]. 中国电机工程学报, 2016, 36(2): 399−406.

    ZHAO Feng, SUN Bo, ZHANG Chenghui. Cooling, heating and electrical load forecasting method for CCHP system based on multivariate phase space reconstruction and Kalman filter[J]. Proceedings of the CSEE, 2016, 36(2): 399−406(in Chinese).
    [7] 陈培垠, 方彦军. 基于卡尔曼滤波预测节假日逐点增长率的电力系统短期负荷预测[J]. 武汉大学学报, 2020, 53(2): 139−144.

    CHEN Peiyin, FANG Yanjun. Short-term load forecasting of power system for holiday point-by-point growth rate based on Kalman filtering[J]. Engineering Journal of Wuhan University, 2020, 53(2): 139−144(in Chinese).
    [8] RENDON-SANCHEZ J F, DE MENEZES L M. Structural combination of seasonal exponential smoothing forecasts applied to load forecasting[J]. European Journal of Operational Research, 2019, 275(3): 916−924. doi:  10.1016/j.ejor.2018.12.013
    [9] 朱继忠, 董瀚江, 李盛林, 等. 数据驱动的综合能源系统负荷预测综述[J]. 中国电机工程学报. https://doi.org/10.13334/j.0258-8013.pcsee.202337

    ZHU Jizhong, DONG Hanjiang, LI Shenglin, et al. Review of data-driven load forecasting for integrated energy system[J]. Proceedings of the CSEE, https://doi.org/10.13334/j.0258-8013.pcsee.202337(in Chinese).
    [10] 牛东晓, 谷志红, 邢棉, 等. 基于数据挖掘的 SVM 短期负荷预测方法研究[J]. 中国电机工程学报, 2006, 26(18): 6−12. doi:  10.3321/j.issn:0258-8013.2006.18.002

    NIU Dongxiao, GU Zhihong, XING Mian, et al. Study on forecasting approach to short-term load of SVM based on data mining[J]. Proceedings of the CSEE, 2006, 26(18): 6−12(in Chinese). doi:  10.3321/j.issn:0258-8013.2006.18.002
    [11] 谷云东, 马冬芬, 程红超. 基于相似数据选取和改进梯度提升决策树的电力负荷预测[J]. 电力系统及其自动化学报, 2019, 31(05): 64−69.

    GU Yundong, MA Dongfen, CHENG Hongchao. Power load forecasting based on similar-data selection and improved gradient boosting decision tree[J]. Proceedings of the CSU-EPSA, 2019, 31(05): 64−69(in Chinese).
    [12] DAI Y, ZHAO P. A hybrid load forecasting model based on support vector machine with intelligent methods for feature selection and parameter optimization[J]. Applied Energy, 2020, 279: 115332. doi:  10.1016/j.apenergy.2020.115332
    [13] MASSAOUDI M, REFAAT S S, Chihi I, et al. A novel stacked generalization ensemble-based hybrid LGBM-XGB-MLP model for short-term load forecasting[J]. Energy, 2021, 214: 118874. doi:  10.1016/j.energy.2020.118874
    [14] 张宇帆, 艾芊, 林琳, 等. 基于深度长短时记忆网络的区域级超短期负荷预测方法[J]. 电网技术, 2019, 43(6): 1884−1892.

    ZHANG Yufan, AI Qian, LIN Lin, et al. A very short-term load forecasting method based on deep LSTM RNN at zone level[J]. Power System Technology, 2019, 43(6): 1884−1892(in Chinese).
    [15] 张振中, 郭傅傲, 刘大明, 等. 基于最大互信息系数和小波分解的多模型集成短期负荷预测[J]. 计算机应用与软件, 2021, 38(05): 82−87. doi:  10.3969/j.issn.1000-386x.2021.05.013

    ZHANG Zhenzhong, GUO Fuao, LIU Daming, et al. Multi-model integrated short-term load prediction based on maximum mutual information coefficient and wavelet decomposition[J]. Computer Applications and Software, 2021, 38(05): 82−87(in Chinese). doi:  10.3969/j.issn.1000-386x.2021.05.013
    [16] 刘亚珲, 赵倩. 基于聚类经验模态分解的CNN-LSTM超短期电力负荷预测[J/OL]. 电网技术: 1-8[2021-05-21]. https://doi.org/10.13335/j.1000-3673.pst.2021.0016

    LIU Yahui , ZHAO Qian. Ultra-short-term power load forecasting method based on cluster empirical mode decomposition of CNN-LSTM[J]. Power System Technology(in Chinese), 1-8[2021-05-21]. https://doi.org/10.13335/j.1000-3673.pst.2021.0016(in Chinese).
    [17] BENTO P M R, POMBO J A N, Calado M R A, et al. Optimization of neural network with wavelet transform and improved data selection using bat algorithm for short-term load forecasting[J]. Neurocomputing, 2019, 358: 53−71. doi:  10.1016/j.neucom.2019.05.030
    [18] VASWANI A , SHAZEER N , PARMAR N, et al. Attention is all you need[C]// Proceedings of the 31st International Conference on Neural Information Processing Systems, NIPS’17, Curran Associates Inc, Red Hook, NY, USA, 2017: 6000–6010.
    [19] YI T , DEHGHANI M , BAHRI D , et al. Efficient transformers: a survey[J].arXiv: 2009.06732.
    [20] GUO S, LIN Y, WAN H, et al. Learning dynamics and heterogeneity of spatial-temporal graph data for traffic forecasting[J]. IEEE Transactions on Knowledge and Data Engineering,doi:  10.1109/TKDE.2021.3056502.
    [21] XU M, DAI W, LIU C, et al. Spatial-temporal transformer networks for traffic flow forecasting[J].arXiv: 2001.02908v1.
    [22] SNEHA Chaudhari, VARUN Mithal, GUNGOR Polatkan, et al. An attentive survey of attention models[J]. CoRR abs/1904.02874 (2019).
    [23] 朱江行, 邹晓松, 熊炜, 等. 基于Prophet与XGBoost混合模型的短期负荷预测[J]. 现代电力, 2021, 38(03): 325−331.

    ZHU Jianghang, ZOU Xiaosong, XIONG Wei, et al. Short-term power load forecasting based on prophet and xgboost mixed model[J]. Modern Electric Power, 2021, 38(03): 325−331(in Chinese).
    [24] SHI X, YEUNG D. Machine learning for spatiotemporal sequence forecasting: A survey[J]. CoRR abs/1808.06865.
  • [1] 王子乐, 王子谋, 蔡莹, 谭晶, 黄弦超.  基于长短期记忆神经网络组合算法的短期电力负荷预测 . 现代电力, 2023, 40(2): 201-209. doi: 10.19725/j.cnki.1007-2322.2021.0293
    [2] 陈忠华, 朱军, 王育飞, 凌晨.  基于一致性K均值聚类的电动汽车充电负荷建模方法 . 现代电力, 2022, 39(3): 338-346. doi: 10.19725/j.cnki.1007-2322.2021.0107
    [3] 张美霞, 吴子敬, 杨秀.  基于动态能耗模型与用户心理的电动汽车充电负荷预测 . 现代电力, 2022, 39(6): 710-719. doi: 10.19725/j.cnki.1007-2322.2021.0196
    [4] 方娜, 李俊晓, 陈浩, 李新新.  基于变分模态分解的卷积神经网络−双向门控循环单元−多元线性回归多频组合短期电力负荷预测 . 现代电力, 2022, 39(4): 441-448. doi: 10.19725/j.cnki.1007-2322.2021.0130
    [5] 常东峰, 南新元.  基于混合麻雀算法改进反向传播神经网络的短期光伏功率预测 . 现代电力, 2022, 39(3): 287-294. doi: 10.19725/j.cnki.1007-2322.2021.0113
    [6] 龙虹毓, 周游, 陈芳幸, 胡晓锐, 徐婷婷, 龙羿.  基于山地城市电动汽车负荷特性的充电设施规划 . 现代电力, 2021, 38(): 1-9. doi: 10.19725/j.cnki.1007-2322.2022.0195
    [7] 黄银燕, 于超, 黄文新, 覃智君, 毕乐明, 杨琳.  基于传感器网络与高斯过程回归的楼宇负荷预测 . 现代电力, 2021, 38(6): 664-673. doi: 10.19725/j.cnki.1007-2322.2020.0416
    [8] 魏明奎, 叶葳, 沈靖, 周泓, 蔡绍荣, 王渝红, 沈力.  基于自组织特征神经网络和最小二乘支持向量机的短期电力负荷预测方法 . 现代电力, 2021, 38(1): 17-23. doi: 10.19725/j.cnki.1007-2322.2020.0201
    [9] 陈宇航, 王渝红, 南璐, 何川, 王腾鑫, 张敏.  基于自组织映射−前馈神经网络和先知混合模型的短期负荷预测 . 现代电力, 2021, 38(): 1-9. doi: 10.19725/j.cnki.1007-2322.2023.0036
    [10] 李君卫, 汤亚芳, 郝正航, 冒国龙, 姜有泉.  聚类分析及其在电力系统中的应用综述 . 现代电力, 2019, 36(3): 1-10.
    [11] 龚钢军, 安晓楠, 陈志敏, 张帅, 文亚凤, 吴秋新, 苏畅.  基于SAE-ELM的电动汽车充电站负荷预测模型 . 现代电力, 2019, 36(6): 9-15.
    [12] 苏运, 卜凡鹏, 郭乃网, 田世明, 田英杰, 张琪祁, 瞿海妮, 柳劲松.  基于低秩表示的多任务短期电力负荷预测的研究 . 现代电力, 2019, 36(3): 58-65.
    [13] 梁海峰, 刘博, 郑灿, 曹大卫, 高亚静.  智能电网下基于负荷识别的居民电动汽车需求响应特性建模方法研究 . 现代电力, 2018, 35(5): 1-9.
    [14] 周凌锋, 王杰.  基于时空分布负荷预测的电动汽车充电优化 . 现代电力, 2018, 35(5): 10-16.
    [15] 戚任远.  上海用电负荷预测中气温累积效应分析 . 现代电力, 2018, 35(2): 38-42.
    [16] 吴润泽, 包正睿, 宋雪莹, 邓 伟.  基于深度学习的电网短期负荷预测方法研究 . 现代电力, 2018, 35(2): 43-48.
    [17] 刘青, 戚中译.  考虑空间运动特性的规模化电动汽车接入电网负荷预测模型 . 现代电力, 2015, 32(1): 76-82.
    [18] 崔 勇, 王 川, 陈小龙, 范名贵.  基于灰色马尔科夫预测模型的中长期电力负荷预测 . 现代电力, 2011, 28(3): 38-41.
    [19] 刘永前, 朴金姬, 韩 爽.  风电场输出功率预测中两种神经网络算法的研究 . 现代电力, 2011, 28(2): 49-52.
    [20] 刘家军, 王明军, 姚李孝, 张小庆, 薛美娟.  基于Theil不等系数的IOWHA算子组合模型年用电量预测新方法 . 现代电力, 2010, 27(5): 44-48.
  • 加载中
图(8) / 表 (2)
计量
  • 文章访问数:  294
  • HTML全文浏览量:  96
  • PDF下载量:  74
  • 被引次数: 0
出版历程
  • 收稿日期:  2021-08-09
  • 录用日期:  2022-04-24
  • 刊出日期:  2023-01-16

一种改进Transformer的电力负荷预测方法

doi: 10.19725/j.cnki.1007-2322.2021.0209
    基金项目:  国家重点研发计划项目(2017YFB0202403);四川省科技计划项目(2022YFG0034)。
    作者简介:

    黄飞虎(1990),男,博士,研究方向为电力市场、电力大数据、时空大数据、深度学习,E-mail:hd808080@126.com

    赵红磊(1981),男,硕士,研究方向为电网调度、电力市场,E-mail:407936629@qq.com

    弋沛玉(1995),男,博士研究生,研究方向为时空大数据、电力大数据、深度学习,E-mail:846478748@qq.com

    李沛东(1998),男,硕士研究生,研究方向为电力市场、电力现货,E-mail:392457608@qq.com

    彭舰(1970),男,博士,教授,研究方向为大数据挖掘与应用技术、边缘计算、嵌入式系统,E-mail:975905819@qq.com

  • 中图分类号: TM714

摘要: 负荷预测是电网系统中很多应用的关键部分,具有重要作用。然而,由于电网负荷的非线性、时变性和不确定性,使得准确预测负荷具有一定的挑战。充分挖掘负荷序列的潜在特征是提升预测准确率的关键。文中认为在特征提取时应该充分利用负荷序列的位置信息、趋势性、周期性和时间信息,同时还应构建更深层次的神经网络框架进行特征挖掘。因此,提出了基于特征嵌入和Transformer框架的负荷预测模型。该模型由特征嵌入层、Transformer层和预测层组成。在特征嵌入层,模型首先对历史负荷的位置信息、趋势性、周期性和时间信息进行特征嵌入,然后再与天气信息进行融合,得到特征向量。Transformer层则接受历史序列的特征向量并挖掘序列的非线性时序依赖关系。预测层通过全连接网络实现负荷预测。从实验结果来看,文中模型的预测性能优于对比模型,体现了该模型的可行性和有效性。

English Abstract

黄飞虎, 赵红磊, 弋沛玉, 等. 一种改进Transformer的电力负荷预测方法[J]. 现代电力, 2023, 40(1): 50-58. doi: 10.19725/j.cnki.1007-2322.2021.0209
引用本文: 黄飞虎, 赵红磊, 弋沛玉, 等. 一种改进Transformer的电力负荷预测方法[J]. 现代电力, 2023, 40(1): 50-58. doi: 10.19725/j.cnki.1007-2322.2021.0209
HUANG Feihu, ZHAO Honglei, YI Peiyu, etc. An Improved Power Load Forecasting Method Based on Transformer[J]. Modern Electric Power, 2023, 40(1): 50-58. doi: 10.19725/j.cnki.1007-2322.2021.0209
Citation: HUANG Feihu, ZHAO Honglei, YI Peiyu, etc. An Improved Power Load Forecasting Method Based on Transformer[J]. Modern Electric Power, 2023, 40(1): 50-58. doi: 10.19725/j.cnki.1007-2322.2021.0209
    • 负荷预测是电网系统中很多应用场景的重要环节。构建具有准确预测能力的负荷预测模型具有迫切性和实际应用价值[1]。负荷预测任务的难点在于其受诸多外部因素的影响[2],而且相关因素的数据难以获取。比如,天气因素和市场因素会给短期、超短期的负荷带来波动,政府政策因素、居民收入因素会给长期、中长期负荷带来影响。此外,电网负荷的非线性、时变性和不确定性等特点,也增加了预测难度。

      现有负荷预测方法可以分为:基于数学模型的预测方法、基于传统机器学习的预测方法和基于深度学习的预测方法[2-3]

      1)基于数学模型的预测方法,常见的有自回归移动平均(auto regression moving average, ARMA)[4]、自回归(Auto Regression, AR)[5]等时间序列模型。此外,也有基于卡尔曼滤波的预测方法[6-7];基于指数平滑度预测方法[8]。这类方法简单,运行速度快,能够解决负荷的时变性。但是不能很好地解决非线性和不确定性问题。

      2)基于传统机器学习的预测方法。机器学习算法可以有效处理非线性问题[9]。这类方法常用的有支持向量机(support vector machines, SVM)、决策树、多层感知机(multilayer perceptron,MLP)等。比如,文献[10]结合数据挖掘预处理技术和SVM对负荷作预测,相比单纯的SVM,减少了数据量,提高了预测的速度和精度;文献[11]基于相似数据选取和梯度提升决策树对负荷进行预测;文献[12]提出了一种基于改进支持向量机的混合预测模型,并利用粒子群算法作参数优化。文献[13]基于多层感知机构建混合模型实现负荷预测,模型中数据由梯度增强机进行特征学习,并传入MLP作为特征输入。基于机器学习的方法可以实现负荷预测,但是面对复杂的电力系统,其对数据特征的挖掘还是略显不足。

      3)基于深度学习的预测方法。随着计算机性能的增强,深度学习技术因其强大的非线性映射和自适应能力在各个行业都有应用且效果都不错。比如,以长短期记忆网络(long short-term memory, LSTM)和门控循环单元(gate recurrent unit, GRU)为主的循环神经网络(recurrent neural network, RNN)在负荷预测中有广泛应用。文献[14]基于长短期记忆网络提出了一种针对区域级负荷的深度超短期预测方法。也有很多学者将循环神经网络与其他方法相结合实现负荷预测;文献[15]作者认为电力系统相关数据很多且是非线性的,利用皮尔逊相关系数并不能很好地挖掘数据特征,则提出利用最大互信息系数对多源特征进行选择,然后结合LSSVR、LSTM 和 XGBoost进行模型构建。为了充分利用深度学习模型非线性映射和自适应的优势,学者们通常将其与很多特征提取方法相结合;文献[16]利用经验模态分解方法将负荷数据进行分解,然后基于CNN深度分析了负荷数据在不同频率下的时序特征,最后由LSTM利用学到的特征进行预测;文献[17]利用小波分解法对负荷数据进行预处理,然后结合神经网络做负荷预测。Transformer模型[18]是谷歌在2017年提出的,该模型的最大特点为它抛弃了RNN和CNN等网络结构。Transformer模型最初在机器翻译领域大显生手,最近很多学者将其运用到了序列数据预测、目标检测等领域,均取得了不错的效果[19];文献[20]构建了基于注意力的时空图网络模型作交通流量预测,其注意力的实现就是利用Transformer模型;文献[21]则是利用Transformer构建了时空特征提取模块,不同的是其只采用了Transformer的编码块。

      针对负荷预测的难点,本文将特征提取技术和深度学习结合,提出了基于改进Transformer的负荷预测模型。相比现有工作,本文模型的在Transformer编码块和预测层进行了改进。相比原始Transformer模型直接对输入数据进行编码,本文构建了特征嵌入层对输入的历史负荷进行特征嵌入。在预测层,输入数据为过去h(小于h)时刻的特征,经解码块之后,将得到的输出特征直接传入预测层实现多步预测。相比原始Transformer模型中,采用t−1时刻的预测值作为输入(迭代预测),本文方法(直接预测)可以避免误差累积。特别是做多步预测任务时,更能有效提升预测性能。

    • 注意力机制最早在机器视觉领域被提出,其来源是借鉴人类的注意力。抽象到机器学习领域,就是通过训练让模型对输入数据分配不同的权重。其中,这些权重就是注意力[22]

      常见的注意力机制是软注意力机制(soft attention, SA)。注意力机制可以用于任何模型,本文以编码−解码框架为基础,对SA作介绍。编码-解码框架在自然语言处理、时间序列预测中有广泛应用。如图1所示,输入序列为[x1,x2, ··· ,xn],输出序列为[y1,y2, ··· ,ym],其中注意力结果ci的计算公式为

      图  1  带注意力机制的编码−解码框架

      Figure 1.  Encoder-decoder framework with attention mechanism

      $$ {{c}}_{{i}}\text={\sum} _{{j}\text{=1}}^{{n}}{{a}}_{{ij}}{{h}}_{{j}} $$ (1)

      式中:n是编码层的输入数据长度; hj是编码层中第j个输入数据的隐藏层状态;aij表示解码层输出第i个值时编码层第j个数据的注意力分配系数。计算方法:

      $$ {{a}}_{{ij}}\text={F}{(}{{{\boldsymbol{H}}}}_{{i}}\text{,}{{h}}_{{j}}{)} $$ (2)

      式中:Hi是解码层中第i个数据的隐藏层状态;F为函数;计算Hihj的相似度,然后函数F的输出经过Softmax进行归一化就得到了注意力分配概率分布。

      从公式(1)和(2)可以将注意力机制用一般化的方法表示:

      $$ {{\rm{Attention}}}{(}{{\boldsymbol{Q}}}{,}{{\boldsymbol{K}}}{,}{{\boldsymbol{V}}}\text{)=}{\sum} _{{j}{=1}}^{{n}}{{\rm{Softmax}}}{(}{{\rm{Similarity}}}{(}{{\boldsymbol{Q}}}{,}{{{\boldsymbol{K}}}}_{{j}}{))*}{{{\boldsymbol{V}}}}_{{j}} $$ (3)

      式中:Q为查询矩阵;K为关键字矩阵;V为值矩阵。

      除了SA,还有硬注意力机制(hard attention)、全局注意力机制(global attention)、局部注意力机制(local attention)和自注意力机制(self-attention)[22]。硬注意力机制中aij的取值为0或1,全局注意力机制是考虑编码层中所有的隐藏层状态,局部注意力机制则是考虑部分隐藏层状态。自注意力机制是由谷歌在Transformer模型中提出。自注意力机制中QKV均属于同一对象,其他注意力机制中Q属于一个对象,KV属于另一个对象。

    • Transformer模型由编码块和解码块组成,如图2所示。编码块是由Lenc个独立的编码层堆叠而成。每一个编码层里面包含多头注意力层、全连接层和正则化层。同理,解码块也是Ldec个解码层堆叠而成。解码层与编码层的区别在于,每一个解码层有两个多头注意力层。

      图  2  Transformer模型框架

      Figure 2.  Framework of transformer model

      解码层的多头注意力可以表示为:

      $$ {{\rm{Multihead}}}{(}{H}{)=}{{\rm{concat}}}{(}{hea}{{d}}_{{1}}{,...,}{}{hea}{{d}}_{{u}}{)}{{{\boldsymbol{W}}}}^{{O}} $$ (4)

      其计算过程为,首先将u个注意力表示进行拼接,然后与WO作矩阵乘法。结合公式(3),单个注意力块可视为QKV的函数,即:

      $$ {hea}{{d}}_{{i}}={{\rm{softmax}}}{(}\frac{{{\boldsymbol{Q}}}{{{\boldsymbol{K}}}}^{{{\rm{T}}}}}{\sqrt{{{d}}_{{k}}}}{{\boldsymbol{V}}}{)} $$ (5)

      式中:${{\boldsymbol{Q}}}\in{{R}}^{{n}{×}{{d}}_{{k}}};{{\boldsymbol{K}}}\in{{R}}^{{n×}{{d}}_{{k}}}$${{\boldsymbol{V}}}\in{{R}}^{{n×}{{d}}_{{v}}}$QKV是由输入数据进行编码之后再次作线性映射得到:

      $$ {{\boldsymbol{Q}}}=\widetilde{{\boldsymbol{X}}}{{{\boldsymbol{W}}}}^{{Q}} $$ (6)
      $$ {{\boldsymbol{K}}}\text=\widetilde{{\boldsymbol{X}}}{{{\boldsymbol{W}}}}^{{K}} $$ (7)
      $$ {{\boldsymbol{V}}}=\widetilde{{\boldsymbol{X}}}{{{\boldsymbol{W}}}}^{{V}} $$ (8)

      式中:WQWKWV是可学习的参数;$\widetilde{{\boldsymbol{X}}}$是输入数据与位置编码相结合得到的特征矩阵。给定n个输入数据,每个输入项${{{\boldsymbol{X}}}}_{{t}}\in{{R}}^{{1}\text{×}{d}}$d维向量,$\widetilde{{\boldsymbol{X}}}_{\text{t}}$定义为:

      $$ \widetilde{{\boldsymbol{X}}}_{{t}}={{{\boldsymbol{X}}}}_{{t}}+{{e}}_{{t}} $$ (9)

      et是位置编码函数,其计算公式为:

      $$ {{e}}_{{t}}=\left\{\begin{array}{c}\begin{array}{cc}{{\rm{sin}}}\left(\frac{{t}}{{{10000}}^{\frac{{2i}}{{{d}}_{{m}}}}}\right)& {t}{=0,2,4,...}\end{array}\\ \begin{array}{cc}{{\rm{cos}}}\left(\frac{{t}}{{{10000}}^{\frac{{2i}}{{{d}}_{{m}}}}}\right)& {t}{=1,3,5,...}\end{array}\end{array}\right. $$ (10)

      对于解码层,因其有两个多头注意力层,其中第一个注意力层与解码层的一样;第二个注意力层的KV是解码块的输出;Q是正则化层的输出。Transformer中正则化层结构都一致,主要由残差连接和正则化操作构成:

      $$ {{{\rm{norm}}}}_{{{\rm{cur}}}}={{\rm{Normalization}}}{(}{{{\boldsymbol{{\rm{z}}}}}}{,}{nor}{{m}}_{{{\rm{pre}}}}{)} $$ (11)

      式中:z是注意力层或者全连接层的输出。

    • 负荷预测的任务为,给定获取h时刻的历史负荷序列[Xt-h+1,…, Xt],学习函数f对未来t+1时刻的负荷值做预测,其形式化的定义为:

      $$ {{{\boldsymbol{X}}}}^{{t+}{1}}={f}\left(\left[{{{\boldsymbol{X}}}}^{{t-h+}{1}}{,...,}{{{\boldsymbol{X}}}}^{{t}}\right]\right) $$ (12)

      为了实现具有良好预测性能的负荷预测模型,本文认为需要解决两个问题,即特征提取和非线性依赖。特征提取,是基于历史数据和额外的天气数据进行特征挖掘为模型提供输入特征。由于负荷数据的影响因素很多,因此尽可能地挖掘丰富的特征信息是特征提取阶段的目的。非线性依赖是基于输入特征数据挖掘其潜在的在时间维度的非线性依赖关系,其目的是尽可能地挖掘负荷的变化模式。在模型中,本文设计了特征嵌入层解决特征提取问题,基于Transformer模型解决非线性依赖问题,最后通过预测层实现负荷预测。图3为本文预测模型的框架。

      图  3  预测模型框架

      Figure 3.  Framework of prediction model

    • 特征嵌入层的主要目的是为下一层提供丰富的特征信息。因此,本文在特征嵌入层从3个方面进行了特征提取和融合,分别为序列特征、趋势特征和天气特征。如图4所示,在该层本文分别设计了不同的编码器用于对这3类特征进行嵌入。

      图  4  特征嵌入层框架

      Figure 4.  Framework of feature embedding layer

      从历史负荷数据中提取长度为h时刻负荷数据,可以得到负荷序列[Xt-h+1,…, Xt]。在已有文献中,大多数算法是直接对序列X进行特征挖掘,比如文献[9,23]。与这些模型类似,本文也采用了值编码器Ev对其值进行特征映射。同时,本文认为负荷序列X中的时间信息、位置信息对于下一层的非线性依赖关系挖掘都有重要作用。因此,对于位置信息,本文采用位置编码器Ep(公式(10))对X中每一项Xi进行位置编码。其位置信息即是该项Xi在当前序列中的顺序,这里即为i。该方法与传统Transformer模型中的位置编码方法一样。引入位置编码是让编码块中的注意力机制能够对序列输入的数据进行定位。对于时间信息,本文采用时间编码器Et对当前时间进行编码,该模块有助于在数据中引入时间信息。因为用户的用电需求与时间具有很强的相关性。对于每一项Xi,首先提取其时间信息(月份、日、周、时、分信息),假定其当前时间为‘2021-03-03 15:30:30’,则提取的信息包含:3月份、3号、星期三、下午15:30。用数值向量表示为[3,3,3,15,30]。对于分钟信息,在实际处理时,以15min为一个时间段,即把1h分成4段。因此,在输入时间编码器时,该时间信息应该表示为[3,3,3,15,2]。模型中,值编码器和时间编码器为简单的全连接网络。位置编码器直接采用公式(10)进行计算,则不需要参数。用公式形式化地表示序列X的处理过程为:

      $$ {{{\boldsymbol{X}}}}_{{{\rm{seq}}}}={{E}}_{{v}}\left({{\boldsymbol{X}}}\right)+{{E}}_{{p}}\left({{\boldsymbol{X}}}\right)+{{E}}_{{t}}{(}{{\boldsymbol{X}}}{)} $$ (13)

      在数据预处理时,除了从历史负荷数据中提取长度为h时刻负荷序列[Xt-h+1,…, Xt],还需要获取过去h天在t时刻的负荷数据构建D,过去h周在t时刻的负荷数据构建W,以及过去h月在t时刻的负荷数据构建M。本文将DWM定义为数据的趋势信息。这些信息包含了过去相对来说较长一段时间的负荷变化趋势,能够反映一定的周期性和趋势性。在模型中,本文将DWM进行叠加构成趋势矩阵${{\boldsymbol{T}}}\in{{R}}^{{3}\text{×}{h}}$,然后利用卷积操进行特征提取:

      $$ {{{\boldsymbol{X}}}}_{{{\rm{tre}}}}={{\rm{Conv1d}}}{(}{{\boldsymbol{T}}}{)} $$ (14)

      式中:Conv1d为一维卷积操作。

      由于天气与用户用电也有很大相关性,因此在模型中还引入了天气数据进行特征融合。由于天气数据都是数值类型,则可将天气数据构成数值向量Q,作为全连接网络的输入,即:

      $$ {{{\boldsymbol{X}}}}_{{{\rm{wea}}}}={{E}}_{{{\rm{w}}}}{(}{{\boldsymbol{Q}}}{)} $$ (15)

      最后,将这些特征进行融合,即:

      $$ {{{\boldsymbol{X}}}}_{{\rm{input}}}{={\rm{concat}}}{(}{{{\boldsymbol{X}}}}_{{{\rm{seq}}}}{,}{{{\boldsymbol{X}}}}_{{{\rm{tre}}}}{,}{{{\boldsymbol{X}}}}_{{{\rm{wea}}}}{)} $$ (16)
    • 针对负荷数据的非线性和时变性特征,本文采用Transformer模型进行挖掘。相比常用的LSTM和GRU网络,Transformer模型更适合挖掘序列中的时序依赖关系。LSTM和GRU的缺点在于,其编码阶段只有最多一个单元的隐藏特征可以传递到解码层,这就导致部分信息丢失[22]。对于负荷数据这类波动性较大的任务来说,应该充分利用前面提取的隐藏特征。其实,在时序数据预测任务中,对于LSTM和GRU的这种部分信息丢失的情况,学者们提出了可以通过注意力机制解决。Transformer模型的特点在于,它不仅引入了注意力机制,而且还采用了更深层的网络。这些技术使得Transformer在时序依赖关系挖掘方面比LSTM和GRU更加擅长。因此,在模型中本文将特征嵌入层得到的特征${{{\boldsymbol{X}}}}_{{\rm{input}}}$输入Transformer层,则可得到具有时序依赖的特征信息${{{\boldsymbol{X}}}}_{{\rm{dep}}}$,其计算公式为:

      $$ {{{\boldsymbol{X}}}}_{{\rm{dep}}}={{\rm{Transformer}}}{(}{{{\boldsymbol{X}}}}_{{\rm{input}}}{)} $$ (17)
    • 通过Transformer层获取到特征信息${{{\boldsymbol{X}}}}_{{\rm{dep}}}$后,便可利用预测层实现负荷预测。本文采用的预测层网络框架如图5所示,该网络由1个全连接层构成。这里需要强调的是,Transformer架构是一个序列到序列的模式,在解码时需要有输入数据。在传统的Transformer模型中,解码块的输入数据是t−1时刻的预测值。采用这种方式的缺点在于,预测误差会进行累积。文献[24]认为,时间序列预测可以采取直接预测的方式,防止误差累积。本文在设计Transformer解码块时也采用这种方式,其只需要一次输入,然后进行特征学习,解码块的输出特征则直接输入预测层实现负荷预测。解码块的输入为过去h’(小于h)时刻的特征。

      图  5  预测层框架

      Figure 5.  Framework of prediction layer

    • 本文采用的数据集源于美国能源信息署的公开数据平台,本文下载了纽约市2015年7月至2021年4月的数据。数据间隔时间以h为单位。

      采用评价方法有平均绝对百分比误差(mean absolute percentage error,MAPE)和均方根误差差(root mean squared error,RMSE)作为算法的评价指标,计算公式如下:

      $$ \left\{\begin{array}{c}{{MAPE}}=\frac{{100\%}}{{n}}{\sum }_{{i}{=1}}^{{n}}{|}{{x}}_{{i}}-\widehat{{{x}}_{{i}}}{|}\\ {{RMSE}}=\sqrt[]{\frac{{1}}{{n}}\sum _{{i}{=1}}^{{n}}{{{(}{x}}_{{i}}-\widehat{{{x}}_{{i}}}{)}}^{{2}}}\end{array}\right. $$ (18)

      式中:n为样本数;$ {\text{x}}_{\text{i}} $为预测负荷值;$ \widehat{{\text{x}}_{\text{i}}} $为实际负荷值。

    • 1)HA,即历史平均,该方法是时序数据预测经常采用的对比方法,其主要特点是可以感知序列的趋势特征。实验中,输入数据长度为h

      2)ARIMA,该方法是经典的时间序列方法,在负荷预测任务中也常作为对比算法。实验中,采用模型参数为(0,0,1)。

      3)渐进梯度回归树(gradient boost regression tree,GBRT) ,可处理不同类型的数据,具有很强的预测能力。该方法也是时序数据预测经常采用的对比方法。实验中,利用Sklearn提供的函数实现,主要参数为估计器数量500,最大深度为3。

      4)LSTM,即长短期记忆网络,是循环神经网络的经典网络,能够挖掘序列数据的非线性时间依赖关系。实验中,采用2层LSTM,输出维度为64。

      5)反向传播(back propagation,BP)网络,是经典的神经网络,在时序预测任务中有广泛应用。实验中,隐藏层维度为32,输出维度64。

      6)CECL[16],即基于聚类经验模态分解的模型。实验中,序列分解为17个子序列,聚类数为10,CNN采用3×3的卷积核,LSTM的输出维度为64,层数为1。主要用于对比本文模型采用的特征嵌入层和Transformer层。

    • 在特征嵌入层,EvEtEw3个编码器是全连接网络,则参数为全连接网络的输出,本文将这3个全连接网络的输出均设为de。在Transformer层的参数分别有为QK的输出维度dk, V的输出维度dv, 注意力头数head, 编码块层的层数Lenc, 解码层的层数Ldec,编码块输入历史数据长度h,解码块输入历史数据的长度h’。本文将dk的维度与de保持一致。在预测层,全连接网络的输出为预测值,维度为1。在预测层,模型是将解码层的输出按行展开,则其维度与编码层h’以及dv、head相关。因此,在预测层,需要设置的参数为h’。在模型参数选择时,对参数组合不同的值,并采取网格搜索的方式确定模型参数。dedkdv的取值集合设为[8,16,32,64]。head、LencLdec的取值集合为[123]。h设置为168,h’设置为48。这里的预测任务均是间隔时间为1小时的负荷序列数据。

      表1给出了在不同参数组合情况下,模型在数据集上的预测效果。从实验结果来看,组合[32,64,3,2,2]效果最好,因此将其作为模型参数。此外,在模型训练阶段,采用Adam算法,学习率设置为10−4,batch大小设置为100,训练次数为30。训练目标函数为:

      表 1  不同参数组合及其预测效果

      Table 1.  Different parameter combinations and their prediction results

      参数评价指标
      de/dk
      dk
      dvheadLencLdecRMSE/kWhMPAE/%
      8
      8
      8111581.3211.01
      8
      8
      16111578.4510.31
      16
      16
      32111551.6110.06
      3264111544.259.88
      3264211521.099.76
      3264322497.549.42
      3264333517.319.51
      $$ L_{{\rm{oss}}=}\frac{{1}}{{n}}{\sum} _{{i}{=1}}^{{n}}{\left({{x}}_{{i}}-\widehat{{{x}}_{{i}}}\right)}^{{2}} $$ (19)

      式中:n为样本数;${x}_{i}$为预测负荷值;$\widehat{{{x}}_{{i}}}$为实际负荷值。

    • 表2为各模型的负荷预测结果,因时间间隔为小时,则称其为时负荷预测。从实验结果来看,本文模型的预测效果最好,其次是Transformer 模型。对比模型中,ARIMA和GBRT均是时间序列预测的经典模型。然而,ARIMA在该数据集上表现不好,GBRT是采用集成学习思路实现预测,效果不错。CECL通过序列分解挖掘序列特征也有不错的预测效果。HA是通过对历史负荷取均值实现预测,获取信息有限,在数据集上表现不好。图6给出了各模型的预测实例,时间间隔为1小时。与真实负荷相比,可以看出本文模型的具有良好的预测性能。

      表 2  模型预测效果对比

      Table 2.  Contrast of model prediction performance on the first datasets

      模型RMSE/kWhMAPE/%
      ARIMA1656.0221.08
      LSTM840.1613.71
      BP778.3713.79
      HA1748.0422.17
      GBRT717.4812.02
      CECL778.2513.28
      Transformer629.5110.06
      本文模型497.549.42

      图  6  各模型的预测实例

      Figure 6.  Prediction instance of each model

    • 为了提高模型负荷预测效果,本文模型设计了特征嵌入层,分别将天气信息、趋势信息以及时间信息融合到模型中。在实验中,本文分别对比了去掉这些信息时模型的预测效果,以验证这些信息对于模型的有效性,如图7所示。可以看出,当去掉某些特征信息之后,模型的预测效果都会受到影响。特别是时间信息去掉之后,模型的预测效果下降最多。这表明时间信息对于模型预测具有很重要的作用。这也从另一方面验证了,用户用电与时间具有相关性。

      图  7  特征嵌入层有效性验证

      Figure 7.  Validation of the validity of feature embedding layer

    • 为了验证本文模型在解码块做的改进(即由原始Transformer的迭代预测改为直接预测)是否有效,图8给出了两种预测方式在未来1 h、未来5 h、10 h的预测结果。实验从结果来看,本文模型随着预测时间的增加,模型预测性能并未大幅度下降。相反,迭代预测在多步预测中由于误差的累计,随着预测步长的增加预测性能下降较快。

      图  8  预测层有效性验证

      Figure 8.  Validation of the validity of prediction layer

    • 针对负荷预测,本文提出了基于特征嵌入和Transformer框架的预测模型。模型设计了特征嵌入层,利用负荷序列的位置信息、时间信息和趋势信息进行特征编码,这是本文模型的主要创新点之一;在预测层采用直接预测方式,将解码块的输出特征直接传入预测层实现多步预测,减少误差累积,这也是本文模型的主要创新点之一。实验中,通过真实负荷数据集,验证了本文模型的有效性和可行性。

参考文献 (24)

目录

    /

    返回文章
    返回