1. 引言
当今,随着社会经济飞速发展,电网负荷的稳定性要求日益提高,电力系统的编排调度面临愈发严峻的挑战 [1] 。短期电力负荷预测是一种预测未来几小时到几天的电力负荷预测方法 [2] ,它作为电网管理系统的重要组成部分,能够对电网状态进行实时评估,并且对电网的运行故障作出提前预警以及电网优化调度管理。随着我国间歇性可再生能源的快速发展,对短期电力负荷预测的精确度及速度有了更高的要求,因此,基于数据的短期电力负荷预测模型已成为一个重要的研究领域。
国内外学者在几十年的研究探索中提出了各类电力负荷预测方法,主要分为传统统计学方法和现代机器学习方法两大类。传统统计学方法也称为统计预测法,由于其精确度低,难以满足现今预测精度需求,随着大数据技术的发展,学者们逐渐转向基于机器学习预测算法领域。机器学习中比较常用的有广义线性回归 [3] 、SVR (支持向量回归机) [4] 、人工神经网络 [5] 、随机森林法 [6] 和LightGBM [7] 等,相比传统统计学方法,其预测精度要高很多。任鹏 [8] 等以商业建筑为研究对象,提出带反馈的广义多元线性回归模型,并通过实测数据验证了该模型具有较高的预测精度,但其模型构建复杂,历史数据准确度要求高,不适用于电网电力负荷预测;王瑞 [9] 等利用改进的RBF人工神经网络进行短期电力负荷预测,经过实测数据验证说明该模型的平均绝对百分误差小于5%,预测精度有了一定的提高;霍娟 [10] 等人从算法自身参数、数据集特点和气候特征三个因素对随机森林法和支持向量机进行比较,发现气候特征中干球温度和露点温度对负荷预测影响最大,而在相同数据集时两种方法的整体差异并不大;张晓 [11] 等利用双向循环GRU对电网数据进行时序特征提取,再建立LightGBM模型进行负荷预测,结果证明引入时序特征能使模型的各个指标均获得2%的提升;胡澜也 [12] 等选取了大量风力发电机的负荷数据,利用LightGBM算法进行了建模预测,发现该算法拥有预测速度快、精度高和历史数据影响小等优点。
随着电网智能化技术的推广,电力负荷数据的获取变得更加容易,为数据驱动的预测模型提供了数据基础。然而,大数据也带来了一些困难,例如历史负荷数据缺失、影响负荷的特征变量繁多等。对于短期电力负荷,天气和生产生活等各种随机和非随机因素的综合影响造成了预测模型的随机性、不确定性和时效性。综上所述,为提高预测的精确度,本文在考虑气温、气流等气候因素的基础上,采用LightGBM算法和五折交叉验证法构建短期电力负荷预测模型,利用实测电力负荷数据进行模型训练及验证,最后与多元线性回归模型、XGBoost模型进行对比分析,结果表明LightGBM算法在短期电力负荷预测领域具有一定的优势。
2. 算法介绍
2.1. LightGBM
LightGBM是近年Microsoft公司提出的一种对梯度提升决策树(Gradient Boosting Decision Tree,以下简称GBDT)的优化模型。以往GBDT算法虽然表现出良好的机器学习效果,但其需要构建一定数量的决策树,划分最优分割点,并对特征值进行排序,随着数据量的几何式增长,GBDT面临着易过拟合、训练速度慢等问题。基于GBDT的算法框架,LightGBM通过以下几点改进,提高了算法的性能 [13] :
1) 通过使用一种改进直方图算法,将特征值划分为多个区间,在每个区间中选取对应的分割点,如图1所示。由于直方图算法的正则化效果,提高了训练效率,有效避免过拟合现象。
2) 采用带深度限制的Leaf-wise生长方式,如图2所示,按叶子为单位,不断重复寻找在叶子分裂过程中增益最大的节点分裂,以减少生长同一叶子时的更多损失。
3) 使用互斥特征捆绑方法将许多互斥的特征绑定为一个特征,达到降维效果并且降低了计算复杂性。
4) 采用单边梯度采样算法,保留大梯度样本的同时,减少大量只具有小梯度的样本,大幅减少了计算成本。
![](//html.hanspub.org/file/13-2570559x9_hanspub.png?20220811091913828)
Figure 2. Leaf-wise growth mode with depth limitation
图2. 带深度限制的Leaf-wise生长方式
2.2. 对比模型
2.2.1. 多元线性回归模型
多元线性回归方法是研究一个因变量随两个或两个以上自变量变化的回归算法,是分析一个因变量与多个自变量间线性依存关系的统计方法,它能反映出一种现象或事物的数量随多种现象或事物的数量的变动而相应变化的规律,若能正确分析出变量间的因果关系,那么只需知道系统今后某段时间的输入条件,即可预测出系统的未来状态。多元线性回归模型的一般形式为 [14] :
(1)
式中,Y为因变量;
为回归常数;
为偏回归系数;
为自变量;
为随机误差。
在实际电力负荷预测中,由于实际电力负荷作为因变量与气温、气流等自变量之间的关系并非完全线性,所以建模时需要把它们之间的函数关系转换成线性关系,再利用多元线性回归求解未知参数。
2.2.2. XGBoost
XGBoost算法是中国学者陈天奇在近年提出的一种改进式算法 [15] ,基于GBDT算法,由弱分类器集成而得的一个强分类器,在解决数据集过于复杂、模型不停迭代计算影响训练效果上很有成效。XGBoost是一种提升树模型,保持原来的模型不变,持续增加树的个数,一个函数对应了一棵决策树,通过不断迭代,新生成的一棵树拟合前一轮的残差,从而不断提升拟合效果。
相比于其他Boosting算法,XGBoost的优势在于:1) 对损失函数引入正则化项,控制了模型复杂度,防止过拟合;2) 对损失函数进行二阶泰勒展开,提高了收敛速度与收敛精度;3) 引入列抽样,进一步提高计算速度并防止过拟合。
2.3. 评价指标
本文采用的评价指标为平均绝对误差MAE,平均绝对百分比误差MAPE和百分比均方根误差CVRMSE。MAE可以避免计算误差时相互抵消的问题,能够准确反映实际预测误差的大小;MAPE常用于衡量预测的准确性,越接近0%则预测误差越小;CVRMSE在均方根误差的基础上取了百分比,能够更好的表征测量值和预测值的拟合程度,其值越小,预测精度越高 [8] [10] [16] 。
平均绝对误差计算公式为:
(2)
平均绝对百分比误差计算公式为:
(3)
均方根误差计算公式为:
(4)
式(2)~式(4)中,n为样本量;
为第i条样本的真实值;
为第i条样本的预测值;
为样本真实值的平均值。
3. 案例分析
3.1. 数据样本介绍
本文选取了某省某地区2021年1月1日~2021年5月7日的电力负荷数据集以及对应的气象数据集,负荷数据采集频率为1小时,每日24个时刻(采集的负荷数据经过了归一化处理,全部映射到0~1之间);但基于已有数据集的局限性,气象数据采集频率为1天。取2021年2月1日~2021年4月30日的负荷数据和气象参数数据作为历史数据,如图3所示共有237,006个历史负荷数据。分别用一周、一个月和一个季度的历史数据对LightGBM预测模型进行训练,再利用2021年5月1日~2021年5月7日的气象参数进行预测,分别预测5月1日一天、5月1日~5月3日三天和5月1日~5月7日七天三个不同时间段的电力负荷。
![](//html.hanspub.org/file/13-2570559x21_hanspub.png?20220811091913828)
Figure 3. Load data set from February 1, 2021 to April 30, 2021
图3. 2021年2月1日~2021年4月30日负荷数据集
为了评估LightGBM算法在短期电力负荷预测上的预测性能,本文还选取了多元线性回归算法和XGBoost算法进行对比分析,并采用2.3小节中的三种评价指标来对这三种算法的预测效果进行比较分析。本文预测算法程序基于Python语言编程,仿真环境为Python 3.0。
3.2. 数据预处理
3.2.1. 特征变量选择
根据前人研究可知 [17] [18] ,影响电力负荷的因素很多,主要分为气象参数和用户历史用电行为两大方面。气象参数中较为典型的有气温、气流和阴晴雨雾等天气状况,这些指标与短期电力负荷有密切联系;用户历史用电指标主要指用户平时的用电行为,包括用户用电习惯、生产生活方式等,这一类指标通常难于准确获取,一般通过引入时序特征和用户的历史用电负荷来预测未来的电力负荷数据。综上所述,本文选取了以下变量作为短期电力负荷的特征变量,如表1所示。
![](Images/Table_Tmp.jpg)
Table 1. Characteristic variables and variable names of short-term power load
表1. 短期电力负荷特征变量及变量名
3.2.2. 气象参数预处理
由于选取的负荷数据集和气象参数数据集的采集频率不一致,因此首先将气象参数数据集拓展至与负荷数据集一致,以便对模型进行训练。为了模型训练时提高精确度,气温方面除最高和最低气温外还引入了平均气温,减小大温差带来的过度波动;气流方面利用python编程中的标签编码(Label Encoder)将八个主要风向和风力结合,一同用数字进行表示,如北风1~2级表示为19,北风3~4级表示为20;天气状况方面同理,也利用标签编码将不同的天气特征转化为数字,且与气流编码区分开,独立表示,对于小概率极端天气如雨夹雪、雾天等同样纳入预测范围内,如雨夹雪表示为13,雾天表示为21。
3.2.3. 用户历史用电指标预处理
机器学习预测对于历史数据的敏感度很高,尤其容易被空点、坏点等影响导致预测结果不理想,因此在使用数据集前需要进行预处理,去除异常点,并填补空值。本文选取的负荷数据集包含83条母线,经分析后发现其中有相当多的母线含有大量空值,不适用于模型训练,因此挑选了相对完整可用的三条母线。
预处理时采用连续列的平均值填充空值,得到训练用负荷数据集。由于短期电力负荷的时效性很强,在筛选好所用负荷数据后,引入月份、日期和小时等时序特征,以提高预测的精确度。最后将气象参数和用户历史用电指标组合到一起得到最终数据集。
4. 预测结果
将需要使用的数据集预处理之后分别组成训练集、验证集和测试集,其中训练集和验证集的比例为4:1,测试集分为一天、三天和七天三个不同时间长度。接着使用不同时间长度的训练集对不同的模型进行训练,同时进行超参数调整,最后用不同长度测试集进行负荷预测。
4.1. 同训练集长度LightGBM预测结果
LightGBM模型的最终调参结果如表2所示,同时为了提高预测的精确度,还使用了五折交叉验证的方法进一步防止过拟合。其中,random_state为随机数种子,learning_rate为学习速率,colsample_bytree为随机抽取特征的比例,num_leaves随机数的叶片数量,n_jobs为cpu运行时的核心数量,−1表示全部运行。
![](Images/Table_Tmp.jpg)
Table 2. LightGBM model parameters
表2. LightGBM模型参数
使用一周历史数据长度作为训练集训练的LightGBM模型对三个不同时间段的电力负荷预测结果如图4~6所示:
![](//html.hanspub.org/file/13-2570559x22_hanspub.png?20220811091913828)
Figure 4. LightGBM predicts one-day results
图4. LightGBM预测一天结果
![](//html.hanspub.org/file/13-2570559x23_hanspub.png?20220811091913828)
Figure 5. LightGBM predicts three-day results
图5. LightGBM预测三天结果
![](//html.hanspub.org/file/13-2570559x24_hanspub.png?20220811091913828)
Figure 6. LightGBM predicts seven-day results
图6. LightGBM预测七天结果
三个不同时间段的LightGBM模型评价指标表3。结合图表可知,LightGBM模型可以很好地跟踪实际电力负荷,其预测精度相当高,平均绝对误差均小于0.3,平均绝对百分比误差均小于0.01%,均方根误差均小于1%,并且模型预测运行时间短,说明了LightGBM算法预测性能很好。
由表3可知,不同时间长度的训练集对LightGBM模型的预测精度会有影响(按行对比),训练集的时间长度越长,预测精度就越低,效果最好的是一周时间的训练集,其预测精度和与真实值的拟合度都是最高,其次是一月时间,最后是一季度时间的训练集,由此可知随着训练集长度增加,LightGBM模型的预测精度有所下降。分析认为,短期负荷预测中,未来负荷和最接近的历史负荷相关性更强,当历史负荷数据较远时,在模型中反而容易引入更多噪音。
![](Images/Table_Tmp.jpg)
Table 3. LightGBM model evaluation indicators for different training set lengths and different prediction times
表3. 不同训练集长度不同预测时间LightGBM模型评价指标
4.2. 同预测时间LightGBM预测结果
使用不同训练集长度训练的LightGBM模型对一天时间的电力负荷预测结果如图7~9所示,为了凸显不同训练集长度带来的影响,只选取其中一条母线预测数据展示,同预测时间LightGBM模型评价指标见表3。
![](//html.hanspub.org/file/13-2570559x25_hanspub.png?20220811091913828)
Figure 7. One week LightGBM model prediction results of training set
图7. 训练集一周LightGBM模型预测结果
从表3可知(按列对比),并非预测时间越长LightGBM模型的预测效果越差,预测时间为3天的预测精度最高,其次是7天预测时间,最后是1天预测时间,说明LightGBM预测模型对于不同长度的预测时间的预测效果也不同。
![](//html.hanspub.org/file/13-2570559x26_hanspub.png?20220811091913828)
Figure 8. One month LightGBM model prediction results of training set
图8. 训练集一月LightGBM模型预测结果
![](//html.hanspub.org/file/13-2570559x27_hanspub.png?20220811091913828)
Figure 9. One quarter LightGBM model prediction results of training set
图9. 训练集一季度LightGBM模型预测结果
4.3. 各模型预测结果及对比
多元线性回归模型和XGBoost模型与LightGBM模型和真实数据的对比图和评价指标表如图10~12和表4所示,其中各模型的训练集长度均为一个季度,均选取一条母线进行展示。
![](Images/Table_Tmp.jpg)
Table 4. Comparison of different index results between different models
表4. 不同模型之间不同指标结果对比
![](//html.hanspub.org/file/13-2570559x28_hanspub.png?20220811091913828)
Figure 10. Comparison of different models in one day
图10. 一天时间不同模型对比
![](//html.hanspub.org/file/13-2570559x29_hanspub.png?20220811091913828)
Figure 11. Comparison of different models in three day
图11. 三天时间不同模型对比
![](//html.hanspub.org/file/13-2570559x30_hanspub.png?20220811091913828)
Figure 12. Comparison of different models in seven day
图12. 七天时间不同模型对比
通过上述不同模型预测结果的对比可知:多元线性回归模型的预测精确度最低,预测值与真实值的拟合度最差,XGBoost模型次之,LightGBM模型预测效果最好。从一周训练集长度、一天时间的MAPE和CVRMSE中,相较多元线性回归模型和XGBoost模型,LightGBM模型预测精度分别提高了59.4%和18.2%,预测数据与真实数据的拟合度提高了94.9%和91.2%,在预测方面表现出明显的优势,能更好地进行短期电力负荷预测。
5. 结论
本文基于LightGBM算法和五折交叉验证法建立了一种短期电力负荷预测模型,考虑了气象因素和用户历史用电指标对于负荷的影响,接着选择了实测电力负荷数据对所建立的模型进行验证,并研究了LightGBM模型在不同历史数据训练规模大小的选择下,不同预测时间尺度时短期电力负荷的预测精度,并与多元线性回归模型和XGBoost模型进行效果对比,主要结论如下:
1) LightGBM模型能够较好地跟踪实际电力负荷,其预测精度和与真实值的拟合度都相当高,MAE、MAPE、CVRMSE均分别小于0.3、0.01%、1%。
2) 不同时间长度的训练集对LightGBM模型的预测精度会有影响,随着训练集的时间长度变长,预测精度降低。为提高短期电力负荷模型预测精度,需要选择合适的训练数据集大小。
3) 从预测时间对比可知,LightGBM预测模型对于不同长度的预测时间的预测效果不同,三天预测时间的预测精度最高,七天次之,一天的最低,针对不同预测时长,推荐使用不同的模型超参数。
4) LightGBM模型相较于多元线性回归模型和XGBoost模型的预测数据的精度更高,预测值与真实值的拟合度也更高,在预测能力上表现出明显的优势。
本文提出的预测模型,更适合我国未来电网在高可再生能源渗透率下用电曲线将更加波动的用电环境,为电网的发展规划与运维调控提供理论指导依据。
参考文献
NOTES
*通讯作者。