基于决策树的卫星故障诊断知识挖掘方法
2018-04-02王小乐张玉锋袁媛高波
王小乐,张玉锋,袁媛,高波
(西安卫星测控中心航天器在轨故障诊断与维修重点实验室,陕西西安710043)
在轨故障不但引起卫星功能的丧失和性能的下降,而且可能导致卫星失去控制,造成巨大航天财产损失,因此,通过技术手段提高卫星在轨运行的安全性与可靠性是非常重要的。卫星故障的精确诊断与定位是故障处置的前提,目前卫星在轨故障诊断主要采用基于门限[1](单参数)、基于规则推理[2]、基于解析模型、基于信号处理和基于定性模型[3]的方法。门限和规则推理都涉及到门限值的确定,卫星地面诊断系统[4]主要采用卫星地面设计生产和测试中所确定的诊断知识[5]。随着卫星在轨运行,部件功能和性能退化导致原有的故障诊断门限和规则精度降低、诊断系统虚警率增高、出现漏警,必须运用诊断规则和门限动态修正技术以适应卫星在轨运行的实际情况。数据挖掘能够从历史实测数据中获取卫星在轨故障后验知识[6],并且发现遥测参数之间的新的关联关系[7],通过挖掘并更新诊断知识提高故障诊断的准确性[8]。
文中通过深入挖掘在轨卫星故障实测数据,采用决策树算法[9]从历史故障数据中挖掘并构建在轨卫星故障诊断知识发现的决策树模型,将决策树算法应用于卫星在轨实测数据挖掘,通过挖掘获得了更为准确的卫星故障诊断知识,通过对诊断知识评估说明了方法的有效性。
1 决策树构建方法
1.1 问题描述
卫星在轨运行积累了大量测控数据,通过机器学习和知识发现技术挖掘在轨卫星故障诊断知识,能够提高诊断系统的适应性和准确性,保障卫星的在轨安全。故障诊断知识挖掘流程如图1所示。
图1 航天器故障决策树挖掘流程
决策树是一种常用的数据挖掘方法,通过在包含正例和反例的数据中挖掘树结构结构,获取潜在的、有价值的知识。决策树算法主要有ID3[10]、C4.5[11]、CART[12]等,ID3算法由于离散属性的决策树构建,而C4.5算法能够处理连续属性,并且允许数据集中存在缺失值。决策树算法都要解决两个重要问题,一是决策树当前节点选择哪个属性来分裂,二是在该属性上切割点怎么设置,此外,还考虑了什么时候树停止决策树的生长防止过度拟合[13]。
1.2 分裂属性选择
决策树C4.5算法以信息熵为基础,采用信息增益比作为测试属性的选择标准,克服了以信息增益选择属性时所带来的多偏向选择的不足,从而完成了对数据的归纳分类。设S为数据样本集合,其中包含了c个不同的类,每个类中样本所占的比例为p(i|S),其中i=1,2,…,c,那么,集合S信息熵计算如式(1):
为了确定选择属性的分裂结果,用划分前父节点的不纯度和划分后子节点的不纯度之差来衡量属性分裂的测试结果,该指标称为信息增益,也就是熵差,按照属性a对样本集合S划分获得信息增益的计算公式如式(3):
样本集S按照属性a划分时的分裂信息用Splitinfo(S,a)表示,则其计算如式(4):
分裂信息代表了属性a分裂样本集S的广度和均匀性。因此,属性a划分的信息增益率定义为:
C4.5决策树算法在树的每个节点上使用信息增益率来度量选择测试的属性,选择具有最高信息增益比率的属性作为当前节点的分裂属性。
1.3 属性分割点确定
决策树归纳算法必须为不同类型的属性提供属性测试条件,即确定属性的分隔点。对于0~1式的二元属性,只能有两个可能输出,产生两个划分,即属性为1和属性为0的两个分支。对于标称属性,有两种划分方法,一种是分成两路,即属性的取值分为两个集合,一个集合作为一个划分;另一种是产生多路划分,即将属性取值分为若干集合,每个集合为一路划分。对于序列属性,可以生成两路划分,也可以生成多路划分,与标称属性一致,但是还必须考虑属性取值的顺序问题,不违反有序性即可。对于连续属性,测试条件可以具有二元输出的比较测试(a 假设属性的测试分割点为v,则通过该划分的信息增为可用公式(6)计算,遍历所有可能的分割点,信息增益最大值所对应的分割点vmax为最佳分割点,即诊断知识的参数门限。 连续属性的分割点的确定,首先需要统计每个取值上正例与反例数量,用正反例差异较大的点作为测试分割点,再计算增益获得最佳分割点。 为了防止决策树过度生长,对决策树进行剪枝,通常采用卡方检验来判断是否停止分裂节点。常用剪枝方法有预剪枝和后剪枝两种方法。预剪枝是通过提前设置决策树生长的最大深度,使决策树不能充分生长,进而达到预剪枝目的。预剪枝的核心问题是如何事先指定树的最大深度,如果设置的最大深度不恰当,将会导致过于限制树的生长,使决策树的表达式规则趋于一般,不能更好地对新数据集进行分类和预测。后剪枝方法让树“充分生长”后,再判断是否将某些分支节点变为叶节点,根据一定的规则标准,剪掉树中不具备一般代表性的子树,取而代之的是叶子节点,进而形成一棵规模较小的新树。 C4.5算法采用“悲观”预测误差率的后剪枝方法。对树中的每个节点采用二项式分布计算置信区间的上限Ucf估计值(置信度cf默认取25%),然后对所给节点的置信上限估计值与它叶子节点的加权置信度进行比较,如果子树中的某个根节点的预测误差比叶子的U25%加权和小,那么,用该子树的根节点代替子树,变成剪枝后树新的叶节点。该方法可以避免树无节制地增长,防止数据过度拟合,同样也是用训练样本来估计剪枝前后的误差,从而决定是否真正进行剪枝,其实质是为了消除训练产生的集中孤立点和噪声,方法中使用的公式如式(7): 式中,n为实例的数量,f=E/n为所观察到的误差率(其中E为n个实例中分类错误的个数),q为真实误差率,d为置信度,z为对应于置信度d的标准差,可根据d的设定值通过查正态分布表获得。 本节以表1中的数据为案例,通过计算获取故障诊断知识说明决策树方法的流程。在每个节点计算各属性对其的信息增益率,选择增益率最大的属性作为分隔属性。 如表1所示,对于故障的信息熵为: 表1 卫星故障数据集 对于电流这一属性采用二分法,以-0.1作为分隔点,获得的信息熵为: 信息增益率为: 或得的分割信息为: 信息熵的增益率为: 对于电压采用二分法,将大于12 V的作为一组,小于等于12 V的作为一组。计算方法同上。可得: 对于温度采用二分法,将大于38℃的作为一组,小于等于38℃的作为一组, 增益率最大的是电压,因此,在第一层分隔点选择电压这属性,电压的分隔点为12 V。将电压小于等于12 V的分为一组命名为S1,大于12 V的命名为S2,对这两个子树继续分解。可获得的决策树如图2所示。 根据C4.5的剪枝策略,发现在进行电压大于13 V的部分产生决策数值可以通过剪枝策略进行剪枝,最终可以获得如图3的简化决策树。 剪枝之后的决策树对于数据集来说只有一个错误诊断,但是树的结构大幅简化,在数结构非常复杂深度很深的情况下可以十分有用。 图2 生成决策树 图3 剪枝后的决策树 基于上述决策树可以产生诊断知识如图4所示。 图4 挖掘得到得诊断知识 将本文所提的方法,应用于某卫星历史遥测数据分析挖掘,获得新的故障诊断[14]知识,采用历史数据测试对比,对新规则和老规则进行对比分析。选取数据样本35个其中正常点20个,异常故障点15个。评价指标包括了准确率和虚警率,准确率指算法正确识别正常和故障的总实例数占样本总数的百分比;虚警率(false alarm ratio)指错误报警次数占报警总数的百分比。其中现有规则正确判别23个样本点,通过C4.5获取的规则能够正确判断27个样本。现有规则共报警25次,其中虚警11次,新规则报警21,虚警7次,结果如表2所示。 表2 现有规则和C4.5提取规则对比 通过表2看出,相对现有的规则,通过决策树挖掘所获取得的新规则故障诊断准确率提高了11.7%,虚警率降低了24.3%,而且决策树方法是一种可以根据数据值适应不断调整更新的方法。 假设有m个属性,n条实例训练数据,决策树的深度为O(logn),构建决策树需要O(mnlogn),子树裁剪为O(n),子树构建需要O(n(logn)2)[15]总的时间复杂度为:O(mnlogn)+O(n(logn)2)。 论文基于决策树算法研究在轨卫星故障诊断知识挖掘方法,通过该方法所产生的故障诊断知识,有效提高了故障诊断知识的精度,降低了虚警率。论文所提方法具备学习获取动态门限的能力,使得门限更准确,产生的诊断知识能够进行多遥测参数联合故障诊断,初步解决了目前先验知识相对适应性差,后验信息支持缺乏的问题。算法在历史遥测数据中挖掘获取决策树模型,产生诊断知识与目前已有规则进行对比发现虚警率明显降低,故障诊断准确率提高,这充分说明了方法的有效性。 参考文献: [1]李权,周兴社.基于测控数据挖掘的航天器故障诊断技术研究[J].计算机测控与控制,2011,19(3):500-502. [2]濮逸佳,杜宏伟.基于本体和规则的计算机故障诊断研究[J].电子设计工程,2013(8):22-25. [3]孔繁强,张鑫,张慧霞.故障树最小割集和最小路集在火箭故障诊断中的应用[J].电子设计工程,2011(1 8):8-10. [4]陈威敏,孟晓风,王国华.远程监测与故障诊断系统研究[J].电子设计工程,2011(7):138-140. [5]潘宇倩,张弓,白东炜,等.卫星健康管理故障诊断算法的设计及其实现[J].航天器工程,2011,20(5):37-41. [6]张天瑞,于天彪,赵海峰,等.数据挖掘技术在全断面掘进机故障诊断中的应用[J].东北大学学报:自然科学版,2015(4):526-531. [7]韩萌,王志海,丁剑.一种频繁模式决策树处理可变数据流[J].计算机学报,2016(8):1541-1555. [8]乔长兵,数据挖掘技术在挖掘机故障诊断中的应用[J].电子设计工程,2011(3):134-138. [9]路翀,徐辉,杨永春.基于决策树分类算法的研究与应用[J].电子设计工程,2016(18):1-3. [10]潘大胜,屈迟文.一种改进ID3型决策树挖掘算法[J].华侨大学学报:自然科学版,2016(1):72-74. [11]陈凯,曹晓光,杨冀红等.基于C4.5决策树算法的全国积雪模型生成[J].电子设计工程,2014(17):44-47. [12]张亮,宁芊.CART决策树的两种改进及应用[J].计算机工程与设计,2015(5):1209-1213. [13]Shuonan Hou,Rongtao Hou,Xinming Shi,et.al.Research on C5.0 Algorithm Improvement and the Test in Lightning Disaster Statistics[J].Internation⁃al Journal of Control and Automation,2014(1):181-190. [14]张亮,陈志刚,杨建伟,等.基于决策树与多元支持向量机的齿轮箱早期故障诊断方法[J].计算机测量与控制,2016(1):12-15. [15]Archana S,Elangovan Dr K,Survey of classification techniques in data mining[J].International Journal of Computer Science and Mobile Applications,2014(2):65-71. [16]淡鹏,陈剑平.自旋卫星几何定姿限制条件及误差分析[J].电子科技,2016(5):62-66. [17]杨逸,梁婧.卫星通信技术在电力应急通信抢修中的应用[J].电力信息与通信技术,2014(12):34-38.1.4 决策树的剪枝
2 诊断知识挖掘实例
2.1 算例分析
2.2 方法对比分析
2.3 时间复杂度
3 结论