APP下载

决策树算法在声速探头故障诊断中的应用*

2023-10-10张朋坤

舰船电子工程 2023年6期
关键词:声速决策树故障诊断

张朋坤 张 献 殷 钊 王 萍

(1.92866部队 青岛 266100)(2.海军工程大学电子工程学院 武汉 400333)(3.92677部队 大连 116000)

1 引言

声纳在海洋中的探测能力很大程度上受海洋声学环境的影响。同一声纳在不同海洋声场中的作用距离可相差数倍。海洋声速剖面是研究海洋声场环境的重要工具,是反映海洋声速随深度变化的函数关系。能否获取准确的海洋声速剖面对于发挥声纳最大探测能力具有十分重要的战术意义。目前声纳主要依靠声速探头采集海洋声场信息。声速探头可实时同步采集海水声速与深度数据,通过后台解算即可绘制出海洋声速剖面。

近年来,随着实战化演训要求的不断提高,声速探头故障率逐年递增。然而目前声速探头的故障诊断手段还比较单一,主要依靠装备保障人员凭借自身多年维修经验进行故障定位,不但要求维修人员具有较高的专业技术能力和深厚的维修经验积累,而且人工诊断效率低、精度差。此外,虽然用户已经在实际装备日常使用维护中积累了大量声速探头实装数据记录,但却缺乏从这些随机的、有噪声的、模糊的海量数据中提取隐含故障规律的有效手段。针对这一现状,本文提出一种基于决策树算法的声速探头故障诊断方法,提高了故障诊断效率与精度,为用户进行声速探头故障诊断提供了一定的决策支撑。

2 决策树算法理论概述

2.1 决策树工作原理与优势

决策树算法是数据挖掘领域中经典的分类算法,目前已广泛应用于医学诊断、教育数据分析、金融分析等领域。在构建决策树进行分类前,首先要从数据集中选取建树参数——特征属性与类属性,然后再利用树的结构将数据集进行分类。决策树分类是从根节点开始,按照决策树的分支结构对数据集中的特征属性进行测试,根据不同特征属性的取值将数据集分成不同的数据样本子集,每个数据样本子集构成一子节点。最终生成的决策树每个叶节点对应一个分类,即为类属性。图1 给出一个经典决策树的例子。

图1 经典决策树案例

其中A、B为数据集的两个特征属性,最顶层的节点A 称为根节点,节点a1、a2、b1、b2 表示特征属性的不同取值,C1 和C2 为叶节点,代表数据集的两个类属性。依据该决策树结构,可得出分类准则,例如,当属性A 的取值为a1,且属性B 的取值为b1,那么该数据属于C1类。

决策树与其他机器学习分类方法相比,具有以下几个优势:

1)使用决策树进行分类,不需要使用者对专业领域有全面深入的研究,不需要接受训练数据集外的知识;2)决策树分类效率高,尤其适用于训练集数据量较大的情况;3)决策树分类模型结构直观、形象,便于大多数人的理解;4)决策树分类具有较高的分类准确率。

2.2 决策树几种经典算法简述

当前最具影响力的决策树算法是Quinlan 于1986年提出了著名的ID3 算法[1]。ID3 算法采用基于信息熵定义的信息增益来选择内节点的最好属性,运算方法简单,但其无法对连续值进行处理,且选择标准容易倾向于取值较多的属性。Quinlan 于1993年又提出C4.5算法[2],采用信息增益率作为最优属性的选择标准,并在ID3 算法基础上增加了对连续属性的离散化处理以及对缺省值的处理。此后又开发出C5.0 算法,在分类规则的生成速度上进行了一系列优化。

CART算法是由Breiman等于1984年提出来的一种数据开发和预测算法,是一种产生二叉树的分类技术,既可用于回归问题也可用于分类问题。特点是既可以处理连续型数据,也可处理顺序或无序的离散型数据。CART 算法选择具有最小Gini 系数值的属性作为分裂属性[3~7]。目前已有国内学者应用CART 算法在航空电子、高铁轨道、地质勘探等领域进行故障诊断方面的探索与研究,取得良好的应用效果[8~11]。因此本文主要研究CART 算法在声速探头故障诊断中的应用。

3 声速探头原理与常见故障分析

3.1 声速探头工作原理分析

声速探头主要由声速探测模块以及深度探测模块组成,能够利用声速探测模块与深度探测模块实时获取舰船所在海区海洋声速与深度信息,并通过数据解算得到海洋声速剖面信息。声速探测模块可沿固定传播路径向海水中发射循环脉冲信号,并记录信号到达时间,通过多次测算得到信号平均传播延时,利用声速公式:

在传播路径已知条件下,计算得到海水声速。深度探测模块通过内置压力传感器,测量得到当前位置海水压力,通过该海区海水深度-压力关系,测算得到当前深度数据。在得到声速与深度数据后,声速探头可依据两者对应关系绘制海洋声速剖面。

3.2 声速探头常见故障分析

声速探头常见故障主要包含以下三种:深度模块故障、声速模块故障以及供电电源故障。由于声速探头安装在舰船舱外,当舰船起浮时,深度传感器与声速传感器直接暴露在空气中;当舰船下潜时,深度传感器与声速传感器直接接触海水。无论是暴露在空气中,受到阳光暴晒、冰雹等自然天气的影响,还是浸泡在海水中受到海水腐蚀,恶劣的使用环境均会对声速探头中各种金属与橡胶元件造成损坏,致使深度模块、声速模块常发生故障,无法正常采集数据。此外,声速探头需要其他声纳装备通过分压、整流为其提供额定工作电压。由于受供电电路及舰船整体供电系统的影响,导致声速探头经常出现因供电电压不稳而无法正常工作的情况。

4 基于决策树算法的故障诊断实例应用

本文以某舰船自2020年以来某型声速探头日常维护及维修数据为例,分别运用决策树算法与人工判决对数据集内案例进行故障诊断,并将诊断结果进行比较分析。

4.1 数据输入与特征参数获取

通过到一线部队驻地进行实地走访调研,并查阅某单位某舰船声速探头2020-2022年三年日常维护保养与故障修理记录,整理得到某型声速探头2020-2022年各项特征属性原始数据集。然而,通过分析发现,原始数据集中包含一定数量的冗余特征属性。这些冗余特征属性不仅不能对故障分类起到有效作用,相反还会在真实分类结果中产生噪声干扰,影响分类准确度。此外还会加重机器存储与运算方面的负担。因此需要对原始数据集内特征属性进行约简与压缩。经过归纳筛选,最终得到电压信号幅值、深度信号频率以及声速信号频率这三种主要影响声速探头工作状态的特征属性。类属性是最终需要对数据样本进行的分类划分。结合声速探头常见故障分析结果,将声速探头类属性划分为四种:工作正常、电源故障、深度模块故障与声速模块故障。

4.2 算法运行环境

本文采用的决策树算法是在Anaconda 软件平台上,基于Python3语言和Scikit-learn库实现的,采用的操作系统为Win7,CPU 采用Intel Core i5-337U 1.8GHz,内存为8G 存储,128G 固态硬盘。Anaconda 是一个免费开源的Python 和R 语言的发行版本,用于计算科学(数据科学、机器学习、大数据处理和预测分析),Anaconda 致力于简化包管理和部署,涵盖了数据科学领域常见的Python 库,目前超过1200 万人使用Anaconda 各种发行版本。Scikit-learn 是一个Python 第三方提供的非常强力的机器学习库,它集成了数据预处理、数据特征选择、数据特征降维、分类、回归、聚类模型、模型评估等非常全面的各类算法[12]。

4.3 数据预处理

通过分析发现,某型声速探头2020-2022年原始数据集内的数据记录存在一定的冗余、缺省、有噪声等数据缺陷。为避免在数据分析过程报错,提高决策树分类精度,本文对原始数据库集中的数据进行去冗余,数据离散化,补齐缺省值处理,并采用min-max 标准,对数据进行归一化处理,标准化公式如下:

其中,x 为原始数据,min 为该项特征属性的最小值,max为该项特征属性的最大值,x*为标准化处理后得到的数据。最终得到处理后的数据集如表1所示。

表1 数据预处理后的数据集

4.4 算法实现与结果分析

通过调用Anaconda 软件中预装的sklearn 库中的分类函数DecisionTreeClassifier,对表2 中的传感器数据集进行机器学习,伪代码如下所示:

输入:传感器数据集样本

输出:一棵决策树

方法:{

(1)调用各种工具库及函数,例如:from sklearn import tree,import matplotlib.pyplot as plt等;

(2)调用数据集样本,并进行格式转换;

(3)将数据样本分割为训练样本*_train 与检测样本*_test;

(4)选用基尼系数作为选择标准,创建CART决策树;

(5)使用训练样本训练模型;

(6)对训练后的模型进行预测与评估;

(7)决策树图形化显示;

(8)创建IF-Then分类规则。}

图2 为机器通过学习训练样本得到的决策树图形化结果,并将该决策树在检测样本上进行验证,分类准确率达100%,证明该决策树结构能够对给定的声速探头原始数据集进行有效、准确分类。从根节点开始遍历决策树,可以得到以下分类规则:

图2 传感器故障诊断决策树

1)如果归一化后声速信号频率值≤0.903,且归一化后电压幅度值≤0.899,那么该案例属于类别1,可判断为电源故障;如果电压幅度值>0.899,则此案例属于类别3,可判断为声速模块故障;

2)如果归一化后声速信号频率值≥0.903,且归一化后深度信号频率值≤0.899,那么该案例属于类别2,即深度模块故障;如果0.899<深度信号频率值≤0.971,则此例属于类别0,即工作正常;如果深度信号频率值>0.971,那么此例属于类别3,可判断为深度模块故障。

为进一步验证分类规则的准确性与扩展性,将该分类规则应用到8 组最新得到的声速探头故障案例中,并将分类结果与专业技术人员的人工判故结果进行比较,结果显示依据分类规则得到8 组分类结果与专业技术人员人工判决结果一致,且符合装备实际故障情况,表明该分类准则与技术人员在实际装备保障中形成的主观维修经验吻合得很好,证明决策树算法具有较高的分类精度,有效地提高分类效率。

5 结语

本文在简要论述决策树算法理论的基础上,结合声速探头原理与常见故障分析,设计了一种基于决策树算法的声速探头故障诊断方法,并利用Anaconda 数据软件在实装案例数据上进行试验与验证。试验结果表明决策树算法极大提高声速探头故障诊断效率,具有较高的分类精度,可为用户进行声速探头故障修理提供一定的决策支撑,提升用户自修能力,在今后装备保障工作中具有良好的应用前景与推广价值。

猜你喜欢

声速决策树故障诊断
一种针对不均衡数据集的SVM决策树算法
决策树和随机森林方法在管理决策中的应用
声速是如何测定的
基于决策树的出租车乘客出行目的识别
因果图定性分析法及其在故障诊断中的应用
跨声速风洞全模颤振试验技术
机翼跨声速抖振研究进展
基于肺癌CT的决策树模型在肺癌诊断中的应用
基于LCD和排列熵的滚动轴承故障诊断
基于WPD-HHT的滚动轴承故障诊断