一种基于K-means聚类分析算法的汽车故障数据诊断方法技术领域
本发明涉及一种汽车故障数据诊断方法,特别是涉及基于K-means聚类分析算法
的汽车故障数据诊断方法。
背景技术
目前,车辆研发、调试过程中出现的故障数据往往具有突发、偶发性的特征。研发
人员往往需要具备丰富的经验、完善的数据参考,花费相当多的时间来整理分析采集到的
故障信号数据,从而得出故障规律,解析故障产生原因。对于采集的已知原因汽车故障数
据,通常较为容易识别,而对于突发、偶发性故障数据,想要发现其中规律,便需要借助一些
方法。
发明内容
本发明主要解决的技术问题是如何提供一种采用K-means聚类分析算法,帮助研
发、售后等相关人员对看似无规率的非周期性车辆故障数据进行数据分析、挖掘,帮助找出
规律,解决问题。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于K-means聚类
分析算法的汽车故障数据诊断方法,包括以下操作步骤:
S1:确定初始类簇中心点,并对初始类簇中心点分类;
S2:车辆故障数据分级确定,运行K-means聚类分析算法;
S3:利用函数进行多次评估;
S4:故障确定。
在一个较佳实施例中,所述的步骤S2中 K-means聚类分析算法,包括以下操作步
骤:
a: 设定分组策略,确定K个初始聚类中心点;
b: 迭代收敛,更新中心点;
c: 分析类簇数据规律。
在一个较佳实施例中,所述的步骤a中,按照故障等级或时间点设定不同的分组策
略,所述的初始聚类中心点为各指定等级故障点或指定时间点。
在一个较佳实施例中,所述的步骤b中,寻找到距离各自最近的聚类中心点,将其
加入到该聚类中,并形成初始的聚类结果,完成一次迭代。
在一个较佳实施例中,所述的步骤b中,重复迭代过程,更改聚类中心,令各聚类数
据到其聚类中心定的距离和最小或小于指定阈值。
在一个较佳实施例中,所述的步骤S1中,初始聚类中心点根据故障等级或时间点
确定初始聚类中心点位置,从而确定K值和K个初始类簇中心点。
在一个较佳实施例中,所述的步骤S1中,初始聚类中心分类按照S2中所确定的故
障等级分类,或按照时间点分类。
在一个较佳实施例中,所述的步骤S1中,确定初始聚类中心点位置后,迭代收敛次
数为若干次。
在一个较佳实施例中,所述的步骤S1中,确定初始聚类中心点位置后,迭代收敛次
数为一次。
在一个较佳实施例中,所述的步骤S2中,所述故障数据分为一级故障、二级故障和
三级故障,且一级故障为最高等级故障。
本发明的有益效果是:采用K-means聚类分析算法,帮助研发、售后等相关人员对
看似无规率的非周期性车辆故障数据进行数据分析、挖掘,帮助找出规律,解决问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使
用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于
本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它
的附图,其中:
图1是本发明基于K-means聚类分析算法的汽车故障数据诊断方法一具体实施例的故
障随时间的数据样例图;
图2是本发明基于K-means聚类分析算法的汽车故障数据诊断方法一具体实施例中选
定了K值(K=3)的数据样例图。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施
例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通
技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范
围。
请参阅图1-2,在本发明的一个具体实施例中提供一种基于K-means聚类分析算法
的汽车故障数据诊断方法,所述的基于K-means聚类分析算法的汽车故障数据诊断方法包
括以下操作步骤:
S1:确定初始类簇中心点,并对初始类簇中心点分类;
S2:车辆故障数据分级确定,运行K-means聚类分析算法;
S3:利用函数进行多次评估;
S4:故障确定。
所述的步骤S2中 K-means聚类分析算法,包括以下操作步骤:
a: 设定分组策略,确定K个初始聚类中心点;
b: 迭代收敛,更新中心点;
c: 分析类簇数据规律。
所述的步骤a中,按照故障等级或时间点设定不同的分组策略,所述的初始聚类中
心点为各指定等级故障点或指定时间点。所述的步骤b中,寻找到距离各自最近的聚类中心
点,将其加入到该聚类中,并形成初始的聚类结果,完成一次迭代,所述的步骤b中,重复迭
代过程,更改聚类中心,令各聚类数据到其聚类中心定的距离和最小或小于指定阈值。
所述的步骤S1中,初始聚类中心点根据故障等级或时间点确定初始聚类中心点位
置,从而确定K值和K个初始类簇中心点。所述的步骤S1中,初始聚类中心分类按照S2中所确
定的故障等级分类,或按照时间点分类。所述的步骤S1中,确定初始聚类中心点位置后,迭
代收敛次数为若干次。所述的步骤S1中,确定初始聚类中心点位置后,迭代收敛次数为一
次。所述的步骤S2中,所述故障数据分为一级故障、二级故障和三级故障等,且一级故障为
最高等级故障。
在一个具体实施例中:发明基于K-means聚类分析算法,能将故障数据按照既定策
略进行优化分组,从而使故障构成及成因更为清晰,便于分析理解。其中,①为一级故障;②
为二级故障;③为三级故障。
虽然K-means聚类分析算法有着一定局限性。例如,首先,算法只能找到局部最优
的聚类,而不是全局最优的聚类。同时算法的结果非常依赖于初始随机选择的聚类中心的
位置。但是,在汽车故障数据诊断方面,这两个劣势却并未造成影响,甚至成了优势。因为故
障簇往往发生在很短的时间内,同时由于部分故障内在的关联性及故障等级的确定性,导
致初始聚类中心的定位将变得较为准确,从而使多次迭代后收敛的聚类中心位置足够良
好。并且,我们也无需对全局进行聚类分析,因为除了周期性故障,相对来说故障均是随机
且独立的。
同时,通常采集的汽车行驶及故障数据量较为庞大,而K-means聚类分析算法对大
数据集有较高的效率并且是可伸缩性的,故采用该算法来对行车故障数据进行分析处理。
本发明算法包含三个主要步骤:
1、设定分组策略,确定K个初始聚类中心点。根据不同需求,设定不同的分组策略,如按
照故障等级分,或按照时间点分等,初始聚类中心点为各指定等级故障点或指定时间点等。
2、迭代收敛,更新中心点。遍历除聚类中心外其余的故障点,找到距离各自最近的
聚类中心点,将其加入到该聚类中。这样,就有了一个初始的聚类结果,这是一次迭代的过
程。更新聚类中心,重复迭代过程,使各聚类数据到其中心点的距离和(或类簇半径的加权
平均值等其他可评判指标)最小(或小于指定阈值)。
3、分析类簇数据规律。分析各聚类数据中故障数据的产生规律,得出聚类分析结
果。
下面结合附图和实施例对本发明进行详细的描述。合理的确定K值和K个初始类簇中心
点是决定K-means聚类分析算法效果的重要前提。车辆行驶故障数据一般分为一级故障、二
级故障、三级故障等。在数据分析中,研发人员和用户通常较为关注高等级故障,如一级故
障。因此,在选取初始聚类中心点的位置及数量时,便可选取一级故障发生时刻,即一级故
障数为K值,一级故障时刻为初始类簇中心点位置。图1为故障随时间的数据样例。
通常我们通过多次运行算法,使用不同的随机生成的聚类中心点运行算法,然后
对各自结果C通过evaluate(C)函数进行评估,选择多次结果中evaluate(C)值最小的那一
个。
图2为选定了K值(K=3)的数据样例。由于已确定关注焦点为一级故障,故初始类簇
中心点位置为最终位置,即一级故障点位置(①数据位置)。如图所示,三个括号为聚类分析
后得出的三块数据簇。分析各数据簇特征,得出关注焦点一级故障的产生规律,如矩形区域
内的规律性故障。
在实施过程中,数据研究对象为车辆行驶数据,初始聚类中心分类的依据为按照
故障等级分,或按照时间点分等。初始聚类中心通常不是随机选择的,而是按照某种参数,
如故障等级、时间点作为选择依据的。确定初始聚类中心点位置后,迭代收敛次数很少,通
常为一次。被检测数据的特征具有数据量大、整体分散而随机、局部可能聚集等特点被检测
数据的局部考察数据可能存在相互联系。
因此,本发明具有以下优点:采用K-means聚类分析算法,帮助研发、售后等相关人
员对看似无规率的非周期性车辆故障数据进行数据分析、挖掘,帮助找出规律,解决问题。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发
明说明书内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领
域,均同理包括在本发明的专利保护范围内。