《python金融大数据分析》课件-第四章 关联规则分析_第1页
《python金融大数据分析》课件-第四章 关联规则分析_第2页
《python金融大数据分析》课件-第四章 关联规则分析_第3页
《python金融大数据分析》课件-第四章 关联规则分析_第4页
《python金融大数据分析》课件-第四章 关联规则分析_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章 关联规则分析第一节关联规则的理论与算法第二节关联规则分析的python实践第三节案例分析目

录第一节关联规则的理论与算法一、关联的内涵二、关联规则分析的主要内容三、关联规则分析的算法主要内容(一)定义关联其实就是相关性,简单地说,若一个现象变化,另一现象随之变化,我们就认为这两种现象之间是相关的。(二)典型应用1.啤酒与纸尿裤2.房屋价格与地理位置一、关联的内涵(一)定义关联规则分析又称关联挖掘、购物篮分析,反映一个事物与其他事物之间的相互依存性和关联性,是数据挖掘的一个重要技术,用于从大量数据中挖掘出有价值的数据项之间的相关关系。(二)作用1.最早是为了发现超市销售数据库中不同的商品之间的关联关系。2.根据所挖掘的关联关系,可以从一个属性的信息来推断另一个属性的信息。当置信度达到某一阈值时,可以认为规则成立。二、关联规则分析的内涵(三)应用场景1.互联网推荐个性化推荐:在界面上给用户推荐相关商品组合优惠券:给购买过的用户发放同时购买组合内商品的优惠券捆绑销售:将相关商品组合起来销售2.线下店铺分析商品配置分析:哪些商品可以一起购买,关联商品如何陈列、促销客户需求分析:分析顾客的购买习惯、顾客购买商品的时间、地点等二、关联规则分析的内涵(三)应用场景3.金融保险经由购物篮分析能够设计不同的服务组合以扩大利润;能借由购物篮分析侦测出可能不寻常的投保组合并作预防。4.风控领域分析同时行动的账号、寻找有效的策略组合。二、关联规则分析的内涵三、关联规则分析的算法算法名称算法描述Apriori关联规则最常用、最经典的挖掘频繁项集的算法,核心思想是通过连接产生候选项及其支持度,然后通过剪枝生成频繁项集。无法处理连续型数值变量,往往分析之前需要对数据进行离散化。FP-Tree针对Apriori算法固有的多次扫描事物数据集的缺陷,提出的不产生候选频繁项集的方法。Apriori和FP-Tree都是寻找频繁项集的算法。Eclat算法一种深度优先算法,采用垂直数据表示形式,在概念格理论的基础上利用基于前缀的等价关系将搜索空间划分为较小的子空间。灰色关联法分析和确定各因素之间的影响程度,或是若干个子因素(子序列)对主因素(母序列)的贡献度而进行的一种分析方法。输入:一组人的交易清单每一笔交易(transaction)包含一系列的商品(items)(一)Apriori算法的输入与输出三、关联规则分析的算法Aprior算法一笔交易(transaction)两种商品(items)面包牛奶订单编号(ID)购买商品(Items)1面包,牛奶2面包,纸尿裤,啤酒,鸡蛋3牛奶,纸尿裤,啤酒,可乐4面包,牛奶,纸尿裤,啤酒5面包,牛奶,纸尿裤,可乐表1交易清单输入:一组人的交易清单每一笔交易(transaction)包含一系列的商品(items)(一)Aprior算法的输入与输出三、关联规则分析的算法Aprior算法一笔交易(transaction)四种商品(items)面包牛奶啤酒鸡蛋订单编号(ID)购买商品(Items)1面包,牛奶2面包,纸尿裤,啤酒,鸡蛋3牛奶,纸尿裤,啤酒,可乐4面包,牛奶,纸尿裤,啤酒5面包,牛奶,纸尿裤,可乐表1交易清单输入:一组人的交易清单每一笔交易(transaction)包含一系列的商品(items)(一)Aprior算法的输入与输出三、关联规则分析的算法Aprior算法一共有5笔交易(transaction)涉及到6种商品(items)订单编号(ID)购买商品(Items)1面包,牛奶2面包,纸尿裤,啤酒,鸡蛋3牛奶,纸尿裤,啤酒,可乐4面包,牛奶,纸尿裤,啤酒5面包,牛奶,纸尿裤,可乐表1交易清单输入:一组人的交易清单每一笔交易(transaction)包含一系列的商品(items)(一)Aprior算法的输入与输出三、关联规则分析的算法Aprior算法订单编号(ID)购买商品(Items)1面包,牛奶2面包,纸尿裤,啤酒,鸡蛋3牛奶,纸尿裤,啤酒,可乐4面包,牛奶,纸尿裤,啤酒5面包,牛奶,纸尿裤,可乐表1交易清单ID面包牛奶纸尿裤啤酒鸡蛋可乐12345表2二进制表示的交易清单若购买了某种商品,则取值1;若未购买某种商品,则取值为0111111111111111111000000000000软件中稀疏矩阵(SparseMatrix)用稀疏矩阵表示的商品交易清单输出(一)Aprior算法的输入与输出三、关联规则分析的算法Aprior算法频繁项集关联规则满足最小支持度的所有项集高置信度的关联规则(rules)1.项集:包含0个或多个项的集合被称为项集(itemset)。K项集:如果一个项集包含k个项,则称它为k项集。空集:是指不包含任何项的项集。(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法订单编号(ID)购买商品(Items)1面包,牛奶2面包,纸尿裤,啤酒,鸡蛋3牛奶,纸尿裤,啤酒,可乐4面包,牛奶,纸尿裤,啤酒5面包,牛奶,纸尿裤,可乐表1交易清单2项集4项集2.超集/子集:项集A包含于项集B,则A是B的子集,B是A的超集。如:

{啤酒,尿布}是{啤酒,尿布,牛奶,花生}

的子集,而{啤酒,尿布,牛奶,花生}

是{啤酒,尿布}的超集。练习:{牛奶、麦片、糖}是{牛奶、麦片}的集{牛奶、麦片}是{牛奶、麦片、糖}的集(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法超子

3.频繁项集:在整个交易清单中,包含某项集的条目占总条目的比例超过某一阈值的,则称该项集为频繁项集。Apriori算法依据的原理:如果一个项集是频繁的,则它的所有子集一定也是频繁的;相反,如果一个项集是非频繁的,则它的所有超集也一定是非频繁的。(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法练习1:若项集{啤酒,尿布,牛奶,花生}是频繁的,则下列说法正确的是?A.{啤酒,尿布}是频繁项集B.{啤酒,尿布,牛奶}是频繁项集C.{尿布,牛奶}是频繁项集D.{花生}不是频繁项集(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法练习2:若项集{啤酒,尿布}不是频繁的,则下列说法正确的是?A.{啤酒,尿布,牛奶}不是频繁项集B.{啤酒,尿布,牛奶,花生}不是频繁项集C.{花生,牛奶}不是频繁项集D.{啤酒}不是频繁项集4.关联规则(associationrule):是形如X→Y的蕴含表达式。其中X和Y是不相交的项集,X和Y分别称为关联规则的先导(antecedent或left-hand-side,LHS)和后继(consequent或right-hand-side,RHS)。关联规则包括三个核心概念,支持度、信任度和提升度。例如:关联规则:花生=>牛奶[支持度=2%,置信度=60%,提升度=1.5]

(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法LHSRHS

(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法

(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法订单编号(ID)购买商品(Items)1面包,牛奶2面包,纸尿裤,啤酒,鸡蛋3牛奶,纸尿裤,啤酒,可乐4面包,牛奶,纸尿裤,啤酒5面包,牛奶,纸尿裤,可乐表1交易清单

(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法订单编号(ID)购买商品(Items)1面包,牛奶2面包,纸尿裤,啤酒,鸡蛋3牛奶,纸尿裤,啤酒,可乐4面包,牛奶,纸尿裤,啤酒5面包,牛奶,纸尿裤,可乐表1交易清单

(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法订单编号(ID)购买商品(Items)1面包,牛奶2面包,纸尿裤,啤酒,鸡蛋3牛奶,纸尿裤,啤酒,可乐4面包,牛奶,纸尿裤,啤酒5面包,牛奶,纸尿裤,可乐表1交易清单通过观察前面计算过的3个支持度,S(纸尿裤)=0.8,S(纸尿裤=>啤酒)=0.6,S(纸尿裤,啤酒=>可乐)=0.2可以发现:随着组合中商品数量的增加,支持度在下降。如果一个项集是频繁的,则它的所有子集一定也是频繁的;相反,如果一个项集是非频繁的,则它的所有超集也一定是非频繁的。(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法4.2置信度(或信任度)(confidence):

表示在先决条件X发生的情况下,由关联规则“X→Y”推出Y的概率。也就是在发生X的项集中,同时会发生Y的可能性,即X和Y同时发生的个数占仅仅X发生个数的比例。计算公式为:confidence(X

Y)

=σ(X∩Y)/σ(X)例:关联规则:花生=>牛奶[支持度=2%,置信度=60%,提升度=1.5]

表示分析中的交易清单,购买花生的同时,又购买了牛奶的占比为60%。例2:在表1所示的交易清单中,纸尿裤出现了4次,而在出现纸尿裤的交易中,出现啤酒的次数为3次,那么这个交易清单中,关联规则“纸尿裤=>啤酒”的置信度的计算公式如下:(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法订单编号(ID)购买商品(Items)1面包,牛奶2面包,纸尿裤,啤酒,鸡蛋3牛奶,纸尿裤,啤酒,可乐4面包,牛奶,纸尿裤,啤酒5面包,牛奶,纸尿裤,可乐表1交易清单

问题3:在表1所示的交易清单中,关联规则“啤酒=>纸尿裤”的置信度为多少?(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法订单编号(ID)购买商品(Items)1面包,牛奶2面包,纸尿裤,啤酒,鸡蛋3牛奶,纸尿裤,啤酒,可乐4面包,牛奶,纸尿裤,啤酒5面包,牛奶,纸尿裤,可乐表1交易清单

问题4:在表1所示的交易清单中,关联规则“纸尿裤,啤酒=>可乐”的置信度为多少?(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法订单编号(ID)购买商品(Items)1面包,牛奶2面包,纸尿裤,啤酒,鸡蛋3牛奶,纸尿裤,啤酒,可乐4面包,牛奶,纸尿裤,啤酒5面包,牛奶,纸尿裤,可乐表1交易清单

(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法订单编号(ID)购买商品(Items)1面包,牛奶2面包,纸尿裤,啤酒,鸡蛋3牛奶,纸尿裤,啤酒,可乐4面包,牛奶,纸尿裤,啤酒5面包,牛奶,纸尿裤,可乐表1交易清单

可以看出,置信度是个条件概念,C(A=>B)表示在A发生的情况下,B发生的概率是多少。30(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法小结:支持度与置信度(或信任度)的运用(1)支持度很低的规则可能只是偶然出现,低支持度的规则多半是无意义的,因此,支持度通常用来删去那些无意义的规则。(2)置信度用来判断通过规则进行推理的可靠性。对于给定的规则X

Y,置信度越高,Y在给定X下的条件概率P(Y|X)越大。31(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法4.3提升度(lift):表示含有X的条件下,同时含有Y的概率,与只看Y发生的概率之比。其计算公式为:

Lift:L(X→Y)=P(Y|X)/P(Y)提升度是一个重要的指标,它表明一个规则的重要程度,反映了关联规则中的X与Y的相关性。我们在做商品推荐或者策略的时候,重点考虑的是提升度,因为提升度代表的是商品X的出现,对商品Y的出现概率提升的程度。提升度(X—>Y)=置信度(X—>Y)/支持度(Y)32(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法4.3提升度(lift)的具体运用如下:(1)如果lift值>1且越高表明正相关性越高,代表有提升,说明这两类商品在一起购买比只有一类商品被购买更常见。(2)如果lift值<1且越低表明负相关性越高,代表有下降,说明两类商品是相互排斥的。(3)提升度=1表明没有相关性,代表没有提升,也没有下降,即相互独立。例3:如前所示,在表1的交易清单中,置信度“纸尿裤=>啤酒”=0.75,支持度“啤酒”=0.6,可以计算:(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法订单编号(ID)购买商品(Items)1面包,牛奶2面包,纸尿裤,啤酒,鸡蛋3牛奶,纸尿裤,啤酒,可乐4面包,牛奶,纸尿裤,啤酒5面包,牛奶,纸尿裤,可乐表1交易清单

表明纸尿裤对啤酒是有提升的。可以这样理解:在整个交易清单中,啤酒的购买概率为0.6;而在包含纸尿裤的交易中,啤酒的购买概率为0.75。通过设定子集,提高了啤酒的购买概率。(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法练习1:10000个超市订单(10000个事务),其中购买三元牛奶(A事务)的6000个,购买伊利牛奶(B事务)的7500个,4000个同时包含两者。请计算:1.同时购买三元牛奶和伊利牛奶的支持度是多少?2.购买三元牛奶对购买伊利牛奶的置信度是多少?3.购买伊利牛奶对购买三元牛奶的提升度是多少?(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法练习1答案:1.同时购买三元牛奶和伊利牛奶的支持度是多少?答:三元牛奶(A事务)和伊利牛奶(B事务)的支持度为:P(A&B)=4000/10000=0.4(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法练习1答案:2.购买三元牛奶对购买伊利牛奶的置信度是多少?答:包含A的事务中同时包含B的占包含A的事务比例。4000/6000=0.67说明在购买三元牛奶后,有0.67的用户去购买伊利牛奶。(二)Apriori算法的基本概念三、关联规则分析的算法Apriori算法练习1答案:3.购买三元牛奶对伊利牛奶的提升度是多少?答:在没有任何条件下,B事务的出现的比例是0.75,而出现A事务,且同时出现B事务的比例是0.67。Lift(A->B)=P(B|A)/P(B)=

0.67/0.75=89%即A条件对B事务的提升度为0.89,即在购买A的前提下,购买B的概率仅为原来的89%<1。也就是说设置了A事务出现这个条件,B事务出现的比例反而降低了。这说明A事务和B事务是排斥的。(三)Apriori算法的具体操作三、关联规则分析的算法Apriori算法1.Apriori算法的核心思想Apriori算法的核心思想是把发现关联规则的工作分为两步:第一步通过迭代检索出数据库中的所有频繁项集,即频繁项集的支持度不低于用户设定的阈值。第二步从频繁项集中构造出满足用户最低置信度的规则。注意:最小支持度阈值和最小置信度阈值:由挖掘者或者领域专家设定(三)Apriori算法的具体操作三、关联规则分析的算法Apriori算法2.Apriori算法的运算步骤第一步:给定最小支持度和最小置信度第二部:列出所有关联规则第三步:计算每一个关联规则的支持度和置信度第四步:选择符合最小支持度和最小置信度要求的关联规则案例1:五种商品购物篮的所有组合三、关联规则分析的算法Apriori算法(三)Apriori算法的具体操作第一步:给出最小支持度和最小置信度第二步:遍历所有组合,列出所有关联规则第三步:剪枝根据给定的支持度和置信度确定关联规则,删掉非频繁集。案例1:五种商品购物篮的所有组合三、关联规则分析的算法Apriori算法(三)Apriori算法的具体操作第二步:遍历所有组合,列出所有关联规则第一步:给出最小支持度和最小置信度案例1:五种商品购物篮的所有组合三、关联规则分析的算法Apriori算法(三)Apriori算法的具体操作根据的原则:如果一个项集是频繁的,则它的所有子集一定也是频繁的;相反,如果一个项集是非频繁的,则它的所有超集也一定是非频繁的。43案例2:一个简单的例子三、关联规则分析的算法Apriori算法(三)Apriori算法的具体操作三、关联规则分析的算法Apriori算法案例3:沃尔玛购物清单第二节关联规则分析的R语言实践教学数据之R语言实现#安装arules程序包install.packages(‘arules’)##1.加载arules程序包library(arules)##2.调用arules包内置的Groceries数据集data(Groceries)##3.查看Groceries数据集中的数据类型class(Groceries)##4.观看数据集里的数据,由于数据量较大,仅查看其前10行数据inspect(Groceries[1:10])##5.利用summary函数了解Groceries数据集的摘要信息summary(Groceries)教学数据之R语言实现##6.通过绘图,了解Groceries数据集中商品出现的频率###6.1绘制支持度在0.1以上的商品频率图itemFrequencyPlot(Groceries,support=0.1)###6.2绘制支持度排名前20的商品频率图itemFrequencyPlot(Groceries,topN=20)##7.利用Apriori函数提取关联规则,默认的置信度是0.8,支持度是0.1apriori(Groceries)#7.1降低支持度,将支持度降低到0.006,置信度降到0.25,最少包含两种商品grocery_rules<-apriori(data=Groceries,parameter=list(support=0.006,confidence=0.25,minlen=2))教学数据之R语言实现##7.2查看关联规则特性summary(grocery_rules)##7.3查看前5行的rulesinspect(grocery_rules[1:5])##7.4查看后5行的rulesinspect(grocery_rules[459:463])##8.按照需要筛选关联规则X=subset(grocery_rules,subset=rhs%pin%"wholemilk"&lift>=1.2)##9.按照支持度对求得的关联规则子集排序并观察inspect(sort(X,by="support")[1:5])结果解读49Groceries中的数据集为交易型数据(transactions)Apriori处理的都是交易型数据(transactions)结果解读ID1的商品组合ID2的商品组合ID3的商品组合ID4的商品组合ID5的商品组合ID6的商品组合ID7的商品组合

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论