1、舰 船 电 子 工 程2023 年第 6 期1引言飞参数据是借助飞机上的参数记录系统记录并保存的飞机飞行过程中的状态、性能信息和关键技术参数的一系列数据,在飞机研制、飞行状态监控、飞行质量分析评估、视情维修、事故调查等应用方面有着非常重要的参考价值。飞参数据通常由飞机的飞行记录系统自动记录,并以文件形式存储在SD卡中,其往往涵盖整个完整的飞行过程,未明确划分飞行阶段。然而飞机飞行状态和性能在起飞、巡航、下降等不同飞行阶段存在很大差异,飞机性能监控、飞行质量分析评估、飞行安全预测等诸多研究均建立在飞行阶段划分的思想上12。因此,利用飞参数据划分飞行阶段对在飞行领域开展深层次研究具有重要的指导意义
2、3。根据飞行技术手册和飞行特点,飞机的整个飞行过程通常可简单分为以下五个通用阶段:起飞、爬升、巡航、下降、着陆4,如图1所示。目前,飞行阶段的划分一般有两种方式:一是靠人工经验判断;二是利用飞参数据采用算法分类模型实现。显然,人工经验判断主观性强、效率低,不能满足信息系统自动化的要求。在利用飞参数据划分飞行阶段方面,有的采用主成分分析和支持向量机的方法,建立飞行阶段划分模型5。还有的采用贝叶斯、神经网络和决策树等方法6。不同的方法有不同的优缺点。决策树算法是一种典型的分类方法。基于训练样本数据集、所有特征和切分点,依据基尼指数收稿日期:2022年12月2日,修回日期:2023年1月10日作者简
3、介:张燕红,女,硕士研究生,副教授,研究方向:机器学习、人工智能。王凤芹,女,博士研究生,副教授,研究方向:装备保障信息化技术、数据分析与应用。王丽娜,女,硕士研究生,副教授,研究方向:深度学习、计算机网络。杜晶,女,硕士研究生,讲师,研究方向:数据分析与可视化。基于随机森林算法的飞行阶段划分张燕红王凤芹王丽娜杜晶(海军航空大学烟台264001)摘要为了提高飞参数据的利用率,为飞行质量评估、飞机故障诊断、飞行事故调查等飞行领域的深层次研究奠定基础,论文以某型飞机实际飞行的飞参数据为研究对象,设计并实现了基于随机森林的飞行阶段划分算法。同时将基于CART决策树的随机森林算法与单一CART决策树算
4、法进行对比仿真,取得了较好的实验效果,解决了每次依靠人工划分飞行阶段主观性强、效率低的问题。关键词飞参数据;决策树;随机森林;飞行阶段划分中图分类号V247.5DOI:10.3969/j.issn.1672-9730.2023.06.031Flight Stage Division Based on Random Forest AlgorithmZHANG YanhongWANG FengqinWANG LinaDU Jing(Naval Aviation University,Yantai264001)AbstractIn order to improve the utilization r
5、ate of flight parameter data and lay the foundation for in-depth research in thefield of flight quality assessment,aircraft fault diagnosis,flight accident investigation,etc,this paper takes the flight parameter data of a certain type of aircraft as the research object,and designs an algorithm based
6、 on random forest.It compares and simulates theCART decision tree and the random forest algorithm based on the CART decision tree.The experiment achieves good experimentalresults,and solves the problem of strong subjectivity and low efficiency in relying on manual division of flight stages each time
7、.Key Wordsflight data,decision tree,random forest,flight stage divisionClass NumberV247.5总第 348 期2023 年第 6 期舰 船 电 子 工 程Ship Electronic EngineeringVol.43 No.6145总第348期生成决策树,即分类规则,然后通过决策树对测试样本数据进行分类。而随机森林是利用多个决策树对样本进行训练并预测的一种分类器,它兼顾了解决分类和回归问题的能力。对于分类问题,随机森林算法输出的类别是由个别决策树输出类别的众数决定的。对于回归问题,随机森林把每一个决策树的输
8、出进行平均得到最终的回归结果。因此,相比于单一的决策树算法,随机森林的表现一般要更优。本文对某型飞机实际飞行过程中产生的飞行数据,采用随机森林算法划分飞行阶段,同时将基于CART决策树的随机森林算法与单一CART决策树算法进行对比仿真,取得了较好的实验效果,解决了每次依靠人工划分飞行阶段,主观性强、效率低的问题。图1飞行阶段划分2参数约简飞机记录的飞参数据通常有几十种,经过研究发现,影响阶段划分的只有其中的某几种,而大部分飞参数据与阶段划分无明显关联,称为冗余参数。如果把所有的飞行参数都用于构建决策树模型,就会使决策树有非常多的分叉,复杂臃肿,甚至导致误判。因此在使用决策树和随机森林算法构建分
9、类模型之前,需要对飞行参数进行约简。参数约简的主要思想是去除冗余、无关的参数,只保留关键参数,以提高决策效率。本文所使用的飞参数据包含高度、俯仰角、空速、磁航向角度、攻角、升降速度、发动机转速、机体轴向加速度、横滚角等42个特征参数。根据各个飞行阶段的特点,提取的主要参数为高度、俯仰角、空速、机体轴向加速度四个飞行参数,作为特征参数。3基于决策树算法的飞行阶段划分决策树算法常见的决策分支方式有三种:基于信息增益的ID3、基于信息增益比的C4.5和基于基尼指数的CART。前两者是基于信息熵的。sklearn中只实现了ID3与CART决策树。由于ID3决策树涉及了大量的对数运算,运算复杂,而CAR
10、T决策树更适合大规模样本处理,因而本文采用CART决策树进行飞行阶段划分。3.1算法设计采用CART决策树构建分类模型时,利用已经划分好飞行阶段的飞参数据建立训练样本数据集,输入为训练样本数据集、设定好基尼指数的阈值以及样本个数阈值,输出为 CART 决策树。建立CART决策树分类模型的方法是根据飞参训练样本数据集,先构建根结点,再自顶向下利用飞参训练样本数据集递归创建每一个结点,从而构建划分飞行阶段的整个CART决策树。具体步骤如下:1)判断结点中的样本个数是否小于预定阈值,或者是否没有更多特征,如果是,则返回决策树,停止迭代,算法结束;如果否,则进行第2)步。2)计算结点现有特征对当前训练
11、数据集的基尼指数,判断样本集的基尼指数是否小于预定的阈值,如果是,则返回决策树,停止迭代,算法结束;如果否,则进行第3)步。3)在所有特征的所有切分点中,依据基尼指数最小的原则,选定最优特征与最佳切分点,划分属性。即根据选定的最优特征与最佳切分点,将当前结点生成两个子结点,并将训练样本数据集相应地也分配到这两个子结点中。4)对刚刚生成的两个子结点,重复刚才的步骤1)、2)、3)。基于决策树算法的飞行阶段划分的流程图如图2所示。3.2算法实现关键代码Python中sklearn模块定义了DecisionTreeClassifier类实现决策树算法,关键代码如下:#将数据分为训练数据集和测试数据集
12、x_train,x_test,y_train,y_test=train_test_split(x_train,y_train,test_size=0.5)#创建决策树对象clf=DecisionTreeClassifier(criterion=gini,random_state=1,max_depth=4)#根据数据构造决策树model=clf.fit(x_train,y_train)#预测y_pred=model.predict(x_test)#计算准确度score_c=clf.score(x_test,y_test)4基于随机森林算法的飞行阶段划分随机森林是利用多个决策树对样本进行训练并进
13、行预测的一种分类器,它的基础是决策树。一个测试样本,对于决策树算法,只能有一个分类结果;而对于随机森林算法,森林中的每个决策树都张燕红等:基于随机森林算法的飞行阶段划分146舰 船 电 子 工 程2023 年第 6 期会有一个分类结果。随机森林算法会根据各个决策树的分类结果,将投票次数最多的类别定为最后的输出类别。随机森林算法能处理高维特征,不容易产生过拟合,模型训练速度比较快,特别是对规模较大的数据而言11。开始是是否样本个数小于阈值或没有特征样本集的基尼指数小于阈值否处理特征值左节点数据集右节点数据集返回决策树停止迭代结束图2CART决策树构建流程图4.1算法设计本文设计的随机森林分类模型
14、采用的是有放回的抽取飞参数据。根据前面的分析,仍然选取飞机的高度、俯仰角、空速以及机体轴向加速度四个飞行参数作为特征参数,划分飞行阶段。从原始数据集 S中有放回地随机抽取 2/3,构造子数据集,作为每个决策树的训练样本集S,再从选取的 4 个飞行参数中随机选取两个,作为CART决策树的特征输入量。再从选出的特征子集中选择基尼指数在最小情况下时进行分裂。基于随机森林算法的飞行阶段划分流程图如图3所示。4.2算法实现关键代码Python 中 sklearn 模 块 定 义 了 RandomForestClassifier类实现随机森林算法。关键代码如下:#将数据分为训练数据集和测试数据集x_tra
15、in,x_test,y_train,y_test=train_test_split(x_train,y_train,test_size=0.5)#创建随机森林对象rfc=RandomForestClassifier(random_state=1,criterion=gini,n_estimators=25)#根据数据构造随机森林model=rfc.fit(x_train,y_train)#预测y_pred=model.preict(x_test)#计算准确度score_r=rfc.score(x_test,y_test)开始有放回的随机提取部分样本随机提取部分特征作为待选特征利用基尼指数从特征
16、中确定测试特征产生节点否是否进行分支进行分支能作为叶节点决策树停止生长是决策树停止生长决策树数目是否达到要求是否生成随机森林结束每一个分支结点进行递归图3随机森林算法流程图5实验仿真与分析为验证本文算法的有效性,选取某型飞机连续飞行31min,采集的共21186帧数据作为数据集,该数据集包含42个飞行参数。实验在Windows 10操作系统下,用Python程序设计语言在Anaconda 3环境中进行。以某机型的实际飞行数据进行基于随机森林算法的飞行阶段划分,并仿真对比决策树算法,需首先进行数据准备。在飞行过程中由经验丰富的一级飞行教官人工划分飞行阶段,得到已划分好飞行阶段的飞行参数数据集。为
17、实验方便,将起飞、爬升、巡航、下降以及着陆这5个阶段依次编号为1、2、3、4、5,作 为 标 签。用 sklearn 中 的147总第348期train_test_split函数,将上述已划分好起飞、爬升、巡航、下降以及着陆这5个阶段的飞行参数数据集分成训练样本集与测试样本集。随机森林的输入为建立好的训练样本数据和其对应的飞行阶段编号,以此进行训练,得到训练好的随机森林模型;然后将建立好的测试样本数据经已训练好的随机森林模型进行飞行阶段的分类识别,输出分类识别出的飞行阶段编号;最后对比输出结果与实际结果的匹配度,计算识别准确度,并记录识别时间。得到的实验结果如表1所示。表1飞行阶段的划分结果飞
18、行阶段划分类别12345训练数据帧数1059310593105931059310593决策树算法准确度/%99.1198.0597.5797.48100.00随机森林算法准确度/%100.0099.5299.01100.00100.00决策树算法时间/s3.363.453.123.713.52随机森林算法时间/s1.421.481.401.441.48因而可以得到在测试样本数据集规模为10593帧时,利用决策树算法与随机森林算法对测试数据进行飞行阶段划分的结果,如图4所示。12345飞行阶段10099.59998.59897.59796.596飞行阶段识别率/%决策树分类随机森林分类图4各飞行
19、阶段的识别率对比图从实验结果可以看出,对某型飞机一段时间的实际飞行数据,使用随机森林分类算法,对起飞、下降、着陆等特征区别明显的阶段几乎可以完全识别出来,连巡航阶段也达到了99.01%的准确度。而决策树算法在各个阶段的识别率均低于随机森林算法,且只有着陆阶段可以完全识别。以上分析表明,对于该型飞机,使用随机森林算法划分飞行阶段,相比于直接使用决策树算法效果更好,而且,实验表明,在样本数量相同的情况下,随机森林算法用时更短,识别速度更快。6结语为在明确划分各个飞行阶段的基础上,进行更为深入的飞行领域研究,本文采用基于CART决策树的随机森林算法,对某型飞机产生的实际飞行数据进行飞行阶段划分,并与
20、单一CART决策树算法进行对比仿真。实验结果表明,使用随机森林算法进行飞行阶段划分的准确率是非常高的,比决策树算法更为有效。所以可以将基于随机森林算法的飞行阶段划分方法应用到该型飞机的飞行训练中,以实现飞行阶段划分的客观性、高效性和自动化,为飞行质量评估、飞机性能测试、故障诊断等各种飞行训练系统提供应用基础。参 考 文 献1晁海涛.飞行品质监控数据分析系统模型研究 D.广汉:中国民用航空飞行学院,2009.2程科.飞机操纵系统状态监测与故障预测方法研究 D.南京:南京航空航天大学,2014.3曲建玲,唐昌盛.飞参数据的应用研究现状及发展趋势J.计测技术,2007,27(6):1-4.4曲晋瑶.
21、通用飞机飞行训练品质只能评估系统研究与实现 D.沈阳:沈阳航空航天大学,2019.5李丹丹,路辉,郎荣玲.基于主成分分析和支持向量机的飞参阶段划分研究 J.现代电子技术,2010,33(8):134-137.6宋仕杰.无人飞行器飞行训练考核系统的研究与实现D.成都:电子科技大学,2020.7方匡南,吴见彬,朱建平,等.随机森林方法研究综述J.统计与信息论坛,2011,26(3):32-38.8夏景明,李冲,谈玲等.改进的随机森林分类器网络入侵检测方法 J.计算机工程与设计,2019,40(8):2146-2150.9宋志勇.航空公司基于飞行参数数据库的飞行品质管理J.民航管理,2016,201
22、6(11):89-92.10宋立桓.AI制胜机器学习极简入门 M.北京:清华大学出版社,2020:92-93.11周长春,蒋澜,赵新宇.通用航空飞行品质监控运行管理 J.中国民航飞行学院学报,2019,30(01):39-42.12张鹏,杨涛,刘亚楠.基于 CNN-LSTM 的 QAR 数据特征提取与预测 J.计算机应用研究,2019,36(10):2958-2961.13戴婧睿,吴奇,仁和,等.基于深度置信网络的 QAR 飞行数据特征提取分析J.电光与控制,2017,24(11):78-82.14王凤芹,徐廷学,颜廷龙.基于CART决策树算法的飞行动作识别研究 J.舰船电子工程,2021,41(8):51-54.张燕红等:基于随机森林算法的飞行阶段划分148