基于多层关联规则挖掘的超市货架陈列优化

2014-06-24 10:56蔡芬
东莞理工学院学报 2014年5期
关键词:小票项集陈列

蔡芬

(泉州师范学院,福建泉州 362000)

21世纪是信息大爆炸的年代,面对着海量的销售数据,零售超市越来越重视对日常销售数据的利用,从中发掘有利于超市经营决策的信息。超市经理的职责之一是确保高的销售额,那么,理解客户的购物模式是达到该目标的第一步。利用关联规则挖掘技术对零售超市的海量交易数据进行分析,发现客户的购物模式,进行货架的陈列优化,将是很有必要的研究。

本文的数据和课题均来源于泉州某大型连锁超市。课题组基于数据挖掘技术构建经理人辅助决策平台,“货架陈列优化辅助决策模块”就是决策支持模块之一。挖掘模型把事务数据库转换成“二维垂直存储结构”,基于这种垂直数据格式来进行挖掘操作以提高挖掘效率,并在挖掘模型中加入“多层”机制,使得挖掘结果更合理适用。

1 平台设计

1.1 平台体系结构

系统体系结构如图1所示。

图1 超市决策支持系统体系结构图

首先,为了不给超市的营运数据库造成额外的负担,各种异构数据被抽取装载到与异构数据库结构完全相同的数据缓存区暂存;接着,数据被转换、清洗和去噪成为存储在SQLServer服务器上的主题数据库;主题数据库被聚集为存储在Analysis Server中的数据立方体以便被数据挖掘模块快速访问;最后,通过数据挖掘分析得到的信息被收集起来提供给经理人,辅助其进行决策[1-3]。

1.2 系统开发平台

系统使用MS Sql Server作为数据缓存区和数据仓库的服务器,使用Analysis Services作为数据立方体服务器。服务端和客户端程序均使用.Net架构,C#语言编写。在C#中引入DSO(Microsoft Decision Support Object)组件,通过组件的使用,可以在Analysis Services中建立数据立方体。使用XMLA(Microsoft XML for Analysis)实现Analysis Services上多维数据集和挖掘程序的无障碍交互[4]。

2 关联规则挖掘设计

2.1 多维数据集模式

多维数据集使用星型模式,以购物小票为中心,通过关键字与各个维表相连,每个维表按需求划分维度。多维数据立方体的星型模式如图2所示。

图2 关联规则星型立方体

使用DSO组件在Analysis Services上建立数据立方体的示例程序如下。

//利用MDStore建立clsCube对象DsoCube

Dim DsoCube As DSO.MDStore

//建立数据立方体sales

Set DsoCube=DsoDB.MDStores.AddNew(“sales”)

//建立维度对象

Dim DsoDim as DSO.Dimension

//建立商品维度

Set DsoDim=DsoDB.Dimensions.AddNew(“item”)

//建立维度层次

Dim DsoLev As DSO.Level

//添加层次

Set DsoLev=DsoDim.Levels.AddNew(“item_name”)Set DsoLev=DsoDim.Levels.AddNew(“category1”)

Set DsoLev=DsoDim.Levels.AddNew(“category2”)

End With

2.2 关联规则挖掘模型

2.2.1 “多层”挖掘机制

“多层”挖掘机制的建立,对于超市商品的关联规则挖掘是很有必要的。因为数据的“稀疏性”,最底层的数据项之间很难找出有意义的强关联规则。比如:“潘婷倍直垂顺洗发露200 mL”、“潘婷倍直垂顺洗发露400 mL”、“飘柔滋润去屑洗发露礼盒装”和“品客薯片 (香葱味)”之间就很难得到强关联规则,而也许购买了洗发露,又购买了薯片就是一条强关联规则。又比如数据库中很多事务都包含“苹果”项,那么“苹果”就会出现在很多推导出来的强关联规则当中,而有时候,这些关联规则毫无意义。为了使挖掘工作有意义,就必须设计“多层”挖掘模型。

根据项目数据的特点,设计了包括商品编号在内的六层商品概念分层,以26大类划分为例,商品的概念分层图如下。

图3 一级分类26类商品的概念分层图

商品分层中,一级分类划分、二级分类划分和最底层商品编号信息直接提取于超市的管理信息系统。三级到五级分类的划分和分类数据字典的编写为后期数据预处理时添加。系统的关联挖掘工作通过在六个不同的商品层次间灵活转换,实现商品关联规则更有效的挖掘。

2.2.2 垂直存储结构的使用[5]

挖掘算法执行中,如果直接和事务数据库进行数据存取操作,随着数据量的增大,必然产生大量的I/O操作,致使挖掘效率低下。设计二维垂直存储结构,把挖掘算法中对数据库记录的操作,转化成对二维垂直存储结构中对于数组的操作,可以大大提高挖掘效率。

为了说明此存储结构,截取2013年8月16日事务数据库中小票数据记录如下。

表1 2013年8月16日小票事务数据截取

转换为二维垂直存储结构,假设为C1如下。

表2 小票事务数据截取的二维垂直数据格式

此存储结构包含两个维度:“项”,指的是需要挖掘的频繁项集;“支持的事务列表”,指的是该项对应的支持事务列表,并且结构按照支持度记数倒叙排序。

2.2.3 基于垂直存储结构的挖掘算法

基于此二维垂直存储结构的挖掘算法基本原理等同于经典的关联算法Apriori,首先产生频繁项集,然后生成规则,生成频繁项集也是分成两步,即连接步和剪枝步。传统的事务数据库读取方式,每次生成n项频繁项集并记数都要遍历一次数据库;而采用此存储结构的存储方式,每次生成n项频繁项集并记数只需要进行n个集合的并运算,并计算集合内元素的个数,又因为数组按支持度记数排序,连接和剪枝的操作简单且更高效。

如图2所示的二维存储结构进行频繁项集的生成,假设最小支持度记数为2。

频繁1项集进行连接运算,并删除小于最小支持度记数的项,生成2项集频繁项集C2如下。

表3 小票事务数据截取的2项频繁项集挖掘

频繁2项集进行连接运算后,首先根据Apriori性质,删除了存在非频繁项子集的3项集,例如 (苹果,特价水果 (1),普甜后腿肉),接着删除小于最小支持度记数的频繁项,生成3项频繁项集C3如下。

表4 小票事务数据截取的3项频繁项集挖掘

至此,找出了所有的频繁项集。

3 挖掘示例及结果分析

该示例根据超市某门店中2013年8月16日~2013年11月12日的所有商品小票数据在模块下进行关联规则的挖掘分析。

根据部分关联规则挖掘结果,尝试给出该分店货架陈列以下建议。

1)由强关联规则 (党参,上牛肉 ->香葱、鲨鱼肉;芹菜->香葱;鸡翅中,芹菜 ->香葱等)可知,消费者在购买鲜肉类产品后都购买了香葱。

建议:可在鲜肉类陈列区域增加一个移动货架用于摆放香葱,增加商品的销售。

2)强关联规则 (百事+七喜,鱼肉丸->春菜;雪碧+果粒橙促销装,鲜白金针菇->鱼肉丸)表明,消费者在购买火锅料后会继续购买饮料。

建议:可以在冻品类陈列区域增加一个移动货架用于摆放饮料,增加商品的销售。

3)强关联规则 (直火烘焙->直火烘焙咖啡;美嚼果汁软糖柠檬,美嚼橡皮糖葡萄->美嚼果汁软糖荔枝;蒙牛果蔬酸酸乳,蒙牛真果粒->蒙牛果蔬酸酸乳等)表明,消费者倾向于购买同一品牌的同一产品,品牌忠诚度较强。

建议:可以对商品的品牌进行研究,增加品牌的粘性。

4)强关联规则 (川南酸菜鱼佐料,青瓜 ->活草;毛哥酸菜鱼调料->活草鱼等)表明,消费者在购买调料后会继续购买草鱼。

建议:可在冰鲜类陈列区域增加一个移动货架用于摆放调料,增加商品的销售。

5)强关联规则 (兰美舒韵芦荟凝胶深层补水嫩白面膜25 mL,大红枣 ->兰美舒婷薰衣草精油晚安果纤眼膜25 mL)表明,消费者在购买面膜后会继续购买红枣。

建议:可在护肤品陈列区域增加一个移动货架用于摆放红枣,增加商品的销售。

6)强关联规则 (金锣火腿肠70g*9,地瓜->夏洋白菜)表明,消费者在购买香肠后会继续购买蔬菜。

建议:可在蔬菜陈列区域内增加一个移动货架,用于摆放香肠,增加商品的销售。

7)强关联规则 (干脆面,洗衣液->干脆杯)表明,消费者在购买洗衣液后会继续购买干脆面。

建议:可在空白区域增加一个移动货架用于陈列洗衣液和干脆面,增加商品销售。

8)强关联规则 (惠尔康果10冰糖雪梨果汁饮料现有,心相印优选系列二层手帕纸=现有 ->惠尔康果苹果果汁饮料;雀巢咖啡1+2奶香串装,心相印优选系列二层手帕纸->雀巢咖啡1+2串装)表明,消费者在购买饮料后会继续购买手帕纸。

建议:可以在饮料陈列区域增加一个移动货架用于陈列手帕纸,增加商品的销售。

经过实地考察,尝试给出该超市货架初步摆放建议如下图4所示,其中,灰色是可以考虑增加的移动货架。

图4 超市货架陈列优化示意图

4 结语

开发基于.NET框架和数据仓库技术的经理人辅助决策系统。通过在“货架陈列优化辅助决策”模块的关联挖掘模型设计中建立基于“二维垂直存储结构”的数据格式,使得挖掘工作更高效;通过在挖掘模型中加入“多层”机制,使得挖掘结果更有意义,从而有效帮助超市进行货架摆放优化。下一步工作重点是优化“最小支持度阀值”的设定算法,让挖掘结果更具说服性。

[1]Han Jiawei,Kamber Micheline.数据挖掘概念与技术[M].范明,孟小峰,译.北京:机械工业出版社,2007.

[2]MacLennan Jamie,Tang ZhaoHui.数据挖掘原理与应用[M].董艳,程文俊,译.北京:清华大学出版社,2010.

[3]Lu SF,Lu ZD.Fast mining maximum frequent itemsets[J].Journal of Software,2001,12(2):293 -297.

[4]Microsoft.XML for Analysis(XMLA)[EB/OL].[2014 -03 -10].http://technet.microsoft.com/zh - cn/library/ms186604.aspx.

[5]文拯.关联规则算法的研究[D].长沙:中南大学,2009.

猜你喜欢
小票项集陈列
中国货币通史陈列
“以小票之名”浪漫传情
中国货币通史陈列
毓庆宫惇本殿明间原状陈列的复原
民国时期北平古物陈列所的陈列展览
不确定数据的约束频繁闭项集挖掘算法
有人在打购物小票的主意
残缺的购物小票
一种新的改进Apriori算法*
分布式数据库的精简频繁模式集及其挖掘算法*