李召召,王立德,岳 川,申 萍
(北京交通大学 电气工程学院,北京 100044)
MVB总线是目前轨道交通车辆主流的控制网络.牵引制动等控制信号、轴温报警等监测信号均需通过MVB传输,因此其通信质量关乎着整个列车的安全稳定运行.然而现行列车缺乏对MVB网络本身的状态监测和故障诊断措施,节点、线路、运行环境等多种因素都可能导致网络故障的发生,且难以排查和定位.MVB端接是为了保证总线阻抗的连续性[1],防止总线因阻抗不匹配而发生反射现象.不良的端接将使总线波形畸变恶化,导致误码率和丢包率上升、通信时延增加,影响总线的通信质量和列车的稳定运行.在列车运营过程中,维护人员操作不当或环境振动等原因都有可能导致端接故障发生.端接问题导致的列车运行故障曾发生过多起,诊断和定位该故障均付出了较大的时间和经济成本.
目前针对网络的故障诊断技术按照信息提取方式可以分为两种:基于应用层告警相关性分析的数据挖掘方法和基于链路层数据信息的因果关系分析方法.基于告警相关性分析的方法主要应用于以太网网络故障诊断和定位研究中.文献[2]利用简单网络管理协议(Simple Network Management Protocol,SNMP)提取了网络告警信息,并对告警数据进行模糊关联规则挖掘,按照告警相关性分析结果实现诊断和定位网络故障的目的.文献[3-4]则利用控制局域网(Controller Area Network,CAN)总线数据链路层的错误帧信息,通过上下文无关法对网络间歇性故障现象进行数学表述,实现了CAN总线间歇性断路的故障定位.文献[5]采用仿真的方式提取网络链路利用率、吞吐量等网络服务质量指标作为样本特征,并利用支持向量机训练得到网络故障样本和正常样本之间的分类超平面,将测试样本到超平面的距离量化为网络健康度,对网络性能进行了健康状态评估.但如MVB类的总线式网络大多没有部署管理协议,无法有效监视网络状态、提取网络特征,利用链路层指标也只能发现异常却不能诊断和定位故障.故针对MVB等总线式网络的研究多集中在网络协议的改进和资源的优化配置上[6-8],对MVB网络本身的状态监测和故障诊断研究并不多见.
SVM是文献[9]提出的最大间隔分类器,在小样本集下可获得较好分类器泛化性能,经过核方法处理更可以在高维空间内实现数据集的线性可分,但决定其分类器性能的核函数参数和惩罚参数的选择一直是一个难点.文献[10]提出了一种simpleMKL的多核学习方法,算法将权重化的核函数组合替代原有的单一核函数,在模型训练过程中确定各核函数权重,使得样本在核函数组合下得到了更好的映射,提升了分类器性能,省去了确定核函数参数的过程.
本文作者提出一种基于总线物理层波形信号时域参数的特征提取方法,并采用机器学习方法识别网络故障模式,将网络故障诊断转换成分类问题.结合物理波形特征和多核学习支持向量机(MKLSVM)算法,完成了对端接故障下特征样本的诊断分类,并搭建平台、采集数据,验证了该方法的有效性.鉴于不同的分类器性能度量往往会导致不同的评判结果,使得分类器性能优劣难以得到有效判断,分别从分类精度、查准率、查全率、总体代价四种指标,对比分析了单核SVM和MKLSVM的分类性能,最后结果显示MKLSVM在4种评价指标中均优于单核SVM.
端接故障发生后,信号沿MVB线缆传播至线缆终端时瞬态阻抗发生变化,一部分信号发生反射,在信号发射端与信号叠加后引起类似振铃的波形失真.一旦反射引起的下冲超过接收电路的噪声容限将会造成MVB解码失败,数据包被丢弃,使得网络性能下降.如图1所示,在网络端接故障发生前后对主设备波形进行采样.按照端接和采样设备的位置,本文将网络工况划分为正常、近端端接故障、远端端接故障、双侧端接故障四种情况,分别标记为0、1、2、3,从而将该故障诊断问题转化成一个四分类问题.
图1 MVB网络主节点正常波形与 端接故障后波形对比Fig.1 Waveforms of the MVB network master node in normal and terminating fault situation
通过MVB协议分析装置采样网络正常与故障情况下的波形信息,提取相关特征量形成特征数据集,训练出分类模型,并在线部署到车载监测设备.当网络故障发生后采样设备提取波形信息中的特征量作为特征样本,将之作为监测数据通过以太网传输至车载监测设备,进行实时状态监测和诊断,原理如图2所示.
图2 MVB网络故障诊断原理Fig.2 Fault diagnosis of MVB
端接故障发生后,在网络末端造成阻抗不匹配问题,引起波形反射.将MVB源节点视为发射源,其他接收节点和端接电阻视为负载,端接故障后网络负载将发生变化,故障特征信息都将在网络物理层波形中得到体现.本文以MVB主设备为观测对象,对主设备在端接故障发生前后的物理波形进行模拟采样,并从中提取相关时域信息作为样本特征进行进一步研究.物理波形特征包括幅值特征:峰峰值、稳态正电压、稳态负电压、正负稳态偏差;斜率特征:上升斜率、下降斜率、最大回转率;反射特征:下冲.特征量定义如下.
峰峰值Up-p:最大正电压幅值与最大负电压幅值之差:Up-p=Upmax-Unmax.
稳态正电压Ups:当MVB波形达到正电压,振铃减小至稳定状态后采样点电压的均值.
稳态负电压Uns:原理同稳态正电压.
上升斜率kp:数据帧波形由0.9Uns上升到0.9Ups时,上升沿的斜率.
下降斜率kn:数据帧波形由0.9Ups下降到0.9Uns时,下降沿的斜率.
下冲Uundershoot:反射引起振荡后的第2个峰值或谷值.
最大回转率kz:数据帧波形中出现的最大斜率.
正负稳态偏差Udelta:稳态正电压与稳态负电压之差.
支持向量机是一种最大间隔分类器.网络样本集经过特征提取后可描述为特征集{(x1,y1),(x2,y2),…,(xD,yD)},其中:xi∈R8,为第i次采样后的特征样本,yi为标记,D为样本数量.超平面为y(w·x+b)=0,能够以最大间距将距离超平面最近的样本分类.该分类问题的目标函数为
(1)
上式等价于
(2)
则将原函数转化为凸优化求解问题,并引入松弛变量和核函数,构建凸二次规划问题
(3)
式中:αi为拉格朗日乘子;C为惩罚因子;K(xi,xj)为采用的核函数.典型的核函数可采用线性核函数,多项式核函数,高斯核函数,sigmoid核函数.求解后可得决策函数:
(4)
其中
在样本集线性不可分情况下,核函数在支持向量机中的作用至关重要.核函数能在低维空间完成映射后高维空间的点积运算,从而实现样本集在高维空间的线性分类.然而本文所采集的特征为异构的幅值特征、斜率特征和反射特征,不同种类特征对应的最佳核函数或最优参数不一定相同,采用普通支持向量机的单一核函数未必能得到最优的映射.采用多核学习方法(Multiple Kernel Learning,MKL)[10],可将核函数替换为m个不同参数或不同种类基本核的凸组合,见式(5).多核框架下,MKL能综合利用各个基本核的特点提升支持向量机的特征映射能力,避免了在核函数类型选择和参数调节上的难题.MKL通过训练得到每个基核的权重βm,自动学习权重得到最终的映射关系.
定义多核函数:
且βm≥0,
(5)
则支持向量机的优化目标函数变为
s.t. 0≤αi≤C,
(6)
决策函数为
(7)
多核线性组合后,通过样本学习解得式(6)αi、βm、b,即可得出决策函数h(x).
单一的性能指标评判分类器时,不同的度量指标常常会导致不同的评判结果.因此根据混淆矩阵和代价矩阵,分别以分类精度A、查准率P、查全率R、总体代价C为指标来综合评价模型性能,避免单一性能指标评价分类模型时导致的偏颇.
混淆矩阵见表1.其中若i=j则wij表示第i类被正确分类的数量.若i≠j则wij表示第i类样本被误分类为第j类样本的数量.
表1 混淆矩阵定义
性能度量1),精度A的计算式为
(8)
性能度量2),查准率P:为了便于比较,将全体样本划分为正常(类别4)和故障(类别1、2、3)两种类属,查准率计算式为
(9)
性能度量3),查全率R:为了便于比较,将全体样本划分为正常(类别4)和故障(类别1、2、3)两种类属,查准率计算式为
(10)
性能度量4),总体代价C:在关乎列车安全运行的故障诊断情景中,正常情况被误诊断,即类别4被识别为类别1、2、3的后果只是增加维护工作量,然而故障情况被误识别为正常即类别1、2、3被识别为类别4,则会给列车通信网络的稳定运行留下隐患,造成不可估量的后果,因此错误分类是“非均等代价”的.通过领域知识设定“代价敏感矩阵”,用以权衡不同分类器造成的代价损失,以此为依据判断分类器性能.代价矩阵见表2,其中根据领域专家知识,将c14,c24,c34对于其他代价值比率定为5∶1,表明故障工况被诊断为正常工况造成的后果损失,是正常工况被诊断为故障工况所造成损失的5倍.总体代价为
(11)
按照图1拓扑搭建MVB网络测试平台,其中包括主设备1台,从设备5台,MVB网络协议分析装置1台.测试平台如图3所示.分别去除网络左侧端接器、右侧端接器、两侧端接器,造成端接故障,同时通过MVB网络协议分析装置采集主设备波形样本,每种工况采集样本100个,加上正常工作时采集的100个样本,形成由400个样本构成的样本数据集.从每类样本随机抽取60个作为训练集,训练样本共240个,剩余160个作为测试集.
图3 MVB网络测试平台Fig.3 Testbed of MVB
通过计算波形数据的幅值特征、斜率特征和下冲,得到特征数据集.经过归一化处理后,某些特征量在不同端接情况下存在明显差异.鉴于篇幅,每一类特征数据集随机取30个进行分析,如图4所示.
图4 四种工况下的归一化后征量对比分析Fig.4 Physical waveform features of master node in normal and terminating fault situations
在Matlab环境下,按照1.3步骤进行模型训练和测试.SVM模型训练分别采用4种常用核函数进行,并通过网格寻优法和3种交叉验证确定最优参数.测试结果见表3,由结果可知,线性核、高斯核、多项式核的分类准确率较高.
表3 分类精度
选择单核SVM准确率较高的高斯核、多项式核、齐次多项式核(一维齐次多项式核则为线性核函数)为基本核函数;高斯核函数sigma取值为[0.5 1 2 5 7 10 12 15 17 20],多项式维度d取值为[1 2 3],核函数类型共16种.不仅将样本输入到上述核函数中进行映射,还需将样本中的8维特征分量分别输入不同的核函数进行映射,最终使得数据在新的特征空间得到更好的表达.因此基本核函数共计(8+1)×16=144个.利用simpleMKL算法对模型进行训练求解,并经测试集测试,得到MKLSVM分类精度为95.63%,优于单一核函数的SVM模型.
求得各个分类器的混淆矩阵,并分别计算查全率、查准率、总体代价,结果如图5所示.测试结果显示,传统的单一核函数SVM分类器性能皆不如MKLSVM,MKLSVM分类器在精度、查全率、查准率、总体代价4个评价指标上均为最优.
图5 分类器性能对比Fig.5 Performance comparison between MKLSVM and SVM classifiers
诊断软件采用SVM算法和C#进行编程实现,并进行基于实际平台的验证测试,其过程见图6.采集正常和故障数据,并进行类别标记、文档存储.利用诊断软件对测试集进行诊断预测,诊断结果(软件界面输出)与实际故障类型(测试文档首列标记)一致,验证了软件的有效性.
图6 故障诊断软件Fig.6 Fault diagnosis software
1)提出了基于MVB物理层波形特征和机器学习理论进行列车通信网络端接故障的诊断方法,并通过搭建平台、采集数据、提取特征、模型训练进行实验,结果显示该方法能够有效诊断端接导致的网络性能恶化问题,进而证明通过提取物理波形特征进行网络故障诊断的思路是一种行之有效的方法.
2)以精度、查准率、查全率、总体代价四种性能度量对传统的SVM分类器模型和MKLSVM模型进行了综合性能评估,结果显示多核方法的改进使得四种评价指标均较传统单一核函数SVM有了提升.
3)端接故障诊断需要采集波形数据,提取状态特征,并基于大量历史数据训练模型,而后才能应用于在线监测和故障诊断.对于批量化生产的同型号列车,网络设备、布线工艺、运行环境等具有高度的相似性,其网络具有固定的故障模式.文中MKLSVM算法的验证基于Matlab编程实现,尚不具备实用化条件.未来将重点研究实现实用化的MKLSVM故障诊断软件,分析基于波形特征和机器学习的端接故障诊断模型在同型号列车中推广应用的可行性.