第3讲 关联规则分析及其金融运用_第1页
第3讲 关联规则分析及其金融运用_第2页
第3讲 关联规则分析及其金融运用_第3页
第3讲 关联规则分析及其金融运用_第4页
第3讲 关联规则分析及其金融运用_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

第三讲金融关联规则分析及其金融运用章前导读一般性规则最初的关联规则挖掘是针对购物篮分析问题提出的,其目的在于发现交易数据库中不同商品之间的关联关系。获得有关顾客购买模式的一般性规则。销售收益增长“啤酒和尿布”的故事一度是营销届的神话,超市将“啤酒”和“尿布”两个看上去没有关系的商品摆放在一起销售,反而获得了销售收益的增长。高效找到规则能不能在数学上寻求这么一种算法,在计算机上运行,从而高效的去找到这种规则?了解关联规则分析方法、运用场景理解关联规则的基本概念掌握Apriori算法的原理及代码实现了解关联规则如何对推荐系统进行提升学习目标了解关联规则分析方法在仅荣经济领域的运用目录关联规则分析方法概述及其运用场景关联规则的基本概念及Apriori算法关联规则在推荐系统中的应用关联规则分析方法在金融经济领域的运用本讲内容第一部分关联规则分析方法概述及其运用场景

关联挖掘关联分析又称关联挖掘,目标是在数据项目中找到所有的关联(Associations),也就是并发关系,通过分析数据之间的关系,帮助我们制定出准确的决策。购物篮分析通过对顾客放入“购物篮”中的商品进行分析,寻找出频繁出现在一起的组合,作为个性化推荐的依据。例如:“啤酒与尿布”关联规则分析典型例子关联规则挖掘运用场景根据用户当前一次对某个项目的点击,通过储存的关联规则直接进行推荐强关联规则的后件。互联网推荐系统挖掘特定地理区域、特定时间段内的常见疾病,根据挖掘出的强关联规则,提供医疗保健建议。挖掘交通事故及其潜在诱因,并将最终的分析结果运用到制定安全条例法规,以此降低事故率。医学、交通运输等领域揭示海洋、陆地、大气等地球数据之间的关系,从而推动全球变化、灾害科学领域的发展。金融行业涨跌二值型关联规则挖掘、知情交易识别、公募基金重仓股关联规则等。关联规则挖掘运用场景第二部分关联规则的基本概念及Apriori算法关联规则的基本概念122关联规则(AssociationRule)关联规则是形如X→Y的蕴含表达式。其中X和Y是不相交的项集。(X,Y)∈I,并且有X∩Y=NULL成立。规则X→Y中X称为前件,Y称为后件,X和Y都是项集。1项目集合和事物集合项集:包含0个或多个项的集合被称为项集(Itemset)。事务:关联规则的分析对象是事务,事务也即购物篮。超集/子集:项集A⊆项集B,则A是B的子集,B是A的超集。关联规则的基本概念支持度(Support)是指一个项集或者规则在所有事物中出现的频率,确定规则可以用于给定数据集的频繁程度。支持度信任度(Confidence),是指确定Y在包含X的事务中出现的频繁程度,可以表示对某种模式推断的强度。置信度提升度(Lift)表示包含X同时包含Y的比例,与包含Y的比例的比值。可以理解为,Y在X发生的基础上再发生的概率与Y单独发生概率的比值。提升度关联规则挖掘基本原理设I是一个在交易集合T中的一个项目集合,X,Y⊆I是项集,X∩Y=∅,supp(X)≠0,supp(Y)≠0。给定了最小支持度(minsupp)和最小置信度(minconf),如果规则X→Y满足以下条件:阿格拉瓦尔提出了Support-confidence框架:一supp(X→Y)>minsupp如果数据项集满足条件(1),则是一条强关联规则;若同时满足上述条件(1)和(2),则称该规则为强关联规则,否则称为弱关联规则。二conf(X)=supp(X→Y)/supp(X)≥minconf关联规则分类布尔型数值型基于规则处理的变量类别单层关联规则多层关联规则。多层关联规则可以进一步分为同层和层间关联规则基于规则中数据的抽象层次单维和多维多维关联规则可以进一步分为维内关联规则和混合关联规则基于规则中数据的维数Apriori算法定理如果一个项集是频繁的,则它的所有子集一定也是频繁的;相反,如果一个项集是非频繁的,则它的所有超集也一定是非频繁的利用这个定理,我们可以进行剪枝,提升算法效率。Apriori算法将发现关联规则的工作分为两步第一步通过迭代检索出数据库中的所有频繁项集,即频繁项集的支持度不低于用户设定的阈值。第二步从频繁项集中构造出满足用户最低信任度的规则。Apriori算法一种频繁项集算法例3.5五种商品购物篮的所有组合根据Apriori算法定理剪枝例3.6以超市商品销售记录为例,使用python进行关联规则分析,命令如下:由此可以得到符合条件的项集以及对应的支持度。一#构建一个购物清单并将数据转为apriorifunction要求的PandasDataFrame格式transactions=[['milk','bread'],['bread','nappy','beer','potato'],['milk','nappy','beer','coke'],['bread','milk','nappy','beer'],['bread','milk','nappy','coke']]te=TransactionEncoder()transactions_df=te.fit_transform(transactions)transactions_df=pd.DataFrame(transactions_df,columns=te.columns_)二#运用apriori进行频繁项集挖掘,设定频繁相集最小支持度为0.06frequent_itemsets=apriori(transactions_df,min_support=0.06,use_colnames=True)#以支持度的大小进行降序排列frequent_itemsets.sort_values(by='support',ascending=False,inplace=True例3.6接着,对挖掘得出的项集的长度进行计算,可以得到每个项集所包含的元素个数。三frequent_itemsets['length']=frequent_itemsets['itemsets'].apply(lambdax:len(x))四#设定最小置信度0.8,产生关联规则ar=association_rules(frequent_itemsets,metric='confidence',min_threshold=0.8)#为方便查看可以按照提升度进行降序排列呈现结果ar.sort_values(by='lift',ascending=False,inplace=True)#选择支出度不低于0.3且提升低估不低于1.2的项集,并且按照支持度数值降序排列,显示前5条。同时对显示的列名进行限定ar=ar.query("support>=0.3andlift>=1.2").sort_values(by='lift',ascending=False).head(5)ar[['antecedents','consequents','support','confidence','lift']]根据前面得到的项集从中产生关联规则。第三部分关联规则在推荐系统中的应用

协同过滤算法定义:根据用户的兴趣和偏好对用户进行划分,从而进行产品推荐。类似于“人以类聚、物以群分”的思想

。协同过滤算法被广泛运用在新闻、音乐、短视频、电商等平台的推荐功能中。相似度算法协同过滤算法中的关键在于“相似”,那么如何计算两个项目/用户的相似呢?杰卡德相似度协同过滤算法中的关键在于“相似”,那么如何计算两个项目/用户的相似呢?

余弦相似度根据两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向,系数值在-1到1之间。皮尔逊相关系数等于两个变量的协方差除于两个变量的标准差。皮尔逊相似度是一个介于-1和1之间的值,越接近1则表示变量正相关越强,反之亦然。利用杰卡德相似度计算用户相似度利用余弦相似度计算用户相似度关联规则对协同过滤算法的改进关联规则余弦相似度和皮尔逊相似度的计算都依赖于丰富的用户偏好数据或历史行为数据,而在评分数据不足的情况下难以有效计算相似性,此时关联规则就是更好的解决方法。评分数据的质量改进后评分预测与使用相似度计算基于项目的协同过滤算法的评分预测有着类似的计算方法和加权方法,但是区别在于改进后的方法不再依赖于评分数据的质量。基于关联规则改进后的用户对于一个项目评分的预测值为:定义一条关联规则推荐度为recom(X⟹

Y),计算方法为:recom(X⟹

Y)=supp(X⟹

Y)·conf(X⟹

Y)第四部分关联规则分析方法在金融经济领域的运用

公募基金持仓关联规则挖掘在基金公司披露报告时,公募重仓股往往是人们关注的重点之一,公募基金的持仓风格是很多个人投资者的重要参考,能体现出机构投资者对市场的判断。基金重仓股是指一种股票被多家基金重仓持有并占流通市值的20%以上,即该股票有20%被基金持有。基金的重仓股通常是跟随宏观经济、市场行情、公司业绩而动态变化的。案例背景公募基金持仓关联规则挖掘步骤操作第一步将数据转换为apriorifunction要求的PandasDataFrame格式。设定频繁相集的最小支持度,运用apriori算法挖掘第二步设置最小置信度、最小支持度和提升度等条件,挖掘符合的关联规则第三步绘制关联关系图,结合表格,进行分析公募基金持仓关联规则分析公募基金持仓关联规则挖掘步骤一#将数据转为apriorifunction要求的PandasDataFrame格式te=TransactionEncoder()transactions_df=te.fit_transform(transactions)transactions_df=pd.DataFrame(transactions_df,columns=te.columns_)公募基金持仓关联规则挖掘#设定频繁相集最小支持度,使用apriori算法挖掘frequent_itemsets=apriori(transactions_df,min_support=0.01,use_colnames=True)#设置关联规则最小置信度设为0.5,发掘关联规则ar=association_rules(frequent_itemsets,metric='confidence',min_threshold=0.5)#选取支持度、置信度和提升度绘制散点图,观察分布ar[['support','confidence','lift']].plot.scatter(x='support',y='lift',c='confidence',colormap='viridis')步骤二公募基金持仓关联规则挖掘#设定最小置信度0.8,ar=association_rules(frequent_itemsets,metric='confidence',min_threshold=0.8)ar=ar.query("support>=0.02andlift>=2").sort_values(by='lift',ascending=False)round(ar[['antecedents','consequents','support','confidence','lift']],3)步骤二(续)公募基金持仓关联规则挖掘得到置信度大于0.8的强关联规则,部分如下表所示:前项后项前置支持度后置支持度支持度frozenset({'凯莱英'})frozenset({'药明康德'})0.0240.8857.429frozenset({'恩捷股份'})frozenset({'宁德时代'})0.0410.8393.344frozenset({'五粮液','中国中免'})frozenset({'贵州茅台'})0.0380.9862.858frozenset({'长春高新','五粮液'})frozenset({'贵州茅台'})0.0210.9522.76frozenset({'中国中免','泸州老窖'})frozenset({'贵州茅台'})0.020.952.753frozenset({'五粮液','中国平安','招商银行'})frozenset({'贵州茅台'})0.0210.9292.691frozenset({'五粮液','迈瑞医疗'})frozenset({'贵州茅台'})0.0210.9292.

温馨提示

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

评论

0/150

提交评论