基于PSO-XGBoost的煤自燃程度预测研究

时间:2023-10-07 12:15:05 来源:网友投稿

周 旭,朱 毅,张九零,秦思佳,王艺博

(1.华北理工大学 矿业工程学院,河北 唐山 063210;

2.华北理工大学 以升创新教育基地,河北 唐山 063210)

矿井火灾严重威胁煤矿的开采与生产,在煤炭生产过程中,矿井火灾会造成大量的人员伤亡,经济损失,环境污染等问题[1-3],煤自燃火灾占矿井火灾的90%以上,因此,提高煤自燃预测精度是实现火灾预警和矿山安全生产的前提[4-5]。

煤自燃指标气体是煤自燃预警的主要依据,国内外研究学者将煤自燃过程中产生的气体与煤温的关联关系构建数学模型,在煤自燃预测预报方面做了大量工作[1]。梁运涛[6]通过研究煤自然发火的温度与氧浓度的变化,基于多孔介质渗流力学和传热传质学理论,建立了煤自燃过程的数学模型;
WANG E等[7]分析了煤自燃反应中的各元素反应顺序,确定了自热、自燃过程的主次关系,揭示出煤转化的自由基结构;
王德明等[8]挖掘煤自燃过程中的13个基元反应及其反应顺序和继发性关系,揭示了煤氧化动力学过程,提出了煤氧化动力学理论;
HU Xincheng等[9]通过分析上部隧道瓦斯指数系列混沌特征,提出了一种有效的煤自燃风险预测方法;
秦波涛等[10]利用程序升温氧化实验,获取指标气体,通过分析指标气体与温度的关联关系构建预警机制;
郑学召等[11]基于随机森林算法构建了煤自燃温度预测模型,并将其与粒子群优化的神经网络模型,SVM模型进行比较分析,指出RF模型对煤自燃温度预测具有较高的精准度;
邓军等[12]基于PSO-SVM算法构建了煤自燃预测模型,并将其与不同的模型性能进行了对比分析,表明优化后的PSO-SVM模型预测精度大幅度提高。XGBoost算法提出后,在诸多领域得到广泛的应用[13-17],TRIZOGLOU Pavlos等[16]利用XGBoost模型对海上风电设备进行故障预测,并将其与深度学习神经网络进行了比较,表明XGBoost模型在预测准确性、训练时间上优于长短期记忆网络(LSTM);
HAO Mo等[17]分别利用XGBoost模型与Logistic模型对居住者窗口行为进行预测,表明XGBoost在对居住者窗口行为及其他行为类型的建模方面比Logistic回归分析具有明显的优势。

基于此,采用XGBoost模型进行煤自燃温度预测研究,并利用粒子群优化算法对XGBoost模型的随机采样率和最小叶子节点样本权重进行优化,建立PSO-XGBoost回归预测模型,以实现对煤自燃温度的准确预测,为矿井煤自燃预测预警提供新的方法。

1.1 XGBoost算法

XGBoost是基于GBRT的一种高效改进的算法,其兼具线性规模求解器和树学习算法。相较于传统的Boosting库,XGBoost算法对损失函数进行二阶泰勒展开,并且引入了L1和L2两个正则化项以求整体最优解,以此来衡量目标函数的下降,以及模型整体的复杂程度,有效地提高了模型的泛化能力[18-19]。

假设对于给定数据集:D={(xi,yi):i=1,2,…,m,xi∈Rp,yi∈R}由p个特征组成,共m个样本。假设给定k(k=1,2,…,K)棵回归树,F为回归树的集合空间,则模型可表示为:

(1)

目标函数为:

(2)

为防止出现过拟合现象,在XGBoost模型中加入正则项Ω(fk)。XGBoost使用梯度提升法迭代运算,在每次迭代过程中,将一个新的回归树添加到模型中,则第t次迭代运算结果为:

(3)

将式(3)代入式(2),得到第t次迭代的目标函数Obj(t):

(4)

将目标函数做二阶泰勒展开,并加入正则项Ω(fk):

(5)

式中:T和ω分别为树叶子节点数目和叶子权重值;
γ为叶子树惩罚系数;
λ为叶子权重惩罚系数。

1.2 粒子群优化算法

在粒子群优化算法中,每个解对应搜索空间的一个粒子,每个粒子是一个个体,由一个位置矢量和一个速度矢量组成[20-21]。假设在一个D维的搜索空间中,由m个粒子组成的种群,粒子在运动中产生的最优位置(pbest)记为:

pi=(pi1,pi2,…,piD),i=1,2,…,m

(6)

式中:m为粒子的个数;
D为粒子的维数。

第i个粒子的D维位置矢量记为xi=(xi1,xi2,…,xiD),第i个粒子的速度矢量记为:vi=(vi1,vi2,…,viD),此二者分别决定了第i个粒子飞行的位置和方向;
pg=(pg1,pg2,…,pgD)为整个粒子群历史搜索到的最优位置(gbest),其中g为粒子编号,g∈{1,2,…,m}。粒子群优化算法首先初始化粒子群,计算出每个粒子的适应值,通过迭代搜索最优解。在每次迭代中,粒子通过个体极值和全局极值来更新自身的速度和位置,更新公式如下:

(7)

式中:k为迭代次数;
ω为惯性权重;
r1、r2为[0, 1]内的随机数;
c1、c2为学习因子,也称为加速因子。

1.3 PSO-XGBoost模型构建

基于XGBoost原理与PSO算法理论,构建PSO优化XGBoost参数的煤自燃温度预测模型,流程如下:

1)数据预处理,删除数据集中的缺失值,将其做标准化处理;

2)将“实验温度”作为输出特征,其余特征作为输入;将数据集的70%作为训练集,30%作为测试集;

3)初始化粒子及其速度,将随机采样率(subsample)与最小叶子节点样本权重(min_child_weight)设为代求参数,将模型拟合的决定系数R2作为适应度函数值,根据适应度函数值初始化粒子全局最优值与个体最优值;

4)根据式(7)更新粒子速度与位置,计算其适应度值,更新个体最优值与全局最优值;

5)判断是否满足终止条件,若不满足则继续更新个体最优值与全局最优值;
若满足则输出最优参数(subsample,min_child_weight);

6)选取最优参数组合(subsample,min_child_weight),构建参数优化的XGBoost回归模型。

具体流程图如图1所示。

图1 煤自燃预测模型流程图

2.1 数据来源

选取文献[1]中东滩矿煤样煤自燃实验获取的337组数据进行分析,选取O2体积分数、CO体积分数、C2H4体积分数,以及CO体积分数与剩余O2体积分数的比值、C2H4体积分数与C2H6体积分数的比值作为指标。部分实验样本数据如表1所示。

表1 部分实验样本数据

2.2 模型评估指标

为了检验模型精确度,利用平均绝对误差(MAE),平均绝对百分比误差(MAPE)和均方根误差(RMSE)对模型进行评估。

MAE为模型预测绝对误差的期望值,MAE的值越小,说明模型对于描述整体实验数据具有更好的精确度,即模型更稳定。其计算公式如下:

(8)

式中N为样本个数。

MAPE指所有单个观测值与算术平均值的偏差的绝对值的平均值,其结果用百分数表示以更加直观。MAPE越小,说明预测值与实际值偏差的期望越小,即模型更精确。其计算公式如下:

(9)

RMSE是预测值与真实值偏差的平方与样本个数N比值的平方根,用以衡量预测值与真实值之间的偏差。RMSE值越小,说明模型对数据预测准确度越高。其计算公式如下:

(10)

2.3 PSO-XGBoost模型的应用

删除原始数据中的缺失值并对其进行标准化处理,以消除数据间由于指标单位不同而存在的差异。其计算公式如下:

(11)

将数据按照70%与30%的比例随机划分为训练集与测试集。其中将训练集导入XGBoost框架下的XGBRegressor函数中进行训练,测试集用于验证模型泛化能力,检验模型预测效果。

XGBoost模型的参数主要包括:回归树数量、回归树最大深度、学习率、回归树随机采样率、回归树最小叶子节点样本权重和回归树特征采样率,以及L1、L2正则化权重。根据预测指标,结合粒子群搜索方法逐步调整模型参数,过程如下:

1) 调整回归树数量(n_estimators)与回归树最大深度(max_depth),分别从[100,600],[3,10]取值计算测试集误差指标MAPE。

回归树数量和最大深度对MAPE的影响如图2所示。由图2可知:随着回归树的数量增长,其平均绝对百分比误差在树的数量为400时达到最小值,且随着回归树的数量上升,MAPE无明显变化;
对于回归树的最大深度,当其等于10时误差最小,模型精度最高。调整学习率,调整区间为[0.05,0.1]。当学习率为0.1时,误差最小,MAPE=0.096%。

(a)MAPE—回归树数量曲线

2) 调整回归树随机采样率(subsample)与回归树最小叶子节点样本权重(min_child_weight)。调整区间均为[0.7,1.0]。XGBoost参数变化对MAPE影响如图3所示。

图3 XGBoost参数变化对MAPE的影响

MAPE随回归树随机采样率、最小叶子节点样本权重的变化关系较为复杂,因此采用粒子群对其进行参数调优。结合上文分析,PSO对XGBoost的2个参数寻优结果为:subsample =0.95;
min_child_weight =0.998。PSO迭代过程如图4所示,当迭代次数达到100次时,拟合率达到0.941 3。

图4 PSO迭代过程

3) 调整回归树特征采样率(colsampe_bytree)及L1、L2正则化权重,调整区间分别为[0,1]与[0,7]。当colsampe_bytree=1,reg_alpha=1,reg_lambda =1时误差最小,MAPE=0.072%。

经过上述参数调整,使得模型最终对训练集的MAPE=0.072%,对测试集预测的平均绝对误差MAE=11.675;
平均绝对百分比误差MAPE=6.86%;
均方根误差RMSE=27.443。

为进一步了解各变量对煤自燃温度的影响程度,将各变量在所有树中出现的次数之和作为样本各变量的特征重要性,绘制特征重要性图,如图5所示。

图5 样本变量重要性

由图5可以看出,O2、CO体积分数对煤温度变化的影响较大,而C2H4与C2H6的体积分数比值对煤温的影响较小。

2.4 不同方法预测结果比较

在测试集上,分别应用PSO-XGBoost、RF、GBRT及XGBoost模型进行预测,并将其结果进行对比分析。其中,随机森林模型的叶子大小设置为5,树的棵树设置为70,此时误差达到最小值。GBRT参数分别设置为:最大迭代次数n_estimators=100,学习率learning_rate=0.1,回归树随机采样率subsample=1。XGBoost模型,在未对其进行参数调节时,其初始参数分别为:n_estimators=300,回归树的最大深度max_depth=5,学习率learning_rate=0.1,回归树随机采样率subsample=1,最小叶子节点样本权重和min_child_weight=1,回归树特征采样率colsampe_bytree=1。

上述3种模型与PSO-XGBoost模型预测结果对比情况如表2所示。

表2 各类模型对比

分析表2可知:对于训练集,XGBoost模型相对于RF与GBRT模型拟合的误差更小,说明其训练效果更佳;
对于测试集,XGBoost模型的测试误差稍小于RF与GBRT模型,但相比于训练集的误差,可反映出其陷入过拟合状态。而PSO-XGBoost模型在经过参数优化过后,其对于训练集与测试集的预测效果均有较明显的提升。相比于传统XGBoost模型,在经过PSO优化参数后的XGBoost模型对于本文测试集预测的平均绝对误差MAE降低了6.28%,平均绝对百分比误差MAPE降低了9.67%,均方根误差RMSE降低了2.73%。

1)结合PSO优化算法与XGBoost算法,提出能应用于煤自燃预测的PSO-XGBoost模型。

2)采用PSO优化算法对XGBoost的参数进行优化,选取最优参数组合,结果表明,PSO-XGBoost模型相较于XGBoost具有更好的预测精度。

3)为了验证PSO-XGBoost模型的准确性,将PSO-XGBoost、XGBoost、RF与GBRT模型应用于煤自燃预测,结果显示,PSO-XGBoost模型在精度和鲁棒性方面明显优于其他3种模型,该模型为矿井煤自燃预测预警提供了新的方法。

猜你喜欢权重粒子分数权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*心理学报(2022年5期)2022-05-16碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭昆明医科大学学报(2022年1期)2022-02-28分数的脚步数学小灵通·3-4年级(2021年6期)2021-07-16分数的由来小学生学习指导(高年级)(2021年4期)2021-04-29无限循环小数化为分数的反思中学生数理化·七年级数学人教版(2020年11期)2020-12-14权重常思“浮名轻”当代陕西(2020年17期)2020-10-28基于膜计算粒子群优化的FastSLAM算法改进**大学学报(自然科学版)(中英文)(2020年2期)2020-07-25Conduit necrosis following esophagectomy:An up-to-date literature reviewWorld Journal of Gastrointestinal Surgery(2019年3期)2019-04-24可怕的分数趣味(数学)(2019年12期)2019-04-13为党督政勤履职 代民行权重担当人大建设(2018年5期)2018-08-16

推荐访问:自燃 程度 预测