基于随机森林回归和多步寻优的短期负荷需求预测方法
技术领域
本发明涉及电力负荷需求预测领域,尤其涉及基于随机森林回归和多步寻优的短期负荷需求预测方法。
背景技术
随着我国电力大数据+互联网融合的日益深入,电网公司与售电企业逐步走入市场,短期电力负荷需求预测对电网系统调控和电力市场运营都具有重要意义。电力负荷需求预测是电网经济安全运行的必要保障。可以说,精准的短期负荷预测(Short Term LoadForecasting,STLF)对电力需求响应、能源市场分析以及电力输配电规划具有重要决策意义。由于短期电力负荷需求受到诸多如温度、假期、地区等非线性因素的影响,因此特征数据质量以及所用预测数学模型对提高STLF预测精度至关重要。
目前,短期电力负荷预测主要分为两大类:一类是以时间序列、灰色预测为主的常规回归方法;另一类是以神经网络、机器学习为代表的智能预测方法,如人工神经网络(Artificial Neural Network,ANN)等方法。近年来,由于支持向量回归(Support VectorRegression,SVR)具有泛化能力较强、自定义核函数等优点,国内外学者将其作为电力负荷预测的研究热点。然而,SVR预测模型的最终预测精度受其算法本身和输入特征的选择影响较大,输入特征、核函数以及优化算法的选取往往需要经过复杂的预实验。作为新兴机器学习方法的随机森林回归(Random Forest Regression,RFR)可望解决上述问题。RFR通过Bootstrap重抽样方法组合回归树进行预测,具有预测精度高、收敛速度快等优点,在许多预测领域已被广泛研究。此外,RFR建模无需复杂的特征选择算法,所有特征均可用于建立预测模型,但是RFR的预测性能受其模型参数影响较大。
发明内容
针对现有短期负荷需求预测技术存在的受其算法本身和输入特征的选择影响较大、以及输入特征、核函数和优化算法的选取往往需要经过复杂的预实验等缺陷,本发明提出了基于随机森林回归和多步寻优的短期负荷需求预测方法,以有效提高短期电力负荷需求预测精度。
本发明提供的基于随机森林回归和多步寻优的短期负荷需求预测方法,包括:
S100提供原始数据集,包括历史负荷特征数据、历史负荷需求数据以及预测日负荷特征数据;所述负荷特征数据指负荷需求相关的特征数据;将历史负荷特征数据和历史负荷需求数据作为训练集,将预测日负荷特征数据作为预测集;
S200将历史负荷特征数据和历史负荷需求数据分别作为负荷特征样本与负荷样本,分别计算各维负荷特征与负荷间的相关系数,从训练集和预测集中剔除相关系数绝对值小于预设阈值的负荷特征数据,对相关系数绝对值不大于预设阈值的负荷特征数据,将相关系数与自然数1之差的绝对值作为该维负荷特征的衰减权重;预设阈值为经验值;
S300基于训练集训练随机森林回归模型,对随机森林回归模型参数进行多步寻优,得短期负荷需求预测模型;参数包括回归树的数量m和深度d;
所述对随机森林回归模型参数进行多步寻优具体为:
S310利用网格搜索法为每个参数设置相应的搜索间隔后构成高维搜索向量,遍历高维搜索向量计算各搜索区域的适应度,适应度小于预设适应度阈值的搜索区域即局部优化域;
S320以局部优化域作为果蝇优化法的参数选取区域,将最佳参数当作果蝇最佳位置,利用果蝇优化法进行多步寻优搜索最佳参数;
S400以预测集为输入,利用短期负荷需求预测模型获得负荷需求预测值,将负荷需求预测值及对应的负荷特征数据加入训练集,作为预测下一个预测点的负荷需求值时的历史负荷需求数据和历史负荷特征数据。
进一步的,所述历史负荷特征数据和所述预测日负荷特征数据分别至少包括历史日和预测日的日期数据、气象数据、以及相似日负荷值;所述相似日负荷值,指与当前日负荷特征的欧氏距离最小的历史负荷特征所对应历史日的电力负荷值。
所述气象数据和所述日期数据均通过中国气象数据网提供的API接口实时获取。
进一步的,所述历史负荷需求数据从智能电能表采集的用户电力信息数据中获取。
进一步的,S200中,各维负荷特征与负荷间的相关系数其中,rxy表示负荷特征与负荷间的相关系数;Sxy表示负荷特征样本与负荷样本的协方差;Sx和Sy分别表示负荷特征样本和负荷样本的标准差;xj和yj分别表示负荷特征样本和负荷样本中第j个样本,n表示样本数;xavg和yavg分别表示负荷特征样本和负荷样本的平均值。
作为优选,在执行步骤S300前,对步骤S200处理后的数据集进行缺失值处理和标准化。
进一步的,S300中,基于训练集训练随机森林回归模型具体为:
采用Bootstrap重抽样方法从训练集中选取m个子集,利用每个子集分别训练得到一颗回归树,基于损失最小化原则集成回归树,获得随机森林回归模型。
进一步的,S410中计算各搜索区域的适应度,进一步为:
将训练集随机等分为若干组,其中一组作为测试集,其余组作为子训练集;
采用各组子训练集分别训练当前随机森林回归模型,每次训练后采用训练后的随机森林回归模型预测测试集对应的预测负荷值;
训练完毕,分别计算各搜索区域的适应度其中,为第p次训练后利用测试集获得的预测负荷值,P为子训练集数;ξp为测试集对应的实际负荷值。
进一步的,S420进一步包括:
(1)初始化最大迭代次数maxgen,种群大小sizepop和果蝇初始位置(X_axis,Y_axis),将果蝇位置看作模型参数,采用二进制编码构造参数;
(2)在参数选取区域内对果蝇个体赋予随机飞行距离和方向,获得果蝇个体更新后的位置;
(3)基于果蝇个体当前位置计算气味浓度值,并对其进行二进制编码,气味浓度值为果蝇个体到原点距离的倒数;判断气味浓度值代入sigmoid函数的结果是否大于0.5,若是,将气味浓度值解码为十进制值,即优化后的模型参数;若不是,执行步骤(2),对果蝇个体位置做下一次迭代更新;
(4)每次迭代通过果蝇个体的新位置生成新的气味浓度值,基于新的气味浓度值执行步骤(3);当迭代次数大于maxgen或新的气味浓度值小于历史最佳浓度值,则迭代结束,当前模型参数即最佳参数;否则,返回步骤(2)继续更新果蝇位置。
作为优选,上述短期负荷需求预测方法中,基于滚动时域预测法预测负荷需求预测值,即以预设时间间隔为时域进行滚动预测;每次预测完成,将每次预测的负荷需求预测值及对应的负荷特征数据加入训练集中,用来在下一次预测前对随机森林回归模型进行训练和多步寻优。
和现有技术相比,本发明具有以下特点和有益效果:
(1)对影响短期负荷需求预测的特征因子中,不再仅仅局限于考虑单一因素对短期负荷的作用,而是采用多负荷特征及融合特征来综合考虑各因素作为电力负荷特征,相比于其它预测技术考虑更为全面;
(2)对负荷相关性较小的特征进行剔除,以提高预测模型性能,同时也对多重共线性特征进行相应的权重衰减,降低共线性特征对预测模型的影响;
(3)Bootstrap重抽样方法组合回归树进行预测,将多个弱学习器组合起来形成强学习器,强学习器具有预测精度高、收敛速度快等优点,使得预测模型可以很好地处理具有多种来源的数据组成或是异构数据集,此外,预测模型的最终预测精度不再受算法本身和输入特征的选择影响,输入特征、核函数以及优化算法的选取无需经过复杂的预实验,在实际应用中可以有效提高短期电力负荷需求的预测精度;
(4)在影响随机森林预测性能的参数选择上,先采用网格搜索算法确定模型参数的全局收敛域,进一步根据果蝇优化算法在GSA缩小收敛域基础上获取模型最佳参数,解决了FOA易陷入局部优化的缺陷,提高了果蝇优化算法用于预测模型参数寻优的效率,同时也提高了预测模型的学习能力和预测精度。
(5)本发明方法理论基础完善,模型全局泛化性能强,参数选择快速,运行效率高,无需经过预实验选择,提高了短期负荷需求预测的精度,能够为电网调度、安全运行提供有效保障,为电力部门及售电公司报价提供辅助决策,具有很好的实际应用前景。
附图说明
图1是本发明短期负荷需求预测方法的预测流程示意图;
图2是实施例中将随机森林回归用于电力负荷需求预测的模型示意图;
图3是实施例中对随机森林回归模型参数进行多步寻优的流程示意图。
具体实施方式
为了更清楚地说明本发明和/或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,并不用于限定本发明。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
本发明基于随机森林回归和多步寻优的短期负荷需求预测方法的主要思路为:第一步,从负荷特征数据中提取与负荷相关度较高的多维特征及融合特征,将所提取的负荷特征数据作为样本集。第二步,训练随机森林回归模型,结合网格搜索法和交叉验证法缩小参数局部优化域,采用果蝇优化法在参数局部优化域对模型参数进行寻优,获取最优参数下的随机森林回归模型,即短期负荷需求预测模型,采用短期负荷需求预测模型对预测日的负荷需求进行预测。第三部分,基于滚动时域预测法将训练好的基于随机森林回归和多步寻优的短期负荷需求预测模型用于预测短期电力负荷需求,减小一次预测带来的随机误差,大大提高了预测模型的学习能力和预测精度。
下面将参照图1提供本发明基于随机森林回归和多步寻优的短期负荷需求预测方法的具体实施过程,步骤如下:
S100提供原始数据集;所述原始数据集包括历史负荷特征数据、历史负荷需求数据以及预测日负荷特征数据;所述历史负荷特征数据指历史日的电力需求负荷相关特征数据;所述预测日负荷特征数据指预测日的电力需求负荷相关特征数据。本发明中,将历史负荷需求数据及历史负荷特征数据作为训练集,将预测日负荷特征数据作为预测集。
本实施例中,所述历史负荷特征数据至少包括日期数据、与日期数据关联的历史气象数据、以及相似日负荷值。历史负荷需求数据和历史负荷特征数据均为时间相关的数据,即基于时间可将历史负荷需求数据和历史负荷特征数据对应。预测日负荷特征数据则至少包括预测日的日期数据、气象数据以及相似日负荷值。本发明中,负荷特征指与电力需求负荷相关的特征数据,换言之,能影响电力负荷需求的因素,除了本实施例提出的气候、日期等特征外,也可以为地区等其他特征。
本实施例中,利用DL645-2007多功能智能电能表实时采集用户电力信息数据,采集频率为每15分钟一次,所采集的用户电力信息数据通过TCP/IP通信协议实时传输至云端服务器,并存储至云端数据库。从云端数据库中的用户电力信息数据中获取历史负荷需求数据。
气象数据一般包括温度、湿度、风速、降水等气候相关数据,日期数据一般包括年、月、日、星期数、节假日情况的数据,日期数据和气象数据为对应关系。本实施例中,气象数据和日期数据均通过中国气象数据网提供的API接口实时获取,所获取的气象数据和日期数据存储至云端数据库。
预测日的相似日负荷值SimilarLoad,指与预测日负荷特征的欧氏距离最小的历史负荷特征所对应历史日的电力负荷值。SimilarLoad的计算参见公式(1)。
式(1)中:xi和fi分别表示预测日和历史日的第i维负荷特征,n表示负荷特征维数;表示取满足负荷特征间欧氏距离最小的历史日的电力负荷。
S200基于原始数据集,根据各维负荷特征与负荷间的相关程度对原始数据集中多维负荷特征进行筛选,剔除与电力负荷相关度较小的负荷特征,并对相关度较大的负荷特征进行加权衰减,以提高预测模型的泛化性能。
相关系数(Correlation Coefficient,CC)是反应变量之间关系密切程度的统计指标,其绝对值越大,表明变量间相关性越大。因此,相关系数CC可作为衡量负荷特征与负荷间相关程度的参数指标。
下面将提供本步骤的一种具体实施方式,具体步骤如下:
S210利用式(2)分别计算各维负荷特征与负荷间的相关系数rxy:
式(2)中:rxy表示负荷特征与负荷间的相关系数;Sxy表示负荷特征样本与负荷样本的协方差,负荷特征样本和负荷样本分别为训练集中的历史负荷特征数据和历史负荷需求数据;Sx和Sy分别表示负荷特征样本和负荷样本的标准差;xj和yj分别表示负荷特征样本和负荷样本中第j个样本,J表示样本数;xavg和yavg分别表示负荷特征样本和负荷样本的平均值;ε为相关度阈值,ε>0,ε为经验值,一般取不大于0.3的正数。
S220根据公式(3),即可获取各维负荷特征分别与负荷间的相关系数,从而获得由各维负荷特征与负荷间的相关系数构成的相关程度矩阵R。为提高模型泛化性能,从训练集和样本集中剔除与负荷相关程度较低的负荷特征,对相关程度较高的负荷特征加权处理,即对多重共线性变量特征进行加权衰减,衰减权重为其相关系数与自然数1之差的绝对值。
本步骤中,相关系数绝对值小于相关度阈值ε的负荷特征即与负荷相关程度较低的负荷特征;而相关系数绝对值不小于相关度阈值ε的负荷特征即相关程度较高的负荷特征。
S300对筛选后的数据集进行缺失值处理和标准化。
缺失值处理是为了获取连续的数据,标准化即归一化,是为了避免特征数据量级差异大,通过标准化方法将数据限制在一定范围内,这样可保证后续的数据处理更方便以及可加快收敛。缺失值处理和标准化均为数据处理领域的公知技术,可直接采用现有的函数进行数据的缺失值处理和标准化。
下面将提供本实施例中所采用的缺失值处理和标准化的一种具体实施方法,当然也可以采用其他方法进行缺失值处理和标准化,本实施例仅做示例,不做限制。
缺失值处理和标准化的具体方法如下:
(1)对连续变化的负荷特征的缺失值,采用负荷特征的所有未缺失数值的平均值填充。所述连续变化的负荷特征包括气象数据中的温度、湿度、风速、降水、相似日负荷值等。
(2)对离散变化的负荷特征的缺失值,采用该缺失值前一日的负荷特征值进行填充;若负荷特征值连续缺失,则采用该负荷特征的众数填充。所述离散变化的负荷特征包括日期数据中的年、月、日、星期数等。
(3)采用公式(3)进行标准化处理:
式(3)中:La表示待标准化处理的任一维负荷特征序列L中第a个负荷特征值;La'表示负荷特征La的标准化值;u和std分别为负荷特征序列L中负荷特征值的均值和标准差。
S400基于训练集和预测集,构建短期电力负荷需求预测模型。
本步骤进一步包括基于训练集构建随机森林回归模型,以及对随机森林回归模型参数进行多步寻优,从而获得短期电力负荷需求预测模型。随机森林回归模型参数包括回归树的数量m和深度d。
下面将对本步骤中构建随机森林回归模型的具体实施方式做进一步描述。
构建随机森林回归模型具体为:采用Bootstrap重抽样方法从训练集中选取m个子集,每个子集训练至深度d得到一颗回归树IBO,m颗回归树预测值的平均值即模型的预测输出。
参见图2,所示为将随机森林回归用于电力负荷需求预测的模型示意图,该模型示意图作为其中的一个实施例,其构建具体过程如下:
在回归树的每个叶子节点得到一个预测得分,预测得分为划入左子树或右子树的所有样本中历史负荷需求数据的平均值;依据分裂均方误差最小化进行最可靠分枝,分枝时穷举每一个负荷特征值寻找最优分割点,选取使得分裂均方误差最小的样本特征值作为阈值,直至每个叶子节点上的数值唯一或者达到预设的终止条件,终止条件可以为回归树达到深度d或叶子节点上的样本数小于等于2。若最终叶子节点上数值不唯一,则以多个样本的负荷平均值作为预测值。
以上述构建的回归树为基本回归器,通过Bootstrap重抽样方法从训练集选取m个子集,m个子集训练得到的回归树记为IBO。
采用bagging方法从袋外数据中抽取s个测试样本,采用训练好的回归树对该测试样本进行预测误差估计,使误差最小化的回归树集成建立随机森林。有放回的样本抽样方法中,每次约有1/3样本不会出现在子样本集中,未参与回归树的建立,这部分数据即袋外数据。
均方误差最小化的计算见公式(4):
式(4)中,MSE表示训练样本的均方误差,MSEbag为bagging数据样本均方差;IBOj(xi)表示第q颗回归树的输出值,xi和yi分别为第i个测试样本中负荷特征输入向量和实际负荷值,即对应训练集中历史负荷特征数据和历史负荷需求数据。
对负荷特征输入向量xi,将每个回归树最终节点t的加权预测值相加,对节点t的输出求平均值:
式(5)中,m为随机森林中回归树的数量;C(q)为第q颗回归树中的负荷特征衰减权重,若无衰减权重,则权重取1;yq(st,t)为第q颗回归树在最终分枝st下的负荷需求预测值;v(st)为分枝st下的输入特征;RT表示单个回归树,RF表示随机森林中的所有回归树。
对于预测集Q,短期负荷需求预测值y(Q)表示为:
式(6)中,IBOq(Q)为第q颗回归树的输出值;yq(Q)为第q颗回归树的加权预测输出值;y(Q)为预测集的最终预测输出。
下面将对本步骤中括回归树的数量m和深度d多步寻优的具体实施方式做进一步描述。
首先,采用网格搜索法缩小参数优化域,解决启发式优化算法易陷入局部最优的问题;再基于网格搜索得到的局部优化域,采用果蝇优化法获取训练集下的最佳参数对(mbest,dbest)。
参见图3,所示为对随机森林回归模型参数进行多步寻优的流程示意图。作为其中的一个实施例,网格搜索算法缩小参数优化域和果蝇优化算法获取模型的最佳参数—回归树深度dbest和随机森林中回归树数量mbest,建立基于随机森林回归和多步寻优的短期电力负荷需求预测模型,通过模型输出得到预测集的电力负荷需求预测结果。
其多步寻优过程具体包括以下步骤:
S410综合考虑全局收敛和模型预测性能,利用网格搜索法(Grid SearchAlgorithm,GSA)缩小随机森林回归模型参数的局部优化域,解决标准果蝇优化法(FOA)易陷入局部最优的问题。GSA为每个参数设置相应的搜索间隔后构成高维搜索向量,遍历高维搜索向量计算适应度函数,选取适应度函数较小的搜索区域(设定损失度函数值小于0.2对应的参数取值区域),作为果蝇优化算法的参数选取区域。
将包含参数m和d的参数向量O的上下限分别设为Oup和Olow,设置搜索间隔向量为Δ=[Δ1,Δ2],高维搜索向量Θ见公式(8);
式(7)~(8)中:t为参数索引,t∈{1,2},分别对应参数m和d;Kt为参数t对应的参数向量Ot中元素的总数;Kt'为Ot中元素序号,Kt'∈{1,2,…,Kt};和△t分别为参数t对应的高维搜索向量Θt的上限、下限和变化间隔。
在GSA中加入交叉验证(Cross Validation,CV)以限制模型过拟合问题。CV将训练集S随机等分为10组,其中一组作为测试集,其余组作为每次训练的子训练集,训练测试过程重复10次,适应度函数Rcv见公式(9)所示,作为搜索区域选取的参考指标;
式(9)中,为第p次训练时测试集的预测负荷,即将测试集输入第p次训练后的随机森林回归模型,所获得的预测负荷;ξp为对应的实际负荷值。
根据步骤S410构建高维搜索向量Θ,根据适应度函数Rcv从大到小绘制等高线图。显然,Rcv在取值更小处选取为局部搜索域,以此作为果蝇优化算法的参数选取区域,该参数选取区域下获取的最优参数可以保证模型全局收敛。
S420基于步骤S410获得的局部优化域,执行FOA获取最优参数值mbest和dbest,预测模型的最佳参数可以通过果蝇最佳位置确定,进而建立最优参数下的基于随机森林回归和多步寻优的短期负荷需求预测模型。
果蝇优化法的具体步骤如下:
S421初始化最大迭代次数maxgen,种群大小sizepop和果蝇初始位置(X_axis,Y_axis),初始化采用二进制编码构造随机森林预测模型参数。经过综合考虑,设置sizepop=50,maxgen=[10,150],每次迭代后maxgen=maxgen+10。以步骤S410获得的参数选取区域作为FOA的作用域,选取最优模型参数,并将果蝇个体e赋予随机飞行距离和方向;
Xe=X_axis+Random Value (10)
Ye=Y_axis+Random Value (11)
式(10)~(11)中,(Xe,Ye)为一次迭代更新后果蝇的位置,RandomValue为位置更新参数,RandomValue>0,为(0,1)内的随机正数。
S422将公式(12)作为气味浓度函数,计算果蝇个体到原点的距离De,再计算气味浓度值Se,对其气味浓度值进行二进制编码,若Se值代入概率分类函数sigmoid函数的结果大于0.5,则该结果被选中记为0,然后解码为十进制值从而得到优化后的模型参数;否则,利用公式(10)和(11)对果蝇个体位置做下一次迭代更新;
S423设置初始迭代次数gen=10,更新迭代公式为gen=gen+10。每次迭代时通过果蝇个体的新位置生成新的气味浓度值,基于新的气味浓度值执行步骤S422;若满足gen>maxgen或新气味浓度值小于历史最佳浓度值,历史最佳浓度即历史最小气味浓度值,则当前迭代获得的模型参数为最佳参数mbest和dbest;否则,返回步骤S421继续更新果蝇位置。
S500以预测集为输入,利用短期负荷需求预测模型获得负荷需求预测值,将负荷需求预测值及对应的负荷特征数据加入训练集,作为预测下一个预测点的负荷值时的历史负荷需求数据和历史负荷特征数据。
本实施例中,负荷需求预测过程中不断更新训练集与预测集,基于滚动时域预测法预测短期电力负荷需求,即以时间间隔(例如1小时或1日)为时域进行滚动预测,每次预测完成,将每次预测的负荷需求预测值及对应的负荷特征数据加入训练集中,用来在下一次预测前对随机森林回归模型进行训练和多步寻优,直至获得预测集对应的所有负荷需求预测值,滚动时域预测完成。
实施例
分别采用本发明方法、人工神经网络预测(Artificial Neural Networks,ANN)法、常规随机森林回归法和融合GSA优化的支持向量回归预测(Support VectorRegression,SVR)法进行短期负荷需求预测,并选取均方根误差(Root Mean SquaredError,RMSE)和平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)作为预测性能指标。
均方根误差和平均绝对百分比误差的计算见公式(13)~(14):
式(13)~(14)中,n为预测集的时序长度;和分别为预测时间i对应的预测值和实际值。RMSE和MAPE的值越小,负荷需求预测结果越精确,预测性能也越好。
预测性能指标的对比结果见表1所示,表中,A1表示含有6个输入层、10个隐含层和1个输出层的ANN预测,A2表示默认参数的常规RFR预测,A3表示融合GSA参数优化的SVR预测。从表中可以看出,本发明方法的预测性能指标RMSE和MAPE分别为5.41和2.34,明显小于A1、A2和A3(分别为19.11和16.50%、12.63和9.86%、8.38和6.40%)。本发明所提出预测方法较ANN、SVR和常规RFR相比预测性能显著更优,预测精度更高。同时,实例预测效果验证了本发明所提出预测方法的有效性和可行性,使得本发明预测方法在不同地区及不同日期具有一定的泛化性。
表1预测方法性能指标对比
上述实施例所述是用以具体说明本发明,文中虽通过特定的术语进行说明,但不能以此限定本发明的保护范围,熟悉此技术领域的人士可在了解本发明的精神与原则后对其进行变更或修改而达到等效目的,而此等效变更和修改,皆应涵盖于权利要求范围所界定范畴内。