提出了数据挖掘技术在汽车控制器局域网(CAN)总线通信数据中的应用。车中的各种电子控制系统通过CAN总线连接并相互通信,并且其中生成的大量消息存储在日志文件中。先,对CAN总线日志文件中的大量通信数据进行预处理,然后开发使用关联分析,分类和聚类分析方法来提取处理后的数据,以便查找消息中的每个消息字节之间可能存在的新规则或关系允许进一步研究通过CAN总线系统连接的不同控制系统之间的通信。
键词:CAN总线;信息;数据挖掘;关联规则;分类;集束小车包含一系列电子控制单元,它们通过CAN(控制器局域网)总线系统相互连接并进行通信,并且通信数据包可以记录在对应的日志文件中。实验中使用的源数据是从模拟汽车CAN总线系统获得的四个子网日志文件。了研究这些通信,不仅可以使用传统的统计方法来分析这些文件,而且可以设想某些经典的数据挖掘方法来寻找新的规律或重要功能。前,数据挖掘工作大致分为两类:一类是预测性工作,另一类是描述性工作。文涉及后者。述性工作的目的是发现潜在有趣的模型,例如相关性,趋势,分组等。了获得描述性功能,该实验使用关联规则来发现不同消息标识符(ID)之间的关系,使用分类方法查找每条消息中的重要位或字节,并使用聚类方法用于检查找到的位或字节的准确性。于实验中CAN总线领域缺乏专业知识,实验结果并未讨论消息及其ID的真实含义,而仅关注消息与位(字节)之间的关系。)。文以Comfort子网中的数据为例来说明我们的经验。CAN是控制器局域网(Controller Area Network,简称Controller Area Network)的缩写,是世界上使用最广泛的现场总线之一[1]。北美和西欧,CAN总线协议已成为汽车计算机控制系统和集成工业控制LAN的标准总线。协议的每个版本中,无论用于消息通信的帧格式是什么,都有四种不同的帧类型:数据帧,远程帧,错误帧和过载帧。处研究的是记录在CAN总线日志文件中的数据帧,该数据帧由数据字段和其他6个控制位组成。于实验研究是对数据域中数据的探索,因此在研究过程中,消息的结构被简化为:消息标识符(ID)和消息内容数据(Data)。据挖掘通常是指通过算法查找隐藏在大量数据中的信息的过程。据挖掘任务主要包括关联分析,聚类分析,分类分析等。[2]。
联分析包括查找经常在数据中一起出现的元素的集合模型。此实验中,研究了哪些消息ID通常同时出现。类涉及首先从数据中选择已分类的训练集,然后在训练集上使用数据挖掘分类技术,建立分类模型并对分类进行分类。有分类的数据。该实验中,消息ID被用作类别指示符,并且消息数据元素的8个字节或64位被分类为属性。际上,我们在这里不训练分类模型进行预测,而只是借用获取信息的概念来构建决策树的分类模型,以便选择最佳属性以将其与其他属性区分开。性。类分析基于聚类分析的基本原理:“每个聚类中数据对象之间的相似性最大化,并且聚类对象之间的相似性最小化”,并且聚类分析被分为几个组,因此一个组中数据对象之间的相似性大于不同组中数据对象之间的相似性[3]。

于CAN总线日志文件中的原始数据包含许多其他信息,因此为了便于数据分析和探索,必须首先对文件中的数据进行预处理,即-表示从中提取消息的ID和内容。后在数据中寻找有用的模式。先,考虑不同消息ID之间可能的关联规则。经典的关联分析方法启发,我们可以使用“超市购物篮”问题来描述此实验中的问题,也就是说,将数据集放在不同的“篮子”中另外,将消息ID视为“唯一产品”“放入不同的”购物篮”中,每个购物篮都是一个组。后,不同标识符之间的关系分析类似于在这里,数据分为两种形式:按照固定的消息识别号分组或按固定的时间间隔分组;第一种是频率最高的识别号将较高的字符用作分隔线,并将出现在标识符之间的两个消息标识符进行分组;对于后者,将出现在0.1秒内的所有消息标识符均分为Un g团下一步是找到消息数据中的重要位或字节。果可以根据一个或多个位(字节)的不同值来区分某些或所有消息ID,则这些位(字节)被认为很重要。统的统计方法可以轻松找到消息ID的重要位或字节。是,它不适用于日志文件中的大量消息ID。此,采用决策树分类信息获取方法来实现这一思想[4]。“信息增益”用于度量属性区分上述数据样本的能力。个位(字节)都被视为一个属性,并且相应的消息ID号是最终类别。后,聚类分析的目的是验证上一步的结果。方面,根据找到的重要位(字节)对数据记录进行分组,另一方面,根据所有位(字节)对数据记录进行分组。于缺乏总线领域的专业知识,对结果本身进行简单分析是没有意义的,但是在这里我们可以通过比较两组结果的相似性来检查重要位(字节)的准确性。据预处理工作是通过Java编程实现的。
后选择Spss Clementine [5]作为数据挖掘工具来分析处理后的数据。Clementine是用于数据挖掘工具的平台,具有更好的图形界面,并能够有效执行统计和数据分析。(1)数据预处理:预处理的目的是将无序数据从原始日志文件转换为可以处理的数据。上所述,从每个消息中提取标识号和8个字节的数据内容,将8个字节转换为64位,选择频率最高的标识号531作为标签,组l数据集和时间数据集以0.1秒的间隔进行分组。MiningExploration of data:以两种方式对在上一步中获得的一组数据集进行关联规则分析。Clementine上使用先验算法,获得了两组结果。
2显示了以0.1秒为间隔合并的实验结果。下来,基于消息记录中的8个字节和64位创建一个决策树模型,通过查找可以最精细地分类消息ID的最小属性集,得出结果的位(字节)是重要的。(字节)。3显示了搜索重要字节的实验结果。后,进行聚类分析。
着日志文件的增长,消息ID的数量也会增加,因此在决策树模型构建过程中,最终类别标签也会增加,并且越来越多的位或字节将是必需的。了区分消息的内容,它将最终覆盖所有位或字节。这种情况下,聚类分析毫无意义。此,在此实验中,仅邮件记录被分为五个组。4显示了基于大字节的聚类和基于所有字节的聚类分析的比较。于关联分析,通常使用支持和信任来描述结果。实验仅检查了支持率大于10%和置信度大于50%的结果。有43个链接记录。果结果记录35B-> 531 470 373.3E1表示在所有组中,这五个标识符同时出现的概率超过10%,并且在出现ID35B时,同时出现531,470的概率,373和3E1大于50%。户可以根据自己的需求获得具有不同程度的支持和信任的消息ID。于分类分析,根据模型的计算,分别为1、2、4、5、6个字节和1、2、3、4、5、6、7、8、11、16、17、18, 19、20、25和42更重要。
于聚类分析,恒温阀芯根据上一步选择的五个重要字节可以将3386个记录分为五个聚类。据所有字节,可以将3555条记录分为五个簇,因此字节分组的准确性为3386/3555 = 95.25%。于进行了类似的分析,因此可以在1158/3495 = 33.13%的位级获得聚类的精度。结果表明,在本实验中通过建模和分析选择的重要字节的精度较高,但是所选重要位的重要性并不重要。文说明如何使用数据挖掘技术从原始的CAN总线日志文件中查找正常过程。先,编写预处理功能以转换数据格式,然后将一些经典的数据挖掘算法扩展到实验中,使用关联规则,分类分析和聚类分析来查找不同消息ID和不同比特(部分字)之间的关系影响消息的重要性,最后根据不同需求对实验结果进行总结评价。下工作可以通过两种方式进行改进:一种是使用更复杂的数据挖掘方法,例如对动态数据集进行实时分析,或者在其中找到序列模型。
据时间序列的文件;其次,您可以根据对实验结果的实际解释来了解总线的专业知识。
本文转载自
恒温阀芯 https://www.wisdom-thermostats.com
