APP下载

基于朴素贝叶斯分类器的公共自行车系统故障诊断方法

2019-05-18时中朝郝伟娜董红召

中国机械工程 2019年8期
关键词:训练样本特征向量贝叶斯

时中朝 郝伟娜 董红召

浙江工业大学智能交通系统联合研究所,杭州,310006

0 引言

公共 自 行 车 系 统 (public bicycle system,PBS)发展迅速,然而因工作环境较差,自行车损坏率较高,带来了交通安全风险并影响了PBS的服务质量。目前发现故障车的主要方法是根据用户主动报修和工作人员巡检,但该方法成本高、效率低,制约了PBS的发展。网络化大数据及贝叶斯分类器技术给PBS故障车诊断提供了新途径。

贝叶斯分类器用于诊断的相关研究在国内外方兴未艾,文献[1-3]将朴素贝叶斯分类器或改进后的贝叶斯分类器应用到疾病的判别与诊断中,精度较高。文献[4-6]提出贝叶斯网络分类器(naive Bayesian classifier,NBC)与其他方法相结合,以此来诊断机器故障,判断精度较好。ZHOU等[7]分别采用NBC处理不完备数据和确定属性加权等,显示了良好的精度和效率。祝志博等[8]提出了基于PCA-SVDD的故障检测和自学习辨识的方法。刘江等[9]提出了自行车组合导航系统容错设计结构及基于主成分分析的故障检测与隔离算法。

针对公共自行车结构简单、传感器少的情况,本文提出将贝叶斯分类算法[10-11]应用于公共自行车故障检修。通过分析杭州市PBS的海量历史营运数据,得到用户的租用记录、维修记录、用户评价和报修信息,构建了NBC,并利用NBC对自行车进行分类,以实现自行车故障自动诊断报修。

1 基于朴素贝叶斯分类器的PBS自行车故障判定模型

1.1 PBS状态分类特征提取及故障类型

朴素贝叶斯的显著特点是实时将所有的状态分类特征均视为定性数据,由此将连续的状态分类特征离散化是该方法实施的关键[12]。在实际运用中,自行车产生故障的因素[13-14]有很多,且没有统一的标准,因此,对每一种状态分类特征进行分段处理,从而实现离散化。

PBS的使用情况较为复杂,不同类型的服务点会产生不同的租还需求特性,不同时间也会产生不同的租还需求特性。选取3类因素共15个状态分类特征作为自行车故障检测的特征向量,见表1。表1中,服役时长为从自行车投入使用或上次保养之后到目前所使用的时间,以保养时间为服役时长计算起点是为了确保没有遗留问题会对预测结果造成影响。租用次数为从自行车投入使用或上次保养之后到目前的租用次数。接力租用次数表示用户还车3min之内又租用了另外一辆自行车的次数。异常租用次数表示用户租用时长小于2min的租用次数。时间上利用率为某自行车租用总时间与服役时长的比值。用户报修指数和用户评价指数为根据APP上报的信息进行分类,默认状态为0,指数越大,表明用户对自行车的满意度越低,间接增加了自行车故障的概率。服务点饱和度为某服务点在桩自行车数量与锁桩数的比值。服务点类型为根据服务点的布局位置分为医院、小区、写字楼、地铁和火车站等类别。将一天按小时分为24个时段,时间序列表示某自行车所处的是哪个时段。驻留时间表示某自行车自上次租用之后到下一次被租用的时长。常在区域表明自行车常在的服务点区域,用于区分不同地域使用情况的差异。自行车批次和自行车型号是自行车出厂信息,批次以年月日识别,型号则有自行车厂商设置。如果信息缺失,默认设置为0。PBS预测结果分为两类,分别为正常车和故障车,即故障类型C{C1,C2}。

表1 PBS单个服务点状态分类特征类型Tab.1 PBS single service station attribute variable type

1.2 朴素贝叶斯分类器与模型的建立

朴素贝叶斯分类器(NBC)是一种基于Bayesian理论的分类算法,其鲜明的特点是各个特征不具有相关性,是相互独立的。建立在自行车基础上的NBC网络拓扑结构如图1所示。

图1 NBC在PBS中的建模结构Fig.1 Modeling structure of NBC in PBS

X是自行车状态观测值的集合即特征向量,Xi为特征向量的第i(i=1,2,…,15)状态分类特征,X=(X1,X2,…,X15)。每一个状态分类特征Xi有若干个值,xi表示状态分类特征Xi对应的具体值,即特征值。对于一个具体特征向量,由贝叶斯定理,其对应的分类值Ct的概率

求每个分类值后验概率时,特征值x1,x2,…,x15均不变,即分母保持不变,因此可以将其表示为常数,则式(1)可简化成

根据各特征之间相互独立的特点,式(2)可以简化成

这样,只需要计算每一个分类值Ct下单个特征的条件概率P(xi|Ct)即可。即

式中,N 为所有训练样本的频数和;NCt为故障类型Ct对应样本频数;NC(xti)表示故障类型为Ct且状态分类特征Xi的值为xi的样本频数。

如果某些状态分类特征的数据缺失,该类的条件概率就等于零,则整个类的后验概率就等于零,将无法通过式(5)得到准确的结果。因此,假设每个特征值都已经出现了一次,对式(5)使用拉普拉斯平滑方法,在分子上加1,为了使概率和为1,在分母上加上M(M=16),可得

将式(4)和式(6)代入式(3),可得

根据贝叶斯最大后验概率原则,对于任意给定的特征向量P(x1,x2,…,x15),贝叶斯分类器的作用就是选择概率最大的故障类型Ct作为故障类型的评定结果。利用式(7)进行计算,选取最大值对应的故障类型作为潜在的故障诊断的结果。

2 状态分类特征对类的贡献和评价指标

2.1 状态分类特征对类的贡献

贝叶斯分类器的预测能力主要依赖样本的特征向量。理想情况下,利用贝叶斯分类器把观测特征向量X分给类C,特征向量X的每个状态分类特征都有很大的贡献。为了量化每个状态分类特征对分类的贡献,定义状态分类特征对类的贡献率C,C表示只考虑Xi的情况下C1和C2后验概率差值的平方,Xi对分类的贡献表示为

其中,xj是状态分类特征Xi中的第j个具体值(0<j<t)。由概率可知0<Q(Xi)<1,Q(Xi)越大,Xi对分类的贡献越多。当Q(Xi)接近于0时,表明状态分类特征Xi对分类贡献很少或者没有贡献,应该去除。

2.2 评价指标

自行车故障判定问题常用的评价指标是精确率和召回率。分类器对数据集的预测结果或者正确或者不正确,共有4种情况,混淆矩阵见表2。

表2 预测评价指标Tab.2 Prediction and evaluation index

精确率表示预测为故障车的样本中有多少是真正的故障车。预测为故障车有两种可能:一种是把故障车预测为故障车,其数量为TP;另一种是把正常车预测为故障车,其数量为FP。即精确率

召回率表示样本中的故障车有多少被预测正确了。它也有两种可能:一种是把原来的故障车预测成故障车,其数量为TP;另一种就是把原来的故障车预测为正常车,其数量为FN。即召回率

不同的分类问题,对精确率和召回率的要求也不同。由于自行车在使用过程中并不会在大范围内发生故障,即故障车占比较小,诊断模型需要尽可能检测出所有的故障,同时把正常车误判为故障车的损失远小于检测不出故障的损失,因此,自行车的故障检测需要很高的召回率,预测结果也是以召回率为标准的。

3 实验设计与分析

根据杭州市城西服务区2016年PBS的交易记录和报修维修记录进行训练和测试。运用NBC实现公共自行车故障诊断,主要包括以下3个阶段的工作:①准备工作阶段。通过TCP协议获取服务点及用户APP上传的用户租用数据,如果租用时长小于预设值,则对数据进行预处理,整理出自行车的特征向量。②分类器训练阶段。计算每个类别在训练样本中出现的频率及状态分类特征划分对类别的条件概率估计。③完成公共自行车故障检测。通过贝叶斯分类器对待诊断的自行车特征向量进行分类,并分析结果,判断自行车是否存在故障。自行车故障自动检测流程如图2所示。

图2 PBS故障自动检测流程Fig.2 PBS automatic fault detection process

将不同的训练样本和测试样本所得数据进行对比,得到不同样本预测的召回率,如图3所示。

图3 不同样本预测的召回率Fig.3 Recall rates predicted by different samples

由图3可知,选择训练样本从1个月到3个月时,测试样本的召回率逐渐提高,这说明训练样本在逐渐增多时模型的样本所包含的情况也趋于完整。当选择训练样本为3个月(90 823条)时,测试样本的召回率达到最高值85.8%。选择训练样本从3个月开始,测试样本的召回率呈现下降趋势,分析可知样本中包含过多与当前日期相隔太远的信息,由于信息已经过时,无法准确地预测当前状态,反而对分类结果是一种负担,故应根据实际情况(服务区域大小、自行车数量和当地的生活习惯)选择合适的训练样本。测试样本召回率达到最高值时样本详情见表3。

表3 样本详情Tab.3 Sample details

由表3可以看出,当选择训练样本为3个月时,训练样本总数为90 823条数据,其中,故障车为29 154条,正常车为61 669条,测试样本总数为30 231,其中,故障车为9 717条,正常车为20 514条。应用NBC算法进行故障诊断,召回率为85.5%,精度较优。同时,获取各状态分类特征对类的贡献率,见表4。

表4 状态分类特征对类贡献率Tab.4 Attribute contribution rate to class

由表4可以看出,异常接力租用次数对类的贡献率最高,异常租用次数次之,用户评价指数对类的贡献率最低,其次是用户报修指数。根据租还数据分析,用户还车3min之内又租用了另外一辆自行车的次数是最能反映故障车的指标,而用户通过APP上报的信息虽然准确率较高,但是很少有用户会主动报修,因此对类的贡献率最低。

4 结论

将贝叶斯理论引入公共自行车故障诊断中,建立了PBS故障诊断模型。通过分析杭州市PBS的海量历史营运数据,得到用户的租用记录、维修记录、用户评价和报修信息,选取15个状态分类特征作为自行车故障检测的特征向量;根据NBC后验概率,获取每个状态分类特征对类的贡献率;分析自行车故障判定机理,选择召回率作为评价指标,实现故障自行车的预测诊断。以杭州市城西服务区2016年相关数据为研究对象,实现了故障自行车与正常自行车的分类,当选择训练样本为3个月(90 823条)时,测试样本的准确率达到最高值85.8%。该模型能够在最短的时间内查找故障自行车,提高故障自行车诊断的效率,并且能通过不断的学习来提升诊断正确率。

猜你喜欢

训练样本特征向量贝叶斯
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
克罗内克积的特征向量
基于贝叶斯解释回应被告人讲述的故事
人工智能
一类三阶矩阵特征向量的特殊求法
租赁房地产的多主体贝叶斯博弈研究
租赁房地产的多主体贝叶斯博弈研究
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用
基于小波神经网络的网络流量预测研究
宽带光谱成像系统最优训练样本选择方法研究