基于Apriori算法的关联规则分析模型
5.3.1基于Apriori算法的关联规则分析
桥梁是一个复杂的结构系统,桥梁的监测参数受各方面的影响,与此同时,监测到的桥梁各参数也会发生变化,各参数代表的含义也不太一样,比如挠度是竖直方向位移的表示,倾斜角是竖直和水平方向位移的联合表示,索力是拉索拉力的表示。各属性之间既相互独立有相互关联。同时各参数都是在一定的条件下测量得到,如温度和湿度条件在测量时相对固定。
建立桥梁状态评估的Apriori模型,通过对监测的历史数据分析,形成桥梁数据各属性之间强的关联规则,同时对各属性之间潜在的关联规则挖掘,为桥梁状态的评估提供更多的有数据支撑的依据,适应在线评估系统的实时性和快速性要求。对采集频率较快的系统或属性提供更有效的方法,利用构造FP-tree方法,减少对数据库的访问,更快的实现规则的挖掘。
5.3.2 算法实现及分析
1)数据分箱
由于桥梁各属性通过传感器采集数据,数据类型一般为数值型数据,Apriori算法处理的数据一般为序列值或者符号型数据,需要对数据进行分箱化处理。通过对各属性做分箱化处理,减少由于各属性取值范围对模型的影响,根据数据值采取等间隔分箱,根据数据量的大小以及考虑算法的性能本文采用分箱数目为 4。通过分箱后,各种属性的值由连续值变为符号化的值,值的取值为 1、2、3、4。这样就构建了适合于模型处理的结构化数据。
对原始的数据做标准化后,并且按照等距离进行分箱后,得到形如 1、2、3、4 离散的变量,各属性分箱对应表如图 5.7-图 5.10 所示,根据分箱的对应性,可以得到对应的各属性的值域。
2) 支持度和置信度的计算
一旦由数据库D中的事务找出频繁项集,由它们产生强关联规则是直截了当的(强关联规则满足最小支持度和最小置信度)。对于置信度,可以用下式,其中条件概率用项集支持度计数表示。
由于规则由频繁项集产生,每个规则都自动满足最小支持度。频繁项集连同它们的支持度预先存放在散列表中,使得它们可以快速被访问。
最小支持度和最小置信度阈值的大小对生成规则有很大的影响,支持度为序列在总体数据库里所占的比率,置信度为在某个状态下另外属性相应状态的条件概率。当阈值设置得太大时,不容易得到规则,当阈值设置得太小时,生成的规则太多,难以提取有效的规则,同时由于Apriori每次增加项集时,需遍历数据库,影响算法的实现效率。为了减小模型的复杂度,设置最大的前项数目为5。
对桥梁监测数据进行关联挖掘根据统计学的特性,提取正常状态下桥梁的数据,根据各类属性之间的相互关联序列形成相关的规则,当各类属性序列出现的频率较高时,这判定此序列为正常状态下的一个模式,当实时或者最近的数据序列中,当序列的前几个属性对应规则中的数据值时,而序列的后几个属性偏离规则中的值时,则可能是桥梁的结构发生了变异,需及时的跟踪和查找桥梁的状态,将桥梁的危害发现在萌芽状态。
3)项集和关联规则
为了得到在桥梁正常营运过程中的常规数据模式,通过设置最小支持度和最小置信度来得到强关联规则,根据Apriori算法的性质,算法分为连接步和剪枝步,连接步通过查找各个属性子序列在数据库中的支持度,同时以子序列为前件,计算以另外属性为后件的置信度,
4)结果验证和意义的分析
Apriori提取的规则是在数据记录中,满足支持度和置信度大于设置的阈值时得到的频繁模式和强规则,并不一定符合所有正常状况记录的数据。因此对于这些规则的验证方法是判断验证数据集是否也具有相似的规则支持度和置信度,对于这些规则的应用同样也是用于判断给定的一段时间数据记录的强规则是否具有相似的支持度和置信度,相似时表明桥梁结构状况正常,否则可能有异常变化。可能是桥梁的结构发生了变异,这时需及时跟踪数据值的变化动向,以及查找与属性对应的桥梁的状态。
采用2011年6月所采集的120条数据对强关联规则进行验证:
通过验证可以看出,对应于样本集产生的强关联规则,根据强关联规则中的属性,验证集中属性落入强关联规则值域的记录数占验证集的比例基本与样本集一致,再以与样本集规则中同样属性作为前件的情况下,得到同样后件值域的置信度准确率平均为 98.87%。通过对样本集和验证集对比可看出,从样本数据得到的规则的具有较强的有效性。能有效地预测和归纳当前或以后的监测数据。
当桥梁的结构发生变异,影响桥梁的安全性时,此时结构的变异是不可逆过程,则桥梁的监测参数值将发生整体的偏移,对应于强关联规则中的属性,属性值也将发生整体的变化,当监测的数据或以后的数据集中,对于强关联规则中的属性,当支持度与置信度与正常数据样本集产生的规则的支持度和置信度发生较大的偏离时,则桥梁可能出现了异常。
此外,Apriori算法生成的规则可能会出现下述问题,因此对于规则的应用需要结合具体的桥梁专业知识进行具体分析。
①强关联规则不一定有意义,这时,通过挖掘出来的规则就可能起到误导的作用。这时,需提高对置信度阈值的设置,在一定的程度上减少这种规则的产生。同时,根据数据的统计特性,人工甄别这些规则。
②有意义的规则不一定是强关联规则。某些有意义的序列并不一定在总的事务中占大的比例,但是这些小比例事务可能蕴含了有价值的信息。判断规则的意义需从客观的因素和主观的因素去考虑,得到的规则需结合业务模型总体考虑,从客观的数据的角度得到的规则并不是全有意义,有意义的信息也不全包含在规则中,一些项目集的事务数在总事务数中占有的比例很少,但有可能隐含了一些有意义的规则。
基于数据的统计特性得到的关联规则提高分析效率,同时找到隐含的规律,对于支持度较小的可能有意义的规则,则通过本文中的Kohonen聚类算法或其它的方法,协助来寻找此类型规则,如根据聚类形成的簇,与其它的簇距离较大且簇中记录较少,对这些集中的记录进行重点的分析。
《非本人原创,经本人整理,以技术会友,广交天下朋友》