谷雨轩,徐常凯,倪 彬
(空军勤务学院航材四站系,江苏 徐州 221000)
航材的消耗预测是航材保障工作中非常重要的一个部分,寻求经济性和效益性的平衡是航材保障的根本目标。目前航材消耗预测通常依靠业务人员的经验积累,但是由于经验积累周期长,岗位流动性大、任务复杂多变,航材消耗往往难以准确预测。美军在进行备件预测时使用备件需求均值和方差均值比预测方法,形成了一系列经验预测模型,并运用自动控制、人工智能等设备一定程度上解决了航材备件不能及时供应的问题。国内许多航空公司也已经越来越重视航材备件的科学预测,由于航材数据的特殊性和复杂性,难以找到行之有效的预测模型。准确的预测既可以满足飞行保障任务又可以有效解决库存积压的问题,同时减轻业务人员的精力消耗。因此,航材消耗预测模型研究具有实际意义。
由于航材消耗数据的特殊性,预测通常基于历史消耗数据开展,传统的航材消耗预测方法有ARMA 预测法、指数平滑法和灰色模型预测法及其改进方法,但是影响航材消耗预测准确性的因素众多,传统建模难以达到理想效果。随着机器学习研究的不断深入,国内外航材消耗预测方法也不断发展,神经网络、随机森林和支持向量机等方法也逐步应用。文献[1]采用人工免疫算法在参数选择上对支持向量机进行优化,提高了航材消耗预测模型精度和适用性,然而只针对消耗数据进行分析没有考虑其他因素的影响。文献[2]在特征选择的基础上用随机森林算法进行航材消耗预测,具有一定的实用性,在特征数量、预测数据量上还有优化空间。文献[3]针对新机历史消耗数据少的问题,在采用B样条模拟仿真的基础上建立BP 神经网络预测模型。本文提出一种全过程优化的支持向量机航材消耗预测模型,主要解决以下问题:航材消耗影响因素的筛选还存在采用主观性较强的选择方法的情况;对于航材消耗预测的输入特征集的优化方法还存在一定的局限性;由于不同类型航材的消耗预测模型有差异,在选取SVM 核函数的过程中缺少论证过程。
全过程优化的思想即对于支持向量机模型从影响因素选择、输入数据集分类优化、核函数选择与优化、参数组合优化等方面进行调控和优化,达到提高精确度和实际需要的目的。
在数据处理阶段对基础数据进行标准化处理,再用LASSO 回归对主要影响变量进行筛选,达到精简样本集的目的,然后通过K-means 聚类算法对样本数据进行分类优化,将原始样本分成相关性较强的几部分。模型建立阶段,对不同类的数据分别进行SVM 预测,通过核函数的选择和参数优化建立预测模型。具体流程如图1 所示。
图1 考虑全过程优化的具体流程
影响因素选择方面,LASSO 算法在变量选取方面的效果优于逐步回归、岭回归等,能较好地克服传统方法在模型选取上的不足,在处理影响因素较多的航材消耗数据时效果较好。
数据集分类优化方面,K-means 聚类算法具有过程简单、运算速度快的特点,针对样本航材消耗数据本身的相似性进行分类。
模型选择方面,支持向量机的优势主要体现在解决它通过引入核函数,很好地解决了非线性的航材消耗数据处理问题。
航材消耗的影响因素复杂繁多。主要考虑的影响因素有航材固有因素:不同器材的故障率,航材修复率,平均修理周期等也不同,因此,消耗规律也有很大差异;
航材类别因素:按是否可修将航材分为可修件和消耗件,不同种类器材的价格和性质不同;
历史消耗因素:历史数据是进行航材预测实际业务的重要参考依据之一;
任务因素:不同任务下对器材的消耗有差异。如在执行轮战、演习、转场驻训时对器材的需求不同,保障对象飞机的机型和架数情况以及飞行起落架次、飞行小时不同导致总体任务量不同;
环境因素:机场所处的海拔和盐度湿度也是影响航材消耗的重要因素。
现从航材业务实际角度考虑,确定X1~X15 共15 项因素,各项因素名称、编号和因素类别如表1所示。
表1 影响因素指标编号及类别
数值型因素可以通过数据收集和计算获取对应指标值,属性类因素则需要量化赋值。
对于航材类别因素X5~X7 赋值定义,若器材符合对应类别则定义为1,不符合则定义为0。
任务因素中的X14 保障对象根据本场站保障机型和在飞架数确定,根据保障对象的难易程度定义:无保障经验架数多为4;无保障经验架数适中为3;保障熟练架数多为2;保障熟练架数适中为1。
环境因素中的X15 机场环境根据场站所处的地理位置和机场场地条件定义为优良-3、堪用-1、较差-2。
通过对收集的数据进行标准化预处理,消除特征变量之间因为量纲和数值大小的差异而引起的影响,解决样本特征贡献不同的问题,对于数值型指标X1~X4、X8~X13,为了保留原始数据之间的关系采用极差标准化方法,其过程为:
对于指标取值更加规则的属性类指标X5~X7、X14、X15,为了增强其稳定性采用线性比例变换法,其过程为:
现有多个保障单位的50 组不同属性条件下收集到的指标数据,及在此条件下选取的多项航材年度消耗情况y,经标准化处理后得到的数据如表2~表3 所示。
表2 指标数据
表3 对应航材年度消耗情况
15 种影响因素同时应用于支持向量机航材消耗预测模型易产生偏差,甚至与实际情况不符,要有针对性地筛选影响其消耗的主要因素来提高预测的准确性。
LASSO 方法是以缩小变量集(降阶)为思想的压缩估计方法。它通过构造一个惩罚函数,可以将变量的系数进行压缩并使某些回归系数变为0,进而达到变量选择的目的。把标准化后的样本集作为对象建立LASSO 模型,通过惩罚函数对变量的影响因素进行筛选,筛选过程如图2 所示。
图2 LASSO 算法变量系数压缩过程
图2 表示在惩罚函数的作用下,15 个变量的系数压缩过程,可以看到不同因素系数收敛至0 的先后顺序不同。先压缩至0 的因素变量如机场环境X15,表示其重要程度相对较低,对器材消耗的影响程度较小;后压缩至0 的因素变量如年度飞行(发动机工作)小时X11、是否有寿件X7,表示其对器材消耗量影响较大。经适当压缩后留下的影响因素系数如表4 所示。
表4 筛选后的影响因素和系数
通过LASSO 进行影响因素筛选,由表3 可以看出,剩下5 个主要因素,分别是修复率、是否有寿件、近3 年平均消耗、年度飞行(发动机工作)小时、年度特殊任务次数。
由此可见,提高器材的修复率可以一定程度上减少器材的消耗,发挥工厂的修复能力也是航材保障业务中重要的一环;航材有寿件的具有一定的消耗规律,是航材消耗预测的重要研究对象;任务因素是影响航材消耗的主要因素,转场、驻训、演戏等特殊任务在进行航材消耗预测时也应考虑在内;相同条件下环境因素对航材的消耗与其他因素相比影响较小。筛选出的5 项影响因素基本符合航材保障实际的情况。在原始样本基础上保留筛选出的影响因素建立新的样本集作为下一步的研究对象。
将输入的航材消耗数据集进行分类,分为几个相关性较强的子集分别建模,有利于解决单一模型精度低的问题。K-Means 聚类算法是一种迭代聚类过程的分析算法,算法步骤如下:
1)首先确定一个k 值(随机),即希望数据经过聚类得到k 个不同的集合;
2)从给定的数据集中随机选择K 个数据点作为质心;
3)对数据集中的每个点计算其与每一个质心的距离;数据点离哪个质心近,就划分到那个质心所属的集合;K-means 常用的距离为欧氏距离
4)第1 轮将所有的数据归号集合后,一共有K个集合,然后重新计算每个集合的质心;
5)如果新计算出来的质心和原来的质心之间的距离小于某一个设置的阈值,则表示重新计算的质心的位置变化不大,数据整体趋于稳定,或者说数据已经收敛。在这样的情况下,认为聚类效果已经达到了期望的结果,算法可终止;
6)反之,如果新质心和原来质心的距离变化很大,需要重复进行步骤3)~步骤5),直至位置变化不大,达到收敛状态。
为了便于下一步SVM 模型建立,样本分类不宜过多。根据航材消耗数量的高、中、低,将类别设置为3 类,中心点收敛迭代次数设为24,得到的分类情况如图3 所示。同种颜色的样本表示这些条件下的影响因素指标数据和器材消耗数据具有较好的相关性,根据聚类结果可以看出类别1 的22 组数据年度消耗数量y 值较大,类别3 的16 组数据消耗较少,类别2 的12 组数据消耗介于前两种之间。
图3 K-means 聚类结果
具体各类别样本数目如表5 所示。
表5 各类别对应的样本数
按照K-means 聚类得到的样本类别将原始的样本集分为3 个子样本集,分别进行SVM 建模。
按照类别将精简后的样本集进行分类,以每一类数据集当作样本集进行SVM 建模,将样本集分为训练集和测试集验证模型。
以第1 类样本为例,将样本70%分为训练集,剩下30%分为测试集,进行建模分析;用训练集建立的模型预测测试集指标条件下的消耗情况,并同测试集中的真实消耗情况进行比较计算模型误差。
3.3.1 核函数的选择
要构造出一个具有良好性能的SVM,核函数的选择是关键也是最重要的一步。在选取核函数解决实际问题时,通常采用的方法有:1)利用专家的先验知识预先选定核函数;2)采用Cross-Validation方法,即在进行核函数选取时,分别试用不同的核函数,归纳误差最小的核函数就是最好的核函数。SVM 常用的核函数主要有线性核函数(linear kernel)、多项式核函数(polynomial kernel)、径向基核函数(radial basis function,RBF)和Sigmoid 核函数。
本文通过比较几种核函数预测值与真实值之间的选用平均绝对百分比误差(eMAPE)来确定核函数的类别。
其中,z为真实消耗数据;y'为模型预测值。本文分别选取Linear、Sigmoid、Radial 核函数进行预测,为了比较3 种核函数的准确性,本文选用在默认参数的情况下的平均绝对百分比误差作为选择指标。经计算,得到的指标值如表6 所示,Radial 核函数的两项误差较小,由此可见,对该航材消耗数据而言,Radial 核函数在预测时表现较好。因此,选取Radial核函数作为模型的核函数。
表6 3 种核函数对应误差
3.3.2 核函数参数优化
采用交叉验证的方法,针对不同核函数的参数项,人工建立参数集,通过循环交叉验证比较每一组参数对应的模型误差,选择误差最小的一组参数作为模型参数。循环交叉验证的流程如图4 所示。
图4 循环交叉验证参数优化流程
Radial 核函数的两个主要参数为cost、gamma,在建立数学模型的过程中可以对其调整来改变模型精度,本文通过人工建立参数集进行循环交叉验证来选取最优参数。
cost 建立从0.1 到5,步长为0.1 的参数集;gamma 建立从1 到10,步长为1 的参数集,构造循环交叉验证,最终得到最优参数cost=1.5,gamma=1。在此参数条件下,对模型的误差进行计算,即均方根误差(RMSE)。
模型结果与真实值之间的散点图如图5 所示。横坐标表示预测消耗值,纵坐标表示真实消耗值,由此可见除边缘数据以外,大部分数据拟合效果良好。以此计算第1 类样本的均方根误差。
图5 预测值和真实值的散点图
同理,采用同样的方法对第2、3 类子样本集建模,同样计算出对应的子模型误差,根据样本数目进行加权平均即最终的模型均方根误差(RMSE)。
表7 3 类样本核函数选择和参数优化的结果
3.3.3 模型精度对比
目前,常用的航材消耗预测方法有支持向量机和神经网络预测。为了验证本文方法的有效性,将原始样本集分别输入传统SVM 模型、神经网络预测模型对消耗数据进行预测。同样采用均方根误差RMSE 作为比较指标,预测误差如表8 所示。
表8 几种预测方法比较
可见,本文方法在传统SVM 模型基础上,通过提高样本相关性在航材消耗预测中的作用,提高了航材消耗预测结果的准确率,具有较好的模型精确性。全过程优化的支持向量机航材消耗预测模型相较于传统支持向量机预测模型精度提高了44.97%,相较于神经网络模型精度提高了19.88%。
全过程优化支持向量机模型的优势在于影响因素筛选方法的优化和在对样本数据进行分类的基础上建模的思想。模型对于航材消耗预测具有一定普适性,同时在之后的数据收集过程中只需要对筛选出的主要因素指标进行数据收集和处理即可,一定程度上减少了预测工作量,为业务人员提供了一种可靠的预测方法。
在数据准备过程中应侧重考虑任务因素、航材固有因素和航材的类别属性。在实例运算中,全过程优化的支持向量机航材预测模型通过因素筛选缩小消耗影响因素的范围,将数据聚类再建模,既减少数据准备阶段的工作量又具有良好的精度,为辅助航材保障业务决策提供了有效的参考依据,有利于提高保障效率。