XGBoost算法在制造业质量预测中的应用
2018-01-15蒋晋文刘伟光
蒋晋文+刘伟光
摘要: 关键词: 中图分类号: 文献标志码: A文章编号: 2095-2163(2017)06-0058-03
Abstract: Manufacturing industry is a highly integrated information and industrialization industry. Every link of the manufacturing process accumulates a lot of data. In the process of detecting the products quality, when finding poor quality products, it is usually late to fix. Realizing data mining for production information, predicting product quality by machine production parameters could master the results of the production in a timely and comprehensive way, therefore make corresponding decisions based on preknow results to effectively improve product quality. XGBoost algorithm is an efficient and accurate regression algorithm. In this paper, XGBoost algorithm is applied to the manufacturing quality prediction, so as to achieve the purpose of accurately predicting the product quality and provide an effective method for manufacturing product quality prediction.
0引言
制造业产业是一个信息化和工业化高度融合的产业。《中国制造2025》提出了用信息化和工业化两化深度融合来引领和带动整个制造业的发展,让制造业向工业4.0转变[1]。制造业的生产过程一般包含选材、加工、产品质量检测等多个环节,在生产过程的每一个环节都会累积大量的数据。这些数据通常反映了制造业的生产过程。通过数据挖掘方法来分析生产过程的数据,有利于更好地发现生产过程的异常,增强产品的质量控制,对于优化生产,提高产能有着至关重要的研发意义。通过准确预测产品的质量可以达到生产结果即时性以及全面性。并且基于预先知道的结果做出应对决策可以有效提高产品的质量。因此,国内外学者将统计和机器学习方法用于制造业质量预测的研究中,以期提高产品的良品率。
赵旭等[2]提出了一种多变量统计质量控制方法来减小由于过程扰动引起的产品质量变化。与传统的PID质量控制方法相比,所提出的方法能减小由过程扰动引起的质量变化。胡胜[3]等提出了基于遗传算法和支持向量机的多元质量过程均值异常诊断方法,实现了多元制造过程异常变量的定位和分离,弥补了传统的多元过程技术只能诊断过程的整体状态,不能对异常变量进行分离和定位的缺陷。Zheng[4]分别采用贝叶斯网络算法和MapReduce框架,以船體分段制造为研究对象,精准预测了船体分段的精度。朱慧明[5]提出了贝叶斯质量控制方法,应用基于Gibbs抽样的马尔可夫链蒙特卡罗方法模拟模型参数的后验分布,构建了自相关过程的贝叶斯统计质量控制模型,使得拟合后的残差序列具有相互独立性质,解决了工序质量控制中自相关过程的观测值并不满足控制变量独立性的基本假设问题。
XGBoost[5] 的全称是eXtreme Gradient Boosting,是一种基于梯度Boosting的集成学习算法,XGBoost算法是梯度提升机器算法(Gradient Boosting Machine)的实现,采用CPU多线程进行并行计算,具有高准确度和可扩展性的特点,被广泛用于商业销售预测[6]、网络舆情预测[7]、电子商务商品推荐[8]等方面。本文将XGBoost算法应用到制造业质量预测中,挖掘生产过程中产生的数据信息,建立回归预测模型,从而精确地根据机器生产参数预测出产品的质量。结果表明,XGBoost与传统的数据挖掘算法相比,具有准确度高,可扩展的优势。
1数据描述
本文所使用的数据来自阿里巴巴众智任务大数据竞赛公开数据集。制造业的生产过程中积累了大量的数据,在选材环节记录中包括每个批次原材料供应商、等级等属性信息作为输入数据;加工环节记录中包括产品批次核心指标(如温度、湿度)随着时间变化的值;产品质量检测环节记录中包括每个产品批次的关键质量指标值。
1.1特征选择
输入数据分为工艺上可调整的参数列表(draft_data)、工艺上不可调整的参数列表(param_data)和时序状态监控指标表(param_data_timevarying)。其中,product_no为产品批次的编号,key_index为相应产品批次的质量指标值,取值范围为[0,1]。由于原始数据无法直接建模,需要对数据表开展性征工程设计。针对数值型和类别型数据,采用ont-hot encode编码;对于缺失值,采用均值进行填充。时序型数据根据时间将加工进度划分成5个阶段,提取加工进度每个阶段对应的温度、线速度等的最大值、最小值、平均数、众数、方差的统计量。另外,也要提取加工进度50%时的参数统计量。
研究中,针对特定产品批次下,产品加工到100%的过程中,温度、转速、流量等参数在加工的阶段中值的变化情况,可得效果绘制呈现如图1所示。参数值的变化直接影响产品批次的质量。endprint
1.2异常值处理
异常值通常会影响建模和预测的结果[9]。需要对数据中存在的异常值进行处理。在时序状态监控表中,加工环节中张力指标随着时间变化产生了小部分的数据,并且这些数据都是间断产生的,可能对产品的质量造成一定的影响,此类参数对建模并无明确参考价值,因此剔除张力指标值。
2回归建模
2.1XGBoost算法
Boosting算法是数据挖掘领域比较流行有效的集成学习算法,通过将各个弱分类器加权叠加形成强分类器,从而有效降低误差,达到准确的分类效果。Gradient Boosting[10]是在Boosting[11]基础上的成果改进,算法思想是不断地降低残差,使先前的模型的残差在梯度方向上进一步降低,从而得到新的模型。XGboost[12]是Gradient Boosting算法的改进版本,XGBoost对损失函数生成二阶泰勒展开,并在损失函数之外对正则项求得最优解,充分利用多核CPU的并行计算优势,提高了精度和速度。算法步骤可表述如下:
参考文献:
[1]李涵. 论德国工业4.0对中国制造2025标准化工作的启发[C]//第十四届中国标准化论坛论文集. 北京:中国标准化协会,2017:8.
[2] 赵旭,阎威武,邵惠鹤. 基于多变量统计方法的产品质量控制[J]. 上海交通大学学报,2007(1):126-130.
[3] ZHENG Maokuan, MING Xinguo, ZHANG Xianyu, et al. Map Reduce based parallel bayesian network for manufacturing quality control[J]. Chinese Journal of Mechanical Engineering, 2017, 30(5):1216-1226.
[4] 朱慧明,赵锐. 基于自相关过程的贝叶斯质量控制模型研究[J]. 计算机集成制造系统,2008,14(3):615-618,624.
[5] FRIEDMAN J H. Greedy function approximation: A gradient boosting machine[J]. Annals of statistics, 2001, 29(5): 1189-1232.
[6] 葉倩怡,饶泓,姬名书. 基于Xgboost的商业销售预测[J]. 南昌大学学报(理科版),2017,41(3):275-281.
[7] 黄艳莹. 基于EMD-XGBoost-AR模型的网络舆情预测研究[D]. 广州:广东工业大学,2017.
[8] 张昊,纪宏超,张红宇. XGBoost算法在电子商务商品推荐中的应用[J]. 物联网技术,2017,7(2):102-104.
[9] 张德然. 统计数据中异常值的检验方法[J]. 统计研究,2003(5):53-55.
[10]王兵. AdaBoost 分类算法的数学分析[J]. 软件,2014,35(3):96-97,100.
[11]CHEN Tianqi, HE Tong, BENESTY M, et al. xgboost: Extreme gradient Bosting[EB/OL]. [2017-01-05]. http: //github.com/dmlc/xgboost.
[12]LIAW A, WIENER M. Classification and regression by randomForest[J]. R news, 2002, 2(3): 18-22.
[13]BONNER M O, PIGNATO P A, JAHNS S E, et al. Methods and apparatus for accessing and stabilizing an area of the heart: U.S., 6837848[P]. 2005-01-04.endprint