掌桥专利:专业的专利平台
掌桥专利
首页

一种基于XGBoost算法的用电短期负荷波动预测方法及系统

文献发布时间:2023-06-19 12:05:39


一种基于XGBoost算法的用电短期负荷波动预测方法及系统

技术领域

本发明涉及用电负荷预测的技术领域,特别是涉及一种基于XGBoost算法的用电短期负荷波动预测方法及系统。

背景技术

短期负荷预测是电网能量管理系统的重要功能,是电力系统安全、经济、可靠运行的基础。负荷预测的精度直接影响电力系统的安全性、经济性和供电质量。因此如何提高预测精度是目前短期负荷预测技术研究的重点。目前用于短期负荷预测的方法主要有传统预测方法和现代预测方法两大类。传统模型无法同时兼顾负荷数据的时序性和非线性的特点,而现代预测比如神经网络由于性能低及收敛速度慢的不足。

发明内容

本发明所要解决的技术问题在于,针对现有短期负荷预测方法存在的不足,提供一种基于XGBoost(eXtreme Gradient Boosting,极端梯度提升)算法的用电短期负荷波动预测方法及系统,通过考虑综合气象因素和日期类型因素并结合gboost集成学习算法来实现短期电力负荷预测,最大程度的提升预测精准度,有效挖掘移峰填谷潜力。

根据本发明的第一方面,提供了一种基于XGBoost算法的用电短期负荷波动预测方法,其包括如下步骤:

步骤S1,进行历史数据收集,所述历史数据至少包括过去预定时间内的气象数据、日期类型信息以及用电负荷信息;

步骤S2,对所述历史数据进行预处理,构造数据属性并形成建模数据;

步骤S3,根据建模数据定义模型学习目标函数、回归树生成参数,构造用于负荷预测的XGBoost模型;

步骤S4,将建模数据按设定的比较划分为训练集和验证据集,对所述XGBoost模型进行训练学习和验证,并获得期望的XGBooster参数,形成预测模型;

步骤S5,将当前待预测地区的天气数据输入至所述预测模型,获得未来一段时间内的电网负荷预测值。

优选地,所述步骤S1进一步包括:

从气象局或天气网站获取预定时间内的天气气象数据;从计量自动化系统获取预定时间内的预定测量点的计量负荷数据;从营销管理系统获取相应的用户档案、计量点信息、计量点电能表关系数据。

优选地,所述步骤S2进一步包括:

选取历史数据的历史小时负荷和温度观测数据,构造前一周同一时刻负荷、前一天同一时刻负荷、前24小时平均负荷三个属性;

在完成属性构造以后确定建模数据,其中,以干球温度、露点温度、一天中的小时、星期、是否为节假日、前一周同一时刻负荷、前一天同一时刻负荷、前24小时平均负荷作为输入变量,以第二天24个小时的电网负荷作为输出。

优选地,所述步骤S3进一步包括:

使用XGBoost工具包定义模型学习目标函数、回归树生成参数,构建XGBoost模型;其中,模型学习目标函数采用泊松回归(count:poisson)。

优选地,所述步骤S4进一步包括:

在建模数据中,划分80%为训练集,划分20%作为验证集,对所述XGBoost模型进行训练和检验;

在训练和检验过程中,计算每次迭代的误差值确定最佳的迭代次数,并通过交叉验证优化参数,确定XGBoost模型的booster参数为:树的最大深度为6,迭代次数为150,收缩步长为0.3。

其中,在所述步骤S4之后进一步包括:

采用平均绝对误差、均方误差、均方根误差、平均绝对百分误差四种评价指标中至少一种对负荷预测模型进行评估,在评估达到预定的标准后,将所述负荷预测模型作为最终的负荷预测模型。

相应地,本发明的另一方面,还提供一种基于XGBoost算法的用电短期负荷波动预测系统,其包括:

历史数据收集单元,用于对历史数据进行收集,所述历史数据至少包括过去预定时间内的气象数据、日期类型信息以及用电负荷信息;

预处理单元,用于对所述历史数据进行预处理,构造数据属性并形成建模数据;

XGBoost模型建立单元,用于根据建模数据定义模型学习目标函数、回归树生成参数,构造用于负荷预测的XGBoost模型;

训练验证单元,用于将建模数据按设定的比较划分为训练集和验证据集,对所述XGBoost模型进行训练学习和验证,并获得期望的XGBooster参数,形成预测模型;

预测单元,用于将当前待预测地区的天气数据输入至所述预测模型,获得未来一段时间内的电网负荷预测值。

优选地,所述历史数据收集单元具体地用于:

从气象局或天气网站获取预定时间内的天气气象数据;从计量自动化系统获取预定时间内的预定测量点的计量负荷数据;从营销管理系统获取相应的用户档案、计量点信息、计量点电能表关系数据。

优选地,所述预处理单元进一步包括:

属性构建单元,用于选取历史数据的历史小时负荷和温度观测数据,构造前一周同一时刻负荷、前一天同一时刻负荷、前24小时平均负荷三个属性;

建模数据确定单元,用于在完成属性构造以后确定建模数据,其中,以干球温度、露点温度、一天中的小时、星期、是否为节假日、前一周同一时刻负荷、前一天同一时刻负荷、前24小时平均负荷作为输入变量,以第二天24个小时的电网负荷作为输出。

优选地,所述XGBoost模型建立单元具体用于:

使用XGBoost工具包定义模型学习目标函数、回归树生成参数,构建XGBoost模型;其中,模型学习目标函数采用泊松回归(count:poisson)。

优选地,所述训练验证单元进一步包括:

划分处理单元,用于在建模数据中,划分80%为训练集,划分20%作为验证集,对所述XGBoost模型进行训练和检验;

参数确定单元,用于在训练和检验过程中,计算每次迭代的误差值确定最佳的迭代次数,并通过交叉验证优化参数,确定XGBoost模型的booster参数为:树的最大深度为6,迭代次数为150,收缩步长为0.3。

优选地,进一步包括:

评估处理单元,用于采用平均绝对误差、均方误差、均方根误差、平均绝对百分误差四种评价指标中至少一种对负荷预测模型进行评估,在评估达到预定的标准后,将所述负荷预测模型作为最终的负荷预测模型。

实施本发明,具有如下的有益效果:

本发明提供一种基于XGBoost算法的用电短期负荷波动预测方法及系统,通过考虑综合气象因素和日期类型因素并结合xgboost集成学习算法来实现短期电力负荷预测,最大程度的提升预测精准度,有效挖掘移峰填谷潜力。

本发明通过采用XGBoost集成学习框架,利用其并行运算速度快、精度高、灵活性强、鲁棒性好的特点,构建了干球温度、露点温度、一天中的小时、星期、是否为节假日、前一周同一时刻负荷、前一天同一时刻负荷、前24小时平均负荷因子为输入,未来一天24点电力负荷为输出的电网负荷预测模型。实验研究结果表明,该负荷预测模型预测结果能很好拟合实际负荷数据,平均百分误差在2%以下。相较于贝叶斯、KNN和随机森林方法,XGBoost负荷预测模型模型训练时间短等优势,具有较好的泛化性能且不易过拟合,且具有极好的准确率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,根据这些附图获得其他的附图仍属于本发明的范畴。

图1为本发明提供的一种基于XGBoost算法的用电短期负荷波动预测方法的一个实施例的主流程示意图;

图2为本发明提供的一种基于XGBoost算法的用电短期负荷波动预测系统的一个实施例的结构示意图;

图3为图2中预处理单元的结构示意图;

图4为图2中训练验证单元的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1所示,示出了本发明提供的一种基于XGBoost算法的用电短期负荷波动预测方法的一个实施例的主流程示意图;在本实施例中,所述基于XGBoost算法的用电短期负荷波动预测方法包括如下的步骤:

步骤S1,进行历史数据收集,所述历史数据至少包括过去预定时间内的气象数据、日期类型信息以及用电负荷信息;

在一个具体的例子中,所述步骤S1进一步包括:

从气象局或天气网站获取预定时间内的天气气象数据;从计量自动化系统获取预定时间内的预定测量点的计量负荷数据;从营销管理系统获取相应的用户档案、计量点信息、计量点电能表关系数据。

可以理解的是,在本发明的实施例中,采用基于关系型数据的数据采集:通过数据库直连、或日志分析方式实现对关系型数据的全量、增量采集。

步骤S2,对所述历史数据进行预处理,构造数据属性并形成建模数据;

在一个具体的例子中,所述步骤S2进一步包括:

选取历史数据的历史小时负荷和温度观测数据,构造前一周同一时刻负荷、前一天同一时刻负荷、前24小时平均负荷三个属性;

在完成属性构造以后确定建模数据,其中,以干球温度、露点温度、一天中的小时、星期、是否为节假日、前一周同一时刻负荷、前一天同一时刻负荷、前24小时平均负荷作为输入变量,以第二天24个小时的电网负荷作为输出。

如下表所示,示出了一个建模数据列表:

步骤S3,根据建模数据定义模型学习目标函数、回归树生成参数,构造用于负荷预测的XGBoost模型;

在一个具体的例子中,所述步骤S3进一步包括:

使用XGBoost工具包定义模型学习目标函数、回归树生成参数,构建XGBoost模型;其中,模型学习目标函数采用泊松回归(count:poisson)。

可以理解的是,XGBoost的参数可以分为三种类型:通用参数(GeneralParameters)、booster参数以及学习目标参数(Task Parameters)。本发明的电网负荷预测问题属于回归问题,构建的XGBoost模型目标函数参数选取“count:poisson”,即泊松回归的负对数似然;而采用XGBoost工具包定义模型学习目标函数是本领域的技术人员所熟知的,在此不进行详述;

步骤S4,将建模数据按设定的比较划分为训练集和验证据集,对所述XGBoost模型进行训练学习和验证,并获得期望的XGBooster参数,形成预测模型;

在一个具体的例子中,所述步骤S4进一步包括:

在建模数据中,划分80%为训练集,划分20%作为验证集,对所述XGBoost模型进行训练和检验;例如,在一个例子中,为了构建行业用电客户短期负荷预测模型,收集负荷数据(2019年01月01日~2020年12月31日)样本43847条,选取其中35063条数据(2019年01月01日~2020年05月31日)作为训练样本数据建立负荷预测模型。剩余8784条负荷数据(2020年06月01日~2020年12月31日)作为测试样本来检验所建模型性能。

在训练和检验过程中,计算每次迭代的误差值确定最佳的迭代次数(num-round),并通过交叉验证优化参数,确定XGBoost模型的booster参数为:树的最大深度(max-depth)为6,迭代次数(num-round)为150,收缩步长(eta)为0.3。

在一个例子中,总体负荷预测模型如下:L(t)=B(t)+W(

上式中,L(t)为t时刻的负荷,,B(t)为基本负荷量,W(t)为气象敏感负荷分量,S(t)为t时刻的特别事件负荷分量,V(t)为t时刻的随机负荷分量。

其中,在所述步骤S4之后进一步包括:

采用平均绝对误差、均方误差、均方根误差、平均绝对百分误差四种评价指标中至少一种对负荷预测模型进行评估,在评估达到预定的标准后,将所述负荷预测模型作为最终的负荷预测模型;

在一个例子中,为了更好地描述不同算法模型的预测性能,采用平均绝对误差(MAE)、均方误差(MSE)、均方根误差(RMSE)、平均绝对百分误差(MAPE)四种评价指标作为各种方法预测效果判断的根据。

一、MAE:平均绝对误差(Mean Absolute Error),公式如下:

其中,

其结果范围[0,+∞),当预测值与真实值完全吻合时等于0,即完美模型;误差越大,该值越大。

二、MSE:均方误差(Mean Square Error),公式如下:

其结构范围[0,+∞),当预测值与真实值完全吻合时等于0,即完美模型;误差越大,该值越大。

三、RMSE:均方根误差(Root Mean Square Error),其实就是MSE加了个根号,这样数量级上比较直观,比如RMSE=10,可以认为回归效果相比真实值平均相差10。其公式如下:

其结果范围[0,+∞),当预测值与真实值完全吻合时等于0,即完美模型;误差越大,该值越大。

四、MAPE:平均绝对百分比误差(Mean Absolute Percentage Error),其公式如下:

其结果范围[0,+∞),MAPE为0%表示完美模型,MAPE大于100%则表示劣质模型

而下表二示出了在本发明一个例子中,不同模型下负荷预测误差和模型训练时间比较:

表二 不同模型下负荷预测误差和模型训练时间比较

步骤S5,将当前待预测地区的天气数据输入至所述预测模型,获得未来一段时间内的电网负荷预测值。

在本发明的一个例子中,在对比实验中,分别采用XGBoost算法、随机森林算法、贝叶斯算法和KNN算法预测某地区某行业用户2020年6月1日到2020年12月31日连续6个月的负荷。经过预测结果分析,XGBoost模型和随机森林模型得到的电网负荷的预测值相比其他两种方法能够更好地拟合真实值的变化趋势,且能保证较高的精度,具有更好的预测性能(误差率可以达到2%以下)。XGBoost和随机森林均采用集成学习框架,将弱分类器增强成强分类器。XGBoost在迭代优化过程中使用了目标函数的二阶泰勒展开近似,以最快的速度收敛到全局最优,因此XGBoost精度更高。

本发明可以应用于诸如精密制造、信息技术、金融等行业的未来用电负荷进行预测,挖掘移峰填谷及参与电能替代的潜力,针对不同行业客户定制激励手段,形成多方共赢的良性电力柔性负荷需求响应运营模式,并精准制订负荷调控策略,真正做到利用客户侧资源解决供电缺口及“卡脖子”问题,降低客户侧用电成本,提高用电客户满意度;降低供电侧产输配电成本,提高供电质量,也为政府把握行业发展状况、制定行业发展战略提供数据基础。

如图2所示,示出了本发明提供的一种基于XGBoost算法的用电短期负荷波动预测系统一个实施例的结构示意图,一并结合图3和图4所示,在本实施例中,所述于XGBoost算法的用电短期负荷波动预测系统1包括:

历史数据收集单元10,用于对历史数据进行收集,所述历史数据至少包括过去预定时间内的气象数据、日期类型信息以及用电负荷信息;

在一个具体的例子中,所述历史数据收集单元10具体地用于:

从气象局或天气网站获取预定时间内的天气气象数据;从计量自动化系统获取预定时间内的预定测量点的计量负荷数据;从营销管理系统获取相应的用户档案、计量点信息、计量点电能表关系数据。

预处理单元11,用于对所述历史数据进行预处理,构造数据属性并形成建模数据;

XGBoost模型建立单元12,用于根据建模数据定义模型学习目标函数、回归树生成参数,构造用于负荷预测的XGBoost模型;

优选地,所述XGBoost模型建立单元12具体用于:

使用XGBoost工具包定义模型学习目标函数、回归树生成参数,构建XGBoost模型;其中,模型学习目标函数采用泊松回归(count:poisson)。

训练验证单元13,用于将建模数据按设定的比较划分为训练集和验证据集,对所述XGBoost模型进行训练学习和验证,并获得期望的XGBooster参数,形成预测模型;

预测单元14,用于将当前待预测地区的天气数据输入至所述预测模型,获得未来一段时间内的电网负荷预测值;

评估处理单元15,用于采用平均绝对误差、均方误差、均方根误差、平均绝对百分误差四种评价指标中至少一种对负荷预测模型进行评估,在评估达到预定的标准后,将所述负荷预测模型作为最终的负荷预测模型。

在一个例子中,所述预处理单元11进一步包括:

属性构建单元110,用于选取历史数据的历史小时负荷和温度观测数据,构造前一周同一时刻负荷、前一天同一时刻负荷、前24小时平均负荷三个属性;

建模数据确定单元111,用于在完成属性构造以后确定建模数据,其中,以干球温度、露点温度、一天中的小时、星期、是否为节假日、前一周同一时刻负荷、前一天同一时刻负荷、前24小时平均负荷作为输入变量,以第二天24个小时的电网负荷作为输出。

在一个例子中,所述训练验证单元13进一步包括:

划分处理单元130,用于在建模数据中,划分80%为训练集,划分20%作为验证集,对所述XGBoost模型进行训练和检验;

参数确定单元131,用于在训练和检验过程中,计算每次迭代的误差值确定最佳的迭代次数,并通过交叉验证优化参数,确定XGBoost模型的booster参数为:树的最大深度为6,迭代次数为150,收缩步长为0.3。

更多的细节,可以参考前述对图1的描述,在此不进行赘述。

实施本发明,具有如下的有益效果:

本发明提供一种基于XGBoost算法的用电短期负荷波动预测方法及系统,通过考虑综合气象因素和日期类型因素并结合gboost集成学习算法来实现短期电力负荷预测,最大程度的提升预测精准度,有效挖掘移峰填谷潜力。

本发明通过采用XGBoost集成学习框架,利用其并行运算速度快、精度高、灵活性强、鲁棒性好的特点,构建了干球温度、露点温度、一天中的小时、星期、是否为节假日、前一周同一时刻负荷、前一天同一时刻负荷、前24小时平均负荷因子为输入,未来一天24点电力负荷为输出的电网负荷预测模型。实验研究结果表明,该负荷预测模型预测结果能很好拟合实际负荷数据,平均百分误差在2%以下。相较于贝叶斯、KNN和随机森林方法,XGBoost负荷预测模型模型训练时间短等优势,具有较好的泛化性能且不易过拟合,且具有极好的准确率。

以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

相关技术
  • 一种基于XGBoost算法的用电短期负荷波动预测方法及系统
  • 一种基于XGBoost算法的大工业用电用户负荷预测方法
技术分类

06120113161598