公共 自 行 车 系 统 (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对自行车进行分类,以实现自行车故障自动诊断报修。
朴素贝叶斯的显著特点是实时将所有的状态分类特征均视为定性数据,由此将连续的状态分类特征离散化是该方法实施的关键[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
状态分类特征 征兆类型 编码规则X1 服役时长 1-N X2 租用次数 0-500 X3 接力租用次数 0-10租还因素X4 异常租用次数 0-10 X5 异常接力租用次数 0-5 X6 时间利用率 0-1 X7 用户报修指数 0-5 X8 用户评价指数 0-5 X9 服务点饱和度 0-1 X10 服务点类型 0-5服务点因素X11 时间序列 1-24 X12 驻留时间 1-N X13 常在区域 0-5自行车因素 X14 自行车型号 0-5 X15 自行车批次 0-5
朴素贝叶斯分类器(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)进行计算,选取最大值对应的故障类型作为潜在的故障诊断的结果。
贝叶斯分类器的预测能力主要依赖样本的特征向量。理想情况下,利用贝叶斯分类器把观测特征向量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对分类贡献很少或者没有贡献,应该去除。
自行车故障判定问题常用的评价指标是精确率和召回率。分类器对数据集的预测结果或者正确或者不正确,共有4种情况,混淆矩阵见表2。
表2 预测评价指标
Tab.2 Prediction and evaluation index
故障车数量预测值 正常车数量预测值故障车数量真实值 TP FN正常车数量真实值 FP TN
精确率表示预测为故障车的样本中有多少是真正的故障车。预测为故障车有两种可能:一种是把故障车预测为故障车,其数量为TP;另一种是把正常车预测为故障车,其数量为FP。即精确率
召回率表示样本中的故障车有多少被预测正确了。它也有两种可能:一种是把原来的故障车预测成故障车,其数量为TP;另一种就是把原来的故障车预测为正常车,其数量为FN。即召回率
不同的分类问题,对精确率和召回率的要求也不同。由于自行车在使用过程中并不会在大范围内发生故障,即故障车占比较小,诊断模型需要尽可能检测出所有的故障,同时把正常车误判为故障车的损失远小于检测不出故障的损失,因此,自行车的故障检测需要很高的召回率,预测结果也是以召回率为标准的。
根据杭州市城西服务区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
故障车 正常车训练样本总数 29 154 61 669测试样本总数 9 717 20 514正确数 8 337 17 296召回率(%) 85.8
由表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
X1 X2 X3 X4 X5 Q(X) 0.559 2 0.721 2 0.728 5 0.829 6 0.836 4 X6 X7 X8 X9 X10 Q(X) 0.485 7 0.082 9 0.035 3 0.485 7 0.562 1 X11 X12 X13 X14 X15 Q(X) 0.369 6 0.584 1 0.712 2 0.157 0 0.193 0
由表4可以看出,异常接力租用次数对类的贡献率最高,异常租用次数次之,用户评价指数对类的贡献率最低,其次是用户报修指数。根据租还数据分析,用户还车3min之内又租用了另外一辆自行车的次数是最能反映故障车的指标,而用户通过APP上报的信息虽然准确率较高,但是很少有用户会主动报修,因此对类的贡献率最低。
将贝叶斯理论引入公共自行车故障诊断中,建立了PBS故障诊断模型。通过分析杭州市PBS的海量历史营运数据,得到用户的租用记录、维修记录、用户评价和报修信息,选取15个状态分类特征作为自行车故障检测的特征向量;根据NBC后验概率,获取每个状态分类特征对类的贡献率;分析自行车故障判定机理,选择召回率作为评价指标,实现故障自行车的预测诊断。以杭州市城西服务区2016年相关数据为研究对象,实现了故障自行车与正常自行车的分类,当选择训练样本为3个月(90 823条)时,测试样本的准确率达到最高值85.8%。该模型能够在最短的时间内查找故障自行车,提高故障自行车诊断的效率,并且能通过不断的学习来提升诊断正确率。
[1] SHREE S R B,SHESHADRI H S.Diagnosis of Alzheimer’s Disease Using Naive Bayesian Classifier[J].Neural Computing & Applicaitons,2018,29(1):123-132.
[2] WIGGINS M,SAAD A,LITT B.Evolving a Bayesian Classifier for ECG-based Age Classification in Medical Applications[J].Applied Soft Computing,2007,1(8):599-608.
[3] 孟庆华,周晓军,庞茂,等.疫苗算法及其在车辆故障检测中的应用[J].浙江大学学报(工学版),2006,40(2):298-303.MENG Qinghua,ZHOU Xiaojun,PANG Mao,et al.Bacterin Algorithm and Its Application in Vehicle Fault Detection[J].Journal of Zhejiang University(Engineering Science),2006,40(2):298-303.
[4] WU Z L,ZHANG B,ZHU Y L,et al.Transformer Fault Portfolio Diagnosis Based on the Combination of the Multiple Bayesian Classifier and SVM[C]//International Conference on Electronic Computer Technology.Macau,2009:379-382.
[5] YU Jun,HUANG Wentao,ZHAO Xuezeng.Combined Flow Graphs and Normal Naive Bayesian Classifier for Fault Diagnosis of Gear Box[J].Proceedings of the Institution of Mechanical Engineers Part C-Journal of Mechanical Engineering Science,2016,230(2):303-313.
[6] 姚成玉,李男,冯中魁,等.基于粗糙集属性约简和贝叶斯分类器的故障诊断[J].中国机械工程,2015,26(14):1969-1977.YAO Chengyu,LI Nan,FENG Zhongkui,et al.Fault Diagnosis Based on Rough Set Attribute Reduction and Bayesian Classifier[J].China Mechanical Engineering,2015,26(14):1969-1977.
[7] ZHOU C,LIU Y,YANG D P.Application of Naive Bayesian Classifier on Predictive Study of Incomplete Data[C]//International Conference on Risk and Reliability Management.Beijing,2008:686-688.
[8] 祝志博,王培良,宋执环.基于PCA-SVDD的故障检测和自学习辨识[J].浙江大学学报(工学版),2010,44(4):652-658.ZHU Zhibo, WANG Peiliang,SONG Zhihuan.PCA-SVDD Based Fault Detection and Self-learning Identification[J].Journal of Zhejiang University(Engineering Science),2010,44(4):652-658.
[9] 刘江,蔡伯根,王剑,等.基于主成分分析的车辆组合导航系统故障检测与隔离算法[J].交通运输系统工程与信息,2009,9(5):46-52.LIU Jiang,CAI Bogen,WANG Jian,et al.Principal Component Analysis Based Fault Detection and Isolation Algorithm for Integrated Vehicle Navigation System[J].Journal of Transportation Systems Engineering and Information Technology,2009,9(5):46-52.
[10] 王利民.贝叶斯学习理论中若干问题的研究[D].长春:吉林大学,2004.WANG Limin.A Study of Some Problems in Bias’s Learning Theory[D].Changchun:Jilin University,2004.
[11] 王实,高文.增强型朴素贝叶斯学习[J].计算机科学,2000,27(4):46-49.WANG Shi,GAO Wen.Boosting Naive Bayesian Learning[J].Computer Science,2000,27(4):46-49.
[12] 王双成,杜瑞杰,刘颖.连续属性完全贝叶斯分类器的学习与优化[J].计算机学报,2012,35(10):2129-2138.WANG Shuangcheng,DU Ruijie,LIU Ying.The Learning and Optimization of Full Bayes Classifiers with Continuous Attributes[J].Chinese Journal of Computers,2012,35(10):2129-2138.
[13] 吴满金,董红召,刘冬旭,等.公共自行车多目标动态调度建模与算法研究[J].机电工程,2015,32(7):1006-1010.WU Manjin,DONG Hongzhao,LIU Dongxu,et al.Research on the Dynamic Model with Multi-objective and Algorithm for Public Bicycle Rebalancing Problem[J].Journal of Mechanical & Electrical Engineering,2015,32(7):1006-1010.
[14] Fishman E,Washington S,Haworth N.公共自行车文献综述[J].城市交通,2014,12(2):84-94.Fishman E,Washington S,Haworth N.Literature Review of Public Bicycles[J].Urban Traffic,2014,12(2):84-94.
Public Bicycle System Fault Diagnosis Based on Naive Bayesian Classifier