水务一线 | XGBoost集成模型——灵活的边界流量计日流量预测方法
栏目导读
本期摘要
电磁流量计是基于电磁感应原理所制成的进行流量测量的专业仪器,可以对导电液体体积流量等进行精确测量。一般电磁流量计都有一圈磁线圈,当导电流体通过流量计的腔体时,会切割磁感线产生磁感应强度,将其转换为电流,并最终转换为流量数字。在整个过程中,必须保证磁感应强度保持相对稳定,但是在实际应用中,电磁流量会收到外部因素和内部导电流体的干扰,导致计量失准。
采用XGBoost集成模型构建边界流量计流量预测模型,可以在修正流量计非正常工作状态下计量的水量,提高工作成效。
一 回归建模
1 XGBoost集成模型
XGBoost(eXtreme Gradient Boosting),是传统boosting方法的一种极好实现,基本原理是把数千个精度较低的树模型组合成一个精度较高的模型。
XGBoost的基学习器既有树(gbtree)又有线性分类器(gblinear),从而得到带L1+L2惩罚的线性回归或逻辑回归,其损失函数采用二阶泰勒展开,具有高准确度、不易过拟合、可扩展性等特点,能分布式处理高维稀疏特征。
XGBoost算法基本原理的特性,对数据波动较大、受外界影响较大、特征因子较多的数据集有很好的适用性,能够在水务行业边界流量计流量预测中取得较好的应用效果。
2 评价标准
平均绝对值误差(mean absolute error),如式(1)。
(1)
平均相对误差(mean relative error),如式(2)。
其中:nsamples——样本数量;
yi——真实值;
预测值。
二 离散型变量数值型转化
在使用Python进行数据分析时,会遇到多种多样的数据类型。如水量、气温等数值型的特征变量,还会遇到天气变化、季节气候等离散型变量。
对于离散型的变量,必须进行数值化处理之后才能进行计算,一般的离散型变量数值型转化有2种方法。
(1)one-hot编码,又称“独热编码”
基本原理是用N位状态寄存器编码N个状态,每个状态都有独立的寄存器位,且这些寄存器位中只有1位有效,简单数就是每1列特征的每1个独立的值只能有一个状态。
(2)label编码
利用pandas计算包中的categoricals数据类型对离散新数据进行处理。Categorical类型的数据可以具有特定的顺序,如:按程度来设定,“强烈同意”与“同意”、“首次观察”与“二次观察”。通过label编码,将离散型变量数值化。
三 边界流量计流量预测模型
1 数据描述
原始的流量计水量数据只有供水日期这1个特征,单一的特征会造成预测模型欠拟合。因此,需进一步考察挖掘影响流量计水量计量的多方面特征,同时将日期信息细化,并进一步挖掘相关流量计、相关压力计和相关区域水量特征,衍生出一系列影响供水量的特征,结合这些特征因子和实际供水量训练流量计流量预测模型。
通过Pearson相关系数法计算得到各特征与水量之间的相关性,并通过相关较高的数值型变量进一步挖掘得到取对数、开根号、求E及多项式这4个特征值。
2 直接预测法
直接预测法是指直接以流量计正常工作状态下的日水量数据为基础,结合扩展特征进行预测。
以某公司某DN1000流量计2017年1月1日—2019年2月14日共775条数据为例,此流量计上游离某大型水厂的出水管较近,并受附近1个泵站的影响,干扰较大。通过Pearson相关系数法计算得到各特征的相关性。其中,数字越大,表明与流量计水量的相关性越大,最终取≥0.15的特征进行最终运算。
对相关性最高的沪太路DN500进行取对数和开根号处理,得到
和log10沪太路DN500。选取相关性较高的沪太路DN500、泰和水厂和汶水泵站(进站压力)3个特征,进行多项式运算得式(3)。
深度挖掘构造的3个特征通过Pearson相关系数法计算后得到较好的相关性。
将整体数据划分为测试集和训练集,使用XGBoost集成模型建立某DN1000流量计日水量预测模型,模型在测试集上的平均绝对误差(MAE)为8 276 t、平均相对误差(MRE)为2.7%。
3 倒推计算法
倒推预测法是通过此流量计所在供水区域的日水量预测,倒推出此流量计的日水量。与直接预测法相比,倒推预测法的优势在于,当无法取得流量计正常工作状态下的日水量进行模型运算时,可以通过间接的倒推法避开直接运算流量计水量,利用总水量减去剩余水量得到目标流量计预测水量。
以上海市城投水务(集团)有限公司供水分公司某DN1200流量计为例,利用倒推法进行预测,使用此流量计所在供水区域2017年1月1日—2018年9月30日共638条日水量数据。
通过Pearson相关系数法计算得到各特征的相关性。其中,数字越大,表明与水量的相关性越大,取≥0.15的特征进行最终运算,得到区域总日供水量的26个特征和区域剩余日供水量的27个特征。
将整体数据划分为测试集和训练集,使用XGBoost集成模型建立水量预测模型,模型在测试集上:总供水量的平均绝对误差(MAE)为3 365 t、平均相对误差(MRE)为1.5%;剩余供水量的平均绝对误差(MAE)为4 314 t、平均相对误差(MRE)为2.1%。验证结果表明,XGBoost总供水量预测模型和剩余供水量预测模型的平均相对偏差为1.8%,总日供水量和剩余日供水量预测模型的精度满足计算要求,因此,二者相减的结果可以用于流量计日流量的预测。
四 结语
XGBoost集成模型作为机器学习领域里重要的模型之一,通过集成若干个学习器,构造一个学习能力较强的学习器,不仅能很好地拟合训练集,还能在测试集上有很好的表现。将XGBoost集成模型引入边界流量计日流量预测中,非常符合边界流量计数据波动较大、受外界影响较大、特征因子较多的特点。最终取得的模型精度较高,有较好的泛化能力,并通过直接预测法和倒推预测法相结合的方式,可应对多种情况;灵活性较高,可应用于实际工作中,修正流量计非正常工作状态下计量的水量,有效解决相关供水区域之间产生的水量误差。
更多信息
作者简介