胡慧,宋传洲,2,高宇,王敏,赵小锋,万仁委
(1.海军航空大学,烟台 264000;2.烟台警备区,烟台 264000;3.深圳信息职业技术学院保卫处,深圳 518000)
航材消耗预测研究是航材研究的重要内容之一,为后续的航材管理、订购、运输、维修保障,乃至新产品研发提供重要参考[1]。航材预测往往是在对航材进行分类或品种确定后,根据具体情况以类别或不同品种选择不同的算法构建预测模型,在以往的航材消耗预测研究中预测模型的成果比较丰富,可简单分为按照时间序列、依靠数据统计规律、机器学习算法等三类[2]的思路构建模型。
按照时间序列的研究方法有指数平滑预测模型[3]、ARMA预测模型[4]、移动平均预测模型、粗糙集理论[5]、Croston预测模型[6]、灰色系统预测模型[7]、Bootstrap法[8]等以及他们的改进算法。如果能够统计获得比较真实的故障数据或航材消耗数据,可运用统计学方法在研究航材的故障率、可靠性和寿命曲线规律的同时,对其进行需求预测。机器学习算法具有智能、灵活且运算效率高的特点,在解决时间序列和数理统计两类算法不足上有许多优势,常用的机器学习算法主要有SVM[9]、神经网络[10]、随机森林[11]、GBDT等及其改进算法。
此外,这些算法都可以组合起来进行预测,比如,王宁等[12]采用ARIMA-BP-CNN-LSTM组合方法进行预测,将ARIMA线性和BP的非线性拟合相结合,对备件的预测较好。李文强[13]等在对无人机的航材备件进行需求预测时,主要采用偏最小二乘回归,结合了PCA、相关性分析、多元线性回归等方法提取多种因素特征进行预测,结果准确率较高。值得强调的是,在解决不同消耗类型的航材时,每种方法有其适合的范围,比如Ghobbar等[14]曾采用单指数平滑、Croston 、ARMA等及其改进算法共13 种方法对不同消耗类型的航材进行了研究,得出 Croston 方法对间歇型数据特征的航材预测效果突出。李佩琦[11]将随机森林和GBDT算法组合使用,研究多因素影响下的机电设备备件的消耗预测也获得非常好的效果。考虑影响航材消耗的多因素、准确率、模型运算效率等问题,本文采用机器学习随机森林算法就航材月消耗的时间序列进行建模,先提取包含飞机起落架次、飞行时间、人员因素、平均温度、平均湿度等6个影响因素特征,建立多种因素影响的月消耗航材预测模型,将结果与实际值和GBDT、SVM等算法模型相比较,较好的预测消耗充分说明该随机森林模型的科学性和高效性,并为下一步的航材精准化保障决策提供参考。
随机森林[15](Random Forest RF),是以Bagging为逻辑基础的Tree族集成算法,其决策树间只存在弱依赖甚至无关联,权值相同,可同时生成并行化。这不同于以Boosting为基础的树族算法,单棵Tree间存有强依赖,每棵树权重不同,必须串行生成序列,每个权值的获得来自上一轮迭代的结论,比如GBDT算法。RF模型训练过程如图1所示,对决策树并行拟合且引入随机特征选择,最后进行投票,得到结果。Tree族算法的分类基础的一部分就是特征集合,特征的优劣很大程度上影响模型分类或预测的效果,因此特征选择意义重大。本文主要使用RF算法分别对品种确定和消耗预测的特征进行重要性度量和最后模型间仿真效果的比对。RF基本原理如下:
图1 随机森林原理示意图
Step1:Bootstrap法抽样。设数据集di= {xi1,xi2,… ,xim},i∈ [ 1 ,N],m∈ [1 ,M],xi表示有N个样本数据,m表示每个样本的特征数,对N实施抽取n个(n≤N)有放回抽样K次,共抽取K组样本集合。
Step2:随机生成树。K组集合将随机生成K棵对应的决策树,同时生成K个袋外数据(每次未被抽到的样本组成袋外数据)。
Step3:选出最优分裂特征。训练模型时,每棵决策树每个节点进行分裂,从所有输入的M个特征中随机抽出m个特征,从m个特征中选出最优特征作为分裂特征,保持m恒定并以分类器hj(x)记录每一棵完整生长的树,形成森林,其公式表达为H(x) = {h1(M),h2(M) ,… ,hj(M) ,yi=Y},j∈ [1 ,K],其中Y为输出变量,也叫判别标签,设yi=c显然c≥2,j表示第j个分类器;。一般使用CART算法基尼指数来作为确定最优特征的标度,Pi表示为第i个类别样本占所有样本的比例,以特征A将样本N分成L各部分,其公式为:
Step4:做出决策。训练T次,使组合模型公式:
其中,φ(x)是示性函数。当输入新的样本,利用森林H(x)中每一棵Tree(每一个分类器hj(x))进行判断,最终以φ(x)做出决策。
随机森林可以用袋外数据(OOB)或基尼指数错误率两种指标评价衡量特征的重要性。本文区别于Boosting的特征重要性评价方法,使用随机森林的OOB错误率来衡量。其具体原理为:
Step1:计算K组每棵Tree的OOB错误率,记作ρ0:Error01 ,Error02,Error03 …Error0k;
Step2:对K组OOB第i组特征进行重排列(其它特征保持不变),再次计算每棵Tree的误差值,记作ρi:Errori1,Errori2 ,Errori3 …Errorik;
Step3:各特征重要性公式:
Step4:对特征重要性进行排序。
1)分析影响航材消耗的因素,提取特征,建立特征指标体系。
2)统计收集处理与航材消耗相关的历史数据,对特征赋值取值,对特征进行重要性排序。
3)划分样本集,标记训练集和测试集,创建基于RF算法消耗数量预测模型。
4)将预测结果对比实际消耗值,并且比析GBDT、SVM等模型的预测结果。
现有n种航材,分别记作N{N1,N2,N3…Nn},从这些航材中选出某航材,记作N,作为本文研究对象,选取对其月度消耗量有影响的6种特征[16]指标,其特征值记作K{K1,K2,K3,K4,K5,K6},预测值记作X。其特征简要说明如表1所示,其部分数据取月度单机消耗量,取值列表如表2所示。
对提取的影响航材月消耗的6个特征进行重要性量化列表,如表3所示。
1)根据重要性取值的排序可知月飞行时间是最重要的特征,该特征可直接反映飞机的工作量,进而在一定程度上反映部分航材的使用时间。
图2 RF消耗预测模型构建流程
表1 影响特征
表2 部分数据列表
表3 特征重要性排序
图3 模型预测结果对比图
2)温度和湿度这两个特征分别排在第二、三位,说明该特征对所选航材的消耗有很大影响。这与温度过高将减少部分元器件使用寿命有关。
3)特殊任务占比这一特征排名靠后,是因为特殊任务每月执行的次数和种类相对一致,取值相对稳定,故对消耗数量影响较少。
将数据和特征量输入模型,调试运行后得到随机森林、GBDT、Adaboost、SVM模型预测结果和实际值对比,如图3所示,分别使用MSE、SSE、RMSE、MAE评价取值来对预测值进行计算得到表4结果。
由图3和表4可知,使用随机森林模型进行数量预测的结果相比其他预测模型误差较低、效果最好。
本文充分考虑影响航材消耗的主要因素,提取特征后,对特征进行重要性排序并分析,采用随机森林算法研究航材消耗数量和影响因素之间的非线性关系,实例验证表明在考虑多因素影响航材消耗预测时,随机森林算法有其科学性和高效性。尽管如此,本文提取的影响特征数量仍不够全面,预测数据量还不够多,若在之后的研究中可提取更多的特征同更多的数据进行训练,机器学习模型将更加准确。
表4 消耗预测不同算法预测结果评价