资讯

关联分析是什么?发现哪些东西经常一起出现

2026-11-053 分钟阅读百科
TL;DR关联分析(Association Analysis)是从大规模数据中发现项目之间频繁共现关系的数据挖掘方法,以“如果购买 A 则可能购买 B”的关联规则表示,用支持度、置信度和提升度衡量规则的价值,代表算法有 Apriori 和 FP-Growth,典型应用是购物篮分析和商品推荐。

关联分析(Association Analysis),也叫关联规则挖掘,是一种从大量数据中发现事物之间有趣的关联关系的数据挖掘方法。它要回答的问题是:哪些东西经常一起出现?最经典的应用是超市的购物篮分析:分析顾客的购物小票,找出哪些商品经常被一起购买。

关联规则

关联分析的结果通常用关联规则来表示,形式为“如果出现 A,那么也会出现 B”,比如“购买了面包和黄油的顾客,往往也会购买牛奶”。这里的 A 叫作规则的前件,B 叫作规则的后件。需要注意的是,关联规则表示的是同时出现的规律,而不是因果关系。

怎么衡量一条规则有没有价值

从大量的数据中可以找出无数条规则,但大部分是没有意义的。常用三个指标来衡量规则的价值。支持度:A 和 B 同时出现的交易,占所有交易的比例。它反映了这条规则有多普遍。如果一条规则只在极少数的交易中出现,即使规律很强,实际的价值也有限。置信度:在出现了 A 的交易中,同时也出现了 B 的比例。它反映了这条规则有多可靠,比如在所有购买了面包的顾客中,有 80% 也购买了牛奶。提升度:置信度除以 B 本身出现的比例。它反映了 A 的出现在多大程度上提高了 B 出现的可能性。这个指标很重要:假设牛奶本身就非常畅销,90% 的顾客都会购买,那么即使“买面包的人中有 80% 买了牛奶”,实际上买面包的人反而比一般人更少买牛奶,这条规则就没有意义。提升度大于 1,说明两者之间存在正向的关联;等于 1,说明两者相互独立;小于 1,说明两者之间存在负向的关联。

代表性的算法

关联分析的核心难点在于计算量:如果有一千种商品,可能的商品组合数量是一个天文数字,不可能逐一检查。Apriori 算法:由 Rakesh Agrawal 和 Ramakrishnan Srikant 在 1994 年提出,是最经典的关联规则挖掘算法。它利用了一个简单而关键的性质:如果一个商品组合是频繁出现的,那么它的所有子集也一定是频繁出现的;反过来,如果一个组合不频繁,那么包含它的任何更大的组合也一定不频繁。基于这个性质,算法从单个商品开始,逐层地生成更大的组合,并及时地剪掉那些不可能频繁的组合,大大减少了需要检查的数量。FP-Growth 算法:由韩家炜等人在 2000 年提出,它把交易数据压缩成一棵紧凑的“频繁模式树”,不需要像 Apriori 那样反复地生成候选组合、多次扫描数据库,效率更高。

应用

零售:购物篮分析,用于商品的陈列布局,把经常一起购买的商品放在一起或者有意分开以延长顾客的逛店路线,设计捆绑促销和套餐。电商推荐:“购买了这件商品的顾客还购买了……”。医疗:发现经常同时出现的症状,或者药物之间的相互作用。网站分析:分析用户经常同时访问的页面。网络安全:发现经常一起出现的异常事件。

业界常用“啤酒与尿布”的故事来说明关联分析:据说一家美国超市发现,周五晚上很多年轻父亲在购买尿布时也会顺便买啤酒,于是把两者摆在一起,销量都提高了。不过,这个故事的真实性存在争议,更多被当作一个形象的例子来流传。