基于利润分析的关联规则挖掘研究

时间:2022-07-19 09:49:19

基于利润分析的关联规则挖掘研究

摘 要:关联规则是数据挖掘中的重要问题,有广泛的用途。本文在关联规则挖掘中引入了利润和数量的约束条件,描述了具有利润和数量约束的关联规则问题,并给出了解决的方案。

关键词:利润;夹击算法;关联规则

中图分类号:TP311.13

除了基本Apriori算法[1-2],其他算法改进数据挖掘整体性能的方法,基本都集中在减少扫描数据的次数方面,并且这些算法基本都是单层次的关联规则的挖掘算法。

但是,只有提供多层次的关联规则,才能满足让用户做不同的决策的需求。多层关联规则挖掘算法与单层次关联规则算法相比较,其得到的关联规则能够表达的信息更丰富。但是这种关联规则依然是商品间的简单关系,并无涉及商品利润和及其购买数量,本文用一种全新角度来分析关联规则:即结合利润和数量,使获得的关联规则不止是反映商品间的关系,还可以为决策者分析商品利润率提供有用的知识。

1 实验准备

本文采用实验的方式来验证所提出的加入数量及利润约束的多层次关联规则挖掘算法,并对实验结果进行分析。实验过程可描述如下:

第一步:生成交易数据。

设定待生成数据的参数以及交易数和数据格式。在此,本文采用《日照市某超市销售管理系统》中部分商品的销售数据为研究对象,鉴于数据规模较大,本文中实验数据选用了其中的10种商品项目,并分别以A、B、C、D、E、F、G、H、I、J代表。为了在分析挖掘出的关联规则时使用利润率这一指标,实验数据中要包含商品的成本和单价。

第二步:将商品项目进行归纳分类。

建立一个多层次的架构,并且应用一般化识别编码方式将数据编码转换。

第三步:在多层次架构中,将夹击算法套用于多层次结构上。

第四步:对挖掘出的关联规则,加入数量和利润因素进行分析。

2 多层次关联规则挖掘中套用夹击算法[3]

首先,选取《日照市某超市销售管理系统》中的部分交易数据建立起一个小型的交易库。商品项目用A-J代号来表示,并且用层次化的树状图归纳分类,并利用一般化识别编码表示,如下图所示。

图1

如商品A对应的一般化识别编码为“111”,其中第一个“1”是第一层的类别“食品”;第二个“1”指第二层的“粮食”类,第三个“1”则代表第三层中的具体商品A。其他项目以此类推。其次,在商品销售表中随机选取交易数据。对商品项目分层并编码之后,交易数据具有了层次密集的性质。但是如果表示类别的层增加较多,产生的组合及候选项集长度也随之增加,那么在挖掘频繁项集时效率将降低。本文实验中,利用夹击算法,在最高类别层中挖掘出频繁项集,用此频繁项集与交易数据进行比较,如果商品项目符合该层次最小支持度,就保留该商品项数据,若不符合,则将该交易数据删除。比之传统的Apriori算法,减少了数据量,从而提高了算法的效率。

3 以购买数量和利润作为约束条件的关联规则分析

通常情况下,数据挖掘得到的关联规则,仅表征人们的一种购买趋势,加入利润约束后,也只能得出低利润商品或者高利润商品之间的关联规则。无法得知商品的销售数量,因此本文将交易数据中所购买商品的数量属性也纳入关联规则挖掘的约束条件,并加上商品的利润来分析在利润和数量共同约束下关联规则的意义。

商品购买数量,在实验中,定义为对各种商品项目购买数量与交易笔数之比,即该商品购买数量的平均值。

购买数量可以由下例所示进行计算。例如,MA*PAMA*PB+MC*PC,MA,MB,MC;代表A、B、C商品的购买数量;而PA、PB、PC则分别代表其利润。下表为商品交易表中不含数量和含数量两种不同的表示方式。

表1

商品编号 交易商品项(不含数量) 交易商品项(含数量)

1 ABC A2B2C1

2 ABC A1B2C1

3 AC A2C4

可以用以下的例子来说明,加入利润和数量后挖掘出的关联规则的意义。

假设有A、B、C三项商品,其单件商品利润分别为1、6、3元。上表中的三项交易数据用{AABBC,ABBC,AACCC}表示,AABBC表示购买了2个A商品,2个B商品,以及1个C商品。另外两个数据项以此类同。假设对此三项数据应用夹击算法,得出一条关联规则AB。该关联规则并不包含商品的购买数量。现在我们把商品数量约束加入,按照上文所述,则A的数量应为:(2+1+2)/3=1.67;B的数量为(2+2+0)/3=1.33,C则为(1+1+4)/3=2。对于得到的关联规则AB,将购买数量以及利润作为约束来分析关联规则AB,得到1.67*(A商品的利润)1.33*(B商品的利润),原关联规则变为(1.67*1)(1.33*7),因此得到3.347.98的结果。这样由仅表示A、B商品简单相关的关联规则,在加入商品购买数量及利润后,可以表示此关联规则能否带来较高的获利性,这样,挖掘出的规则的价值大大提升,可以更好的提供给决策者作为参考。在得到这些关联规则后,通过对每条关联规则加入数量以及利润的分析,比较,经营者可以在销售的时候灵活的搭配不同利润率的商品,从而引导消费者在购买了低利润的商品后,会进一步购买与之相关联的高利润商品。使决策者能够快速有效并且正确的挖掘出关联规则,并通过挖掘出的知识来获得最大利益。

4 结束语

通常情况下,关联规则挖掘并不考虑购买数量,只能表达出购买商品的行为趋势涵义。通俗的说就是将两种商品放在一起共同搭配销售,虽然能卖的更多,但是并不一定比单独销售获利更高。因此,作者在实验中,通过夹击算法应用于多层次架构中,高效的挖掘关联规则,并以购买数量和利润做为约束分析得到的关联规则,使挖掘出的关联规则能够表达出两种商品搭配销售所带来的利润提高能力。因此以利润和数量为约束条件的关联规则挖掘分析与传统的关联规则相比,可以更好的帮助商家做出决策。

参考文献:

[1]Agrawl R,et al. Mining Association Rules Between Sets of Items in Large Databases[C].In:Proc. of 1993 ACM SIGMOD Conf. Washington DC.USA,May 1993:207-216.

[2]R.Srikant, and R Agrawal. Mining quantitative association rules.Proceedings of the 21st International Conference on Very Large Database,1995,pp.407-419.

[3]Cai C H.Fu A W C H.Mining Association Rules with Weighted Items[A].1998:68-77.

[4]欧阳为民,郑诚,蔡庆生.数据库中加权关联规则的发现[J].软件学报.2001(04):612-619.

作者简介:张云健(1978.09-),男,山东无棣人,讲师,硕士,主要研究方向:计算机系统结构、数据库与数据挖掘。

作者单位:山东水利职业学院,山东日照 276826

上一篇:论局域网的组建以及方法 下一篇:基于相似度的多数据库分类