关联规则试图识别或发现不同项目之间的关联关系,然后根据给定的支持度和置信度产生强关联规则,从而帮助从业人员开发更好的营销策略。关联规则最初是针对购物篮分析(market basket analysis)问题提出的。假设分店经理想更多地了解顾客的购物习惯,特别是,想知道哪些商品顾客可能会在一次购物时同时购买?为回答该问题,可以对商店的顾客事物零售数量进行购物篮分析。此过程通过发现顾客放入“购物篮”中的不同商品之间的关联,分析顾客的购物习惯。这种关联的发现可以帮助零售商了解哪些商品频繁地被顾客同时购买,从而帮助他们开发更好的营销策略。1993年,R.阿格拉瓦尔[注](Rakesh Agrawal)等人首先提出关联规则概念,同时给出了相应的挖掘算法AIS,但是性能较差。1994年,他们建立了项目集格空间理论,并依据上述两个定理,提出了Apriori算法,至今Apriori仍然作为挖掘关联规则的经典算法被广泛讨论,以后诸多的研究人员对关联规则的挖掘问题进行了大量的研究。
关联规则挖掘过程主要包含两个阶段:第一阶段必须先从事务集合中找出所有的高频项目集(frequent itemsets),第二阶段再由这些高频项目集中产生关联规则(association rules)。高频的意思是指某一项目集出现的频率相对于所有记录而言,必须达到某一水平。一项目集出现的频率称为支持度(support),以一个包含A与B两个项目的2-项目集为例,可以计算包含{A,B}项目集的支持度,若支持度大于等于所设定的最小支持度(minimum support)阈值时,则{A,B}称为高频项目集。一个满足最小支持度的k-项目集(k-itemset),则称为高频k-项目集(frequentk-itemset),一般表示为Frequentk。算法并从Frequentk的项目集中再产生Frequentk+1,直到无法再找到更长的高频项目集为止。关联规则挖掘的第二阶段是要产生关联规则(association rules)。从高频项目集产生关联规则,是利用前一步骤的高频k-项目集来产生规则,在最小置信度(minimum confidence)的阈值下,若一规则所求得的置信度满足最小置信度,称此规则为关联规则。例如:经由高频k-项目集{A,B}所产生的规则AB,若其置信度大于等于最小置信度,则称AB为关联规则。
针对Apriori算法的固有缺陷,韩家炜等学者提出了不产生候选挖掘频繁项集的方法:FP-树频集算法。采用分而治之的策略,在经过第一遍扫描之后,把数据库中的频集压缩进一棵频繁模式树(frequent pattern tree, FP-tree),同时依然保留其中的关联信息,随后再将频繁模式树分化成一些条件库,每个库和一个长度为1的频集相关,然后再对这些条件库分别进行挖掘。当原始数据量很大的时候,也可以结合划分的方法,使得一个频繁模式树可以放入内存中。实验表明,频繁模式树对不同长度的规则都有很好的适应性,同时在效率上较之Apriori算法有巨大的提高。
关联规则挖掘技术已经被广泛应用在西方金融行业企业中,它可以成功预测银行客户需求。一旦获得了这些信息,银行就可以改善自身营销策略。市场数据不仅十分庞大、复杂,而且包含着许多有用信息。从大型超市数据库中可以发现一些潜在的、有用的、有价值的信息,从而应用于市场经营;通过对所积累的销售数据的分析,从而进行商品的货篮分析和组合管理,以更加有利于商品销售。