• SPSS Clementines 预测分析模型啤酒+尿片故事的实现机理(转载)


    SPSS Clenmentines提供众多的预测模型,这使得它们可以应用在多种商业领域中:

    如超市商品如何摆放可以提高销量;

    分析商场营销的打折方案,以制定新的更为有效的方案;

    保险公司分析以往的理赔案例,以推出新的保险品种等等,具有很强的商业价值。

    超市典型案例

    如何摆放超市的商品引导消费者购物从而提高销量,这对大型连锁超市来说是一个现实的营销问题。关联规则模型自它诞生之时为此类问题提供了一种科学的解决方法。该模型利用数据挖掘的技术,在海量数据中依据该模型的独特算法发现数据内在的规律性联系,进而提供具有洞察力的分析解决方案。通过一则超市销售商品的案例,利用“关联规则模型”,来分析商品交易流水数据,以其发现合理的商品摆放规则,来帮助提高销量。

    关联规则简介

    关联规则的定义

    关联规则表示不同数据项目在同一事件中出现的相关性,就是从大量数据中挖掘出关联规则。有关数据挖掘关联规则的具体理论依据这里不做详细讲解,大家可以参看韩家炜的数据挖掘概论。为了更直观的理解关联规则,我们首先来看下面的场景。

    一个市场分析人员经常要考虑这样一个问题:哪些商品是频繁被顾客同时购买的?

    顾客1:牛奶+面包+谷类

    顾客2:牛奶+面包+糖+鸡蛋

    顾客3:牛奶+面包+黄油

    顾客4:糖+鸡蛋

    以上的情景类似于当年沃尔玛做的市场调查:啤酒+尿片摆放在同一个货架上,销售业绩激增的著名关联规则应用。

    市场分析员分析顾客购买商品的场景,顾客购买面包同时也会购买牛奶的购物模式就可用以下的关联规则来描述:

    面包 => 牛奶 [ 支持度 =2%, 置信度 =60%] (式 1)

    式 1中面包是规则前项(Antecedent),牛奶是规则后项 (Consequent)。实例数(Instances)表示所有购买记录中包含面包的记录的数量。

    支持度(Support)表示购买面包的记录数占所有的购买记录数的百分比。

    规则支持度(Rule Support)表示同时购买面包和牛奶的记录数占所有的购买记录数的百分比。

    置信度(confidence)表示同时购买面包和牛奶的记录数占购买面包记录数的百分比。

    提升(Lift)表示置信度与已知购买牛奶的百分比的比值,提升大于 1 的规则才是有意义的。

    关联规则 式 1的支持度 2% 意味着,所分析的记录中的 2% 购买了面包。置信度 60% 表明,购买面包的顾客中的 60% 也购买了牛奶。如果关联满足最小支持度阈值和最小置信度阈值,就说关联规则是有意义的。这些阈值可以由用户或领域专家设定。就顾客购物而言,根据以往的购买记录,找出满足最小支持度阈值和最小置信度阈值的关联规则,就找到顾客经常同时购买的商品。

    此处进行关联规则应用可以使用两种数据格式:1,交易数据格式,2,表格格式。

    1.交易格式

    CustomerID                                   ITEM

    1                                            bread

    2                                            jam

    3                                            juice

    3                                            jam

    4                                            milk

    2.表格格式

    CustomerID                bread                      jam                 juice             milk

    1                         T                          F                   F                 F

    2                         F                          T                   F                 F

    3                         F                          T                   T                 F

    4                         F                          F                   F                 T

    关联规则挖掘算法

    Aprior、Carma 和序列节点是常用的关联规则挖掘算法,它们都可以使用交易格式和表格格式数据进行挖掘处理。其中 Aprior 算法,处理速度快,对包含的规则数没有限制,是一种最有影响的挖掘关联规则的方法。

    本次试验将使用SPSS Clementine11 自带的安装目录下的 Demos 文件夹下的 BASKETS1n 数据。希望分析出哪些商品会和啤酒一起购买,以此来合理安排商品的摆放,进而提高啤酒的销量。

    此数据属于表格格式数据,每条记录表示顾客的一次购物。记录的字段包括卡号、顾客基本信息、付款方式和商品名称(每个商品一个字段 , 该商品字段值为 T, 表示购买该商品 , 值为 F 表示未购买,具体可参考表 2, 表格格式数据)。商品名称都有 fruitveg(水果蔬菜),freshmeat(生鲜肉),dairy(奶制品),cannedveg(罐装蔬菜),cannedmeat(罐装肉),fozenmeal(冻肉),beer(啤酒), wine(酒类),softdrink(软饮),fish(鱼), confectionery(甜食)。

    首先打开Clementine ,会出现一张空白的流界面,这时用户可以在里面创建自己的流。

    第一步,为流添加一个数据节点,这里选择 Clementine自带的 Demo 数据。将界面下方选项卡的“数据源”选项中的“可变文件”拖放到空白界面中,双击打开,在文件选项卡中选择 Clementine 自带的 Demo 数据BASKETS1n,如图所示。

    点击确定按钮,这时就成功的创建了数据节点。

    第二步,为流添加类型节点,类型节点是显示和设置数据每个字段的类型、格式和角色。从界面下方的“字段选项”卡中,将“类型”节点拖放到界面中,接着将数据节点和类型节点连接起来,或者直接在“字段选项”卡中双击“类型”节点,将两者连接起来。这时双击打开“类型”节点,此时“类型”节点中显示了数据的字段和其类型,点击“类型”节点界面上的“读取值”按钮,这时会将数据节点中的数据读取过来。如下图所示。

    接着可以为参与建模的数据字段设置角色,角色分“输入”,“目标”,“两者”和“无”。输入表示该字段可供建模使用,目标表示该字段为建模的预测目标,两者表示该字段为布尔型的输入字段,无表示该字段不参与建模。Apriori 节点需要一个或多个输入字段和一个或多个目标字段,输入字段和输出字段必须是符号型字段。在此可以选择一个或多个字段为目标字段,表明该模型的预测目标字段;对于 Apriori 建模节点,也可以不设置目标字段,则需要在建模节点中设置“后项”。

    第三步,为流添加 过滤节点,将不参与的字段排除在外。该步骤为可选步骤。从“字段选项”卡中选择“过滤”节点,并将其拖入到界面中,将“过滤”节点加入到流中。双击打开“过滤”节点,在不参与建模字段的箭头上点击,会出现一个红叉,表示该字段被过滤掉了,不参与建模,如图所示。

    对于一些与建模关系不大的节点可以将其过滤掉,比如卡号、性别、家乡和年龄字段。

    第四步,有了这些前期的准备过程,接下来就可以开始创建关联规则模型节点了,在此之前,让我们先添加一个图形节点—— 网络节点,建立此节点的目的是为了让用户首先可以直观的看到商品之间的关联程度,有一个感性认识。选择“图形”选项卡中的“网络”节点,将此拖入界面,将“网络”节点加入流中,与“过滤”节点连接起来。双击打开网络节点,在“字段”列表中选择添加字段,可以将所有的商品字段添加进来;也可以点击“仅显示真值标志”,将只显示那些“两者”的字段,如图所示。

    点击“选项”卡,进入选项设置,用户可以在此设置链接数量的显示范围,不显示一些链接数量低的链接,如图所示。

    点击“运行”按钮,这时会生成一个商品之间关联程度(链接数量)的网络图,用户可以在下方的调节杆上调节链接数量的显示范围。

    上图中,线的粗细和深浅代表联系的强弱,可以直观的看到 beer 和 frozenmeat,cannedeg 联系程度比较强。

    第五步,添加“建模”节点到流中,开始关联规则模型设置和使用的篇章。首先点击界面下方“建模”选项卡,再点击 Apriori,节点拖放到界面中,连接该节点到过滤节点上,或者双击 Apriori 节点。接着设置 Apriori 节点的参数,建立关联规则模型。双击打开 Apriori 节点,如下图所示。

    该“字段”选项卡,是设置参与建模的字段和目标字段的,可以看到其中包括两个选项,“使用类型节点设置”和“使用定制设置”,这里将为用户分别呈现两种选项的使用方法。这里无论选择哪个选项,都需要将市场分析员重点关注的商品包括在其中,其他商品可以不包括。

    如果用户选择“使用定制设置”选项,则需要将啤酒设置在“后项”列表中,将其他重点关注的商品设置在“前项”列表中,如下图所示。

    这里,分区允许您使用指定字段将数据分割为几个不同的样本,分别用于模型构建过程中的训练、测试和验证阶段。如果设置了“分区”,除了在此选择分区字段外,还需要在“模型”选项卡中,勾上“使用分区数据”的选择框。关于“分区”的概念、作用和使用方法,本文不做详细介绍。

    除此,“使用事务处理格式”选择框,是针对于事务性数据的,如果数据为交易格式,需要勾上此选择框,但本示例的数据为表格格式,故无需选择。

    设置好了字段后,点击“模型”选项卡,进入模型设置。如下图所示。

    用户可以在“模型名称”处为本模型设置一个名字,如果想使用分区功能,则需要勾上“使用分区数据”选项。

    用户为规则模型设置一个 最低条件支持度,那么模型将从所有规则中选择那些为真,并且其对应的记录的百分比大于此值的规则。如果您获得的规则适用于非常小的数据子集,请尝试增加此设置。

    接着,用户需要为模型设置一个 最小规则置信度,表明正确预测的百分比。置信度低于指定标准的规则将被放弃。如果您获得的规则太多,请尝试增加此设置。如果您获得的规则太少(甚至根本无法获得规则),请尝试降低此设置。

    用户还可以为任何规则指定“最大前项数”。这是一种用来限制规则复杂性的方式。如果规则太复杂或者太具体,请尝试降低此设置。

    对于“仅包含标志变量的真值”选项,如果对于表格格式的数据选择了此选项,则在生成的规则中只会出现真值。这样使得规则更容易理解。该选项不适用于事务格式的数据。

    为了提高建模性能,设置了“优化”选项供用户选择。选择“速度”可指示算法从不使用磁盘溢出,以便提高性能。选择“内存”可指示算法在合适的时候,以牺牲某些速度为代价使用磁盘溢出。

    接下来,进入“专家”选项卡,对于一般用户,则选择“简单”选项;而对于高级用户,则可以通过此页面进行微调,如下图所示。

    此时,我们已经创建好了关联规则模型的整个流,点击工具栏的绿色箭头,运行该流,会生成一个“模型”节点,该节点里包含了模型运行结果。整个运行后的流图,如下图所示。

    第六步,在得到了运行结果后,我们双击打开生成的“模型”节点,点击“显示 / 隐藏标准菜单”下拉框,选择“显示所有”,结果如下图所示。

    从结果可以看出,通过关联规则模型挖掘出了三个规则,分别是规则一,购买了冻肉(frozenmeal)和罐装蔬菜(cannedveg)的顾客都会购买啤酒(beer);其中,第一列代表结果,而下一列代表条件,后面的列包含规则信息,如置信度、支持度和提升等。

    购买了冻肉和罐装蔬菜的顾客会购买啤酒,此规则中购买了冻肉和罐装蔬菜的记录有 173 条,占 17.3%。而在购买了冻肉和罐装蔬菜的顾客中会有 84.393% 的顾客会购买啤酒,并且提升为 2.88,表明此规则的相关性很强,部署能力和置信度类似,可以不考虑。通过对规则信息的分析和了解,建议将置信度和提升作为选择规则的标准,因为置信度能反映出规则预测的准确程度,提升值越大,规则的相关性越强。据此,可以将规则一作为分析结果。

    结论

    因此可以将啤酒和冻肉、罐装蔬菜放在一起销售,这也正好和前面的网络节点图的显示相一致。

     

    有了以上的方法和算法,我们可以解决诸如游戏商城内的道具礼包销售策略制定,橱窗道具位置摆放的问题,原本粗放的分析方式单一的通过销量和排行来制定IB策略和商城策略是不能真实反应用户的需求和心理。

  • 相关阅读:
    ios开发中的基本设计模式
    Swift进阶
    转帖:深入理解JavaScript系列
    触摸事件、手势识别、摇晃事件、耳机线控
    打造自己的“美图秀秀”
    地图与定位
    python 深拷贝,浅拷贝
    Django 路由(SimpleRouter, DefaultRouter,ExtendedDefaultRouter)
    Django 国际化(翻译)
    wkhtmltopdf 转换后 表格不显示 python解决方案
  • 原文地址:https://www.cnblogs.com/dekevin/p/2473710.html
Copyright © 2020-2023  润新知