基于Apriori算法的购物篮分析
2014-08-08陈丽芳
陈 丽 芳
(重庆工商大学 数学与统计学院,重庆 400067)
在当今商品充斥的时代,面对琳琅满目的商品与令人眼花缭乱的大量商家,消费者往往感觉无所适从.于是,商家开始通过对消费者购物行为的分析来对商品进行合理的摆放以及对商铺进行合理的布局,使商场提高销售业绩,创造更多的利润,也为消费者带来更多的方便.这也正是美国零售业巨头沃尔玛创造的“啤酒与尿布”的成功案例给人们带来的启示[2].每一次购物篮处理得到的都是一位顾客的购物信息,大多数零售企业只是将这些数据进行简单分类、分析单一的销量数据,实际上并没有充分利用这些能反映所有顾客购物行为最有效的数据,于是一些宝贵的数据资源就成了“数据坟墓”. 关联规则一般用以发现交易数据库中不同商品之间的联系,用这些规则找出顾客的购买行为模式,比如购买了某一种商品对购买其他商品的影响,这种规则可以应用于超市商品贷架设计、货物摆放以及根据购买模式对用户进行分类等[3].通过发现这个关联的规则,可以更好地了解和掌握事物的发展、动向等.主要对廊坊师范学院女大学生在廊坊市沃尔玛超市的购物信息进行搜集及整理,并用Clementine软件对其进行基于Apriori算法的超市购物篮分析.
1 关联规则理论
关联规则是一种简单,实用的分析规则,它描述了一个事物中某些属性同时出现的规律和模式,是数据挖掘中最成熟的主要技术之一.它是由R.Agrawal等人首先提出的,最经典的关联规则的挖掘算法是Apriori,该算法先挖出所有的频繁项集,然后,由频繁项集产生关联规则,许多关联规则频繁项集的挖掘算法都是由它演变而来的,关联规则在数据挖掘领域应用很广泛适合于在大型数据集中发现数据之间的有意义关系,原因之一是它不受只选择一个因变量的限制,关联规则在数据挖掘领域最典型的应用是购物篮分析.大多数关联规则挖掘算法能够无遗漏发现隐藏在所挖掘数据中的所有关联关系,所挖掘出的关联规则量往往非常巨大,但是,并不是所有通过关联得到的属性之间的关系都有实际应用价值,对这些关联规则进行有效的评价,筛选出用户真正感兴趣的,有意义的关联规则尤为重要[5].
2 基于Clementine 12.0的超市购物篮分析
2.1 Clementine 12.0简介
Clementine 12.0是一个通用的数据挖掘软件,它能够帮助用户建立一个完整的数据挖掘流程,并提供一系列的功能使得用户可执行其中的任意挖掘步骤.这些功能包括:访问不同数据源中的数据、用不同的方式勘探数据、操作数据、建立各种数据挖掘模型、分析模型以及在企业环境中部署模型.Clementine拥有丰富的数据挖掘算法,支持与数据库之间的数据和模型交换;同时,具有可视化操作界面,简单易用,分析结果直观易懂,图形功能强大等特点,已从诸如State soft Statistics、SAS Enterprise Miner、Oracle DM、MATLAB、Angoss等众多数据挖掘软件中脱颖而出.它是ISL公司开发的数据挖掘工具平台.1999年SPSS公司收购了ISL公司,对Clementine产品进行重新整合和开发,现在Clementine已经成为SPSS公司的又一亮点.作为一款将高级建模技术与易用性相结合的数据挖掘工具,Clementine可帮助发现并预测数据中有趣且有价值的关系.其最主要的特点是它能够把开发好的数据挖掘案例保存在它的知识库中以便日后重用.对于商业管理人员,这个功能显著地提高了Clementine软件的可用性.
2.2 购物篮分析
购物篮指的是超级市场内供顾客购物时使用的装商品的篮子,当顾客付款时这些购物篮内的商品被营业人员通过收款机一一登记结算并记录.所谓的购物篮分析(Market Basket Analysis)就是通过这些购物篮子所显示的信息来研究顾客的购买行为[2].主要的目的在于找出什么样的东西应该放在一起.藉由顾客的购买行为来了解是什么样的顾客,找出相关的联想(association)规则,企业藉由这些规则的挖掘获得利益与建立竞争优势.
购物篮分析也就是销售小票数据分析,运用SAS、SPSS、Excel、clementine等软件,采用多种数据挖掘方法和统计分析方法,对商品销售额、销售量、商品销售相关性、品牌销售分布、品牌偏好、商品规格偏好、促销效果、销售预测、价格弹性系数等许多方面进行分析,得出有意义的结论.运用了clementine 12.0软件,采用了Apriori算法,对在校的60位女大学生商品购物相关性进行了分析,并得出可靠结论.
2.3 分析方法
利用Clementine 12.0进行基于关联规则分析的流程主要包括建立数据、建立流程、导入数据、设置参数、导出结果并分析.
(1) 建立数据:Clementine12.0软件中可导入以下类型的文件输入数据:Database、Var.File、Fixed File、Spss File、Excel、Dimension、SAS File和User input.将通过购物篮处理得到顾客购物的全部信息,建立成以上任意一种类型的数据格式.
(2) 建立流程:将关联规则模块拖入案例视图模板,并将它连接到一个数据访问模块或数据转化模块.其中数据访问模块和数据转换模块将提供算法的数据源.
(3) 导入数据:在数据访问模块中输入已经建立的数据.
(4) 设置参数:输入关联规则的参数.
(5) 导出结果并分析:依次运行各模块,并运用一定的算法输出.选取规则作为进一步分析的依据.若没有得到规则,则修改关联规则参数;若得到规则,就按照关联规则理论进行下一步分析.
2.4 案例分析
针对廊坊师范学院的60位女大学生,对其在廊坊市沃尔玛超市为期一个月的购物信息进行了搜集与整理,为了方便分析其购买商品间关联规则性,也鉴于篇幅有限.此案例整理出了牛奶、方便面、坚果、水果、火腿肠、果汁、果酱、面包及零食这九大类商品的购买情况,作出分析:
(1) 数据的预处理.将搜集到的60位女生的购物信息以是否购买的形式输入Excel表格. 建立名称为“购物篮分析.xls”的数据源.如图1,“ID”表示顾客编号,“1”表示购买,“0”表示未购买.即1号顾客分别购买了牛奶、方便面、坚果、火腿肠、果酱、面包和零食,而未购买水果和果汁;2号顾客分别购买了牛奶、坚果、火腿肠、果酱、面包和零食,而未购买方便面、水果和果汁;以此类推可知每位顾客的购买信息.
图1 60位女大学生的部分购物信息
(2) 建立流程.如图2,建立流程,将关联规则模块拖入案例视图模板,并将它连接到一个数据访问模块即Excel格式.其中数据访问模块即Excel提供算法的数据源.此流程将完成从数据输入到导出关联规则结果的这一过程.
图2 做购物分析的初步流程
(3) 导入数据,并作初步审核.导入数据,在数据访问模块即Excel中输入已经建立且处理好的数据并作初步审核.如图3表明,将搜集的60位女同学的购买数据导入Excel,执行上步流程,得出结论:所搜集整理的数据均符合做购物篮分析的条件,不需做过滤处理.
图3 数据审核
(4) 设置最低条件支持度,最小规则置信度,最大前项数.设定关联规则模块的参数为:项集最小容量为1,项集最大容量无限制.选择恰当的支持度与可信度是挖掘有效关联规则的关键.超市的销售数据属于大数据量数据,无法预知什么大小的支持度可以过滤出合适的数据.因此,可根据规则产生的实际数据和预定的目标对最小支持度和最小置信度标准作适当的调整,以避免过多或过少规则的出现.通过对局部购物数据进行数据挖掘,得出支持度、可信度以及关联规则数目的对比关系,对其结果进行分析、比较,最后确定相对精确的支持度和可信度的值:最小支持度为10%,最小置信度为80%.
图4 前后项选择
图5 各参数设置
(5) 导出结果并分析商品间的关联规则关系.如图6所得出的关联规则如下:
图6 关联规则分析结果图
R1:面包→火腿肠,S=56.7%,C=85.3%,即购买火腿肠的女生85.3%也购买了面包,56.7%的女大学生同时购买了面包和火腿肠.
R2:面包→牛奶,S=61.7%,C=83.8%,即购买火腿肠的女生83.8%也购买了面包,61.7%的女大学生同时购买了面包和火腿肠.
R3:面包→坚果,S=61.7%,C=83.8%,即购买火腿肠的女生83.8%也购买了面包,61.7%的女大学生同时购买了面包和火腿肠.
R4:面包→果酱,S=56.7%,C=82.4%,即购买火腿肠的女生82.4%也购买了面包,56.7%的女大学生同时购买了面包和火腿肠.
R5:面包→方便面,S=61.7%,C=81.1%,即购买火腿肠的女生81.1%也购买了面包,61.7%的女大学生同时购买了面包和火腿肠.
经分析得出结果,面包购买率高达76.7%,并且面包和火腿肠被同时购买的可能性最大,而面包与方便面被同时购买的可能性较小.为了方便学生购买,同时提高其销售量,学校附近的零售点可以多置面包,并将面包和火腿肠摆在相邻或相近的位置.
3 总 结
“数据爆炸但知识贫乏”的现象成为商家的心病,但是数据挖掘技术确实改变了现状,足矣解决他们的心病. 利用Clementine 12.0来对零售业企业进行数据分析具有广泛的应用前景,不仅可以应用于超市商品贷架设计、货物摆放还可以根据购买模式对用户进行分类等.针对廊坊师范学院的60位女大学生在廊坊市沃尔玛超市的购买信息做了购物蓝分析,给学校附近的零售业进行类似的关联规则分析带来了极大的便利,使得数据挖掘技术的使用更加大众化,但同时也由于搜集数据有限使得分析结果不够精确具体,更重要的是提供了一种分析不同商品间关联规则的一种方法.总之,为得到更切合实际更有效的分析结果,首先要了解其原理,再次要把广泛收集的数据做好预处理,最后用软件去实现分析得出其关联规则.
参考文献:
[1] 方玮玮.基于关联规则的购物篮分析[J].四川理工学院学报:自然科学版,2010(4):430-434
[2] 孙细明,龚成芳.关联规则在购物篮分析中的应用[J].计算机与数字工程,2008(6):57-60
[3] 薛红,聂规划.基于关联规则分析的“购物篮分析”模型的研究[J]. 北京工商大学学报:社会科学版,2008,23(4):1-5
[4] 童铁杰.基于数据挖掘的购物篮分析软件设计与实现[Z].计算机光盘软件与应用,2011,23:199-199
[5] 李敏,姚昕.于自律计算的市场购物篮分析[J].哈尔滨商业大学学报:自然科学版,2013(1):76-78,88
[6] ANBARASI D,SATHYA S K.Vivekanandan.Dimension Reduction Techniques for Market Basket Analysis[J].Proceedings of International Conference on Information and Electronics Engineering,2011(6):245-247