杜佳新,马利民
(北京信息科技大学 计算机学院,北京 100192)
船用柴油机燃油喷射系统的主要功能是为柴油机定时、定量地喷射雾化好的燃油,为燃油燃烧做功提供保障。燃油喷射系统的运行情况直接影响着柴油机的性能,一旦发生故障,将直接导致柴油机工作异常,对船舶设备及人员的安全带来威胁[1]。由于燃油喷射系统在运行过程中,一直处于恶劣的环境,温度高、压力大,喷头更是直接处在高温、高压的燃气内,喷射过程中高压的燃油还会不停地冲刷喷孔的内壁,致使故障时有发生。燃油喷射系统故障是柴油机故障诊断中的一个重要研究内容[2]。燃油喷射系统的常见故障[3]有喷油正时提前、喷油正时延后、喷油孔堵塞、喷油孔磨损。
数据挖掘技术是通过对设备数据进行转换、提取、分析等方式,为决策者提供易于理解、实用性强的规则或知识[4]。本文利用数据挖掘技术,实现船用柴油机燃油喷射系统数据的分析。
数据可视化技术通过图形化的方式,能够清晰、有效地传达和分析信息,是一种重要的探索性的数据分析和数据挖掘手段[5]。本文将数据可视化技术应用于船舶数据的移动端显示,方便船舶工作人员了解设备的运行情况,避免发生维修不及时的情况。
数据挖掘的方法很多,决策树是其中可读性强且简单直观的方法,具有类似于树的结构,是一种实现分析及预测的分类模型。决策树算法通过把数据从根节点划分到叶子节点的方式,把监测实例划分为不同类别,最终形成树的形状。树的根节点位于最顶端,包含着所有数据,这些数据被分为若干类;分支节点是根节点分类后的新属性;叶子节点无法再继续分类,代表具体的分类类别。决策树的结构如图1所示。
目前使用较多的,也是比较具有代表性的决策树算法包括ID3算法,C4.5算法和CART算法。ID3算法划分规则简单,树的深度平均,且分类速度快。C4.5利用信息的增益率来筛选特征属性,并且可以在树的构造过程中完成树的剪枝,但是实现的过程较为繁琐。CART算法会把数据所有的节点都作为类别的分配,当数据样本产生了小小的变化时,生成的树的模型也会随着发生巨大的变化。
由于决策树ID3算法的整个决策过程简单直观、易于理解,分类效果较好,具有逻辑清晰、层次分明的特点[6],本文选择ID3算法实现对船用柴油机的燃油喷射系统运行状态的分析及预测。
数据可视化使人们能够更直观地查看和理解数据信息,但直接使用代码绘制图形十分复杂,从底层使用原生技术实现数据可视化的方案,需要非常庞大的工作量[7],因此借助开源的可视化库是可行的方案。国内外的可视化库中,发展最好的包括Highcharts、Data-Drixen-Documents(D3)和Echarts等。
1)Highcharts的图表类型和样式丰富、兼容性好、交互性强,并且不需要引入外部的插件,只要引入脚本就可以运行。
2)D3具有高度可定制的特点,是一个由数据驱动文档的可视化图表库,但浏览器的兼容性差,且前期需要花费较大的学习成本,所以使用门槛较高。
3)Echarts是由百度研发的数据可视化图表库,兼容各种终端,具有多种数据格式无需转换直接使用的特点,并且图表类型十分丰富,图表设计精巧,互动界面良好,可跨平台使用。
本文采用的编程语言为python,因此采用pyecharts技术实现数据的可视化展示。pyecharts借助Echarts跨平台使用的特点,可以在不需要安装其他工具的前提下完成Echarts与python的对接,能够便捷地在python中直接使用数据,并在移动端生成可视化图表。
本文决策树模型构建的主要步骤为:数据准备、数据挖掘、解释与结果评估。决策树的生成原理如图2所示。
构造燃油喷射系统的决策树分类模型需要准备训练集和测试集数据。首先选择运行状态类别和相关属性数据,之后进行数据处理。
燃油喷射系统的运行状态分别为:喷油正时提前、喷油正时延后、正常情况、喷油孔堵塞、喷油孔磨损,本文用X、Y、Z、M、N表示。
船舶监测系统数据的属性有很多,本文采用对燃油喷射系统运行情况影响较大的监测属性进行分析预测:功率、油耗率、喷油量、排气温度、最大爆发压力、单缸和其他缸排气温度平均值差,分别用a、b、c、d、e、f表示。
将不同运行状态下的数据整合为表格文件,表1为某船用柴油机燃油喷射系统的部分数据。
利用决策树算法进行分析及预测,需要对连续性数据离散化处理,本文利用等距划分法对表1数据进行离散化处理,其规则如表2所示。
表1 部分样本数据表
表2 数据离散化规则
利用离散化规则处理后,得到训练集和测试集数据。将表1中样本数据利用表2中的离散化规则进行处理,结果如表3所示。
表3 数据展示实例离散化结果
将训练数据导入python语言的ID3算法进行分析研究。ID3算法是通过信息熵进行分类度量的,熵是衡量数据集的不规则程度的单位,熵值的大小与系统的混乱程度呈正比例关系[8]。熵通常用字母I表示。
信息熵是信源S的不确定性的一个度量。若信源S有m个状态或结果为S1,S2,…,Sm,相应的各概率为P(S1),P(S2),…,P(Sm),则该信源的信息熵H(S)为
H(S)=P(S1)I(S1)+P(S2)I(S2)+
…+P(Sm)I(Sm)=
(1)
条件信息熵是指在接收了信源A之后,信源S的不确定性。假如信源A有n个结果或状态为A1,A2,…,An,与其相对应的概率是P(A1),P(A2),…,P(An),则条件信息熵H(S,A)可以表示为
(2)
燃油喷射系统运行状态分析预测的决策树模型的算法实现流程如图3所示。
训练集数据导入程序后,根据分类结果绘制决策树并剪枝,得到决策树分类模型如图4所示。
图中变量X、Y、Z、M、N为燃油喷射系统的运行状态类别,数字为样本数据的离散划分等级,分类模型的结果具体如下:
1)若油耗率小于174.2 g/(kW·h),则对应的运行状态为喷油正时提前;
2)若油耗率在174.2~174.9 g/(kW·h),且功率在267~285 kW,则对应的运行状态为喷油正时提前;
3)若油耗率在175.7~176.5 g/(kW·h),则对应的运行状态为喷油孔磨损;
4)若油耗率在174.2~174.9 g/(kW·h),且功率在285~305 kW,则对应的运行状态为正常;
5)若油耗率在174.9~175.7 g/(kW·h),且喷油量在350~353 kg/h,则对应的运行状态为喷油正时延后;
6)若油耗率在174.9~175.7 g/(kW·h),且喷油量大于353 kg/h,则对应的运行状态为喷油孔堵塞;
7)若油耗率大于176.5 g/(kW·h),则对应的运行状态为喷油孔堵塞。
最后将测试集数据导入模型进行评估及预测试验,将预测结果与实际的分类情况进行计算比对后,得到本试验的决策树分类模型的精度达到94%,模型满足基本的精度要求。
利用pyecharts进行图表绘制,首先需要调用使用的图表,进行标题设置之后导入数据,最终生成图表。将燃油喷射系统的数据和决策树分析及预测的结果,通过pyecharts进行数据的可视化展示,代码实现流程如图5所示。
1)采用折线图作为燃油喷射系统的数据展示。在程序中导入折线图,设置主标题为数据显示,然后加入数据,生成并保存图表,在移动端中显示的截图如图6所示。
通过输出的折线图,能够直观地查阅燃油喷射系统的各属性数据。折线图中每一种颜色的线都代表了一种属性数据,还可以通过点击交互按钮查看单个属性数据,以及查看具体数据值,折线图的纵坐标可以根据展示的数据值进行自适应变化。各监测属性数据是对燃油喷射系统运行状态进行分析及预测的基础,可以为船舶工作人员和维修人员提供帮助。
2)采用平行坐标图对分析及预测结果进行展示。在程序中导入平行坐标图,设置主标题为燃油喷射系统,然后加入数据,生成并保存图表,在移动端中显示的截图如图7所示。
通过输出的平行坐标图,能够直观地查阅燃油喷射系统的分析预测结果,也可以通过右侧界面交互按钮切换详细数据展示。将分析及预测的结果进行可视化展示,能够方便工作人员及时了解设备的运行情况。
3)采用饼图作为燃油喷射系统各状态类型发生概率的展示。在程序中导入饼图,设置主标题为系统状态概率图,然后加入数据,生成并保存图表,在移动端中显示的截图如图8所示。
通过输出的饼图可以使用户清晰、直观地查看燃油喷射系统各运行状态类型发生的概率,方便船舶工作人员了解一段时间内设备不同故障的发生频率,帮助船舶工作人员在远航前对可能发生的问题及时做好维修的准备。
船用柴油机燃油喷射系统的故障诊断一直是研究的热点。本文提出了一种船用柴油机燃油喷射系统常见运行状态分析的思路,未来还可以进一步研究非典型故障的情况。本文针对船用柴油机燃油喷射系统数据可视化的探讨,可以为船舶工作人员和维修人员提供帮助,方便工作人员直观地在移动端查看数据,及时了解设备的运行情况,避免发生维修不及时或者错误的情况,为船舶的航运安全提供保障。