1. 关联规则的分类
Apriori算法:使用候选项集找频繁项集
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。
该算法的基本思想是:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。然后使用第1步找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,使用了递推的方法。
Apriori算法采用了逐层搜索的迭代的方法,算法简单明了,没有复杂的理论推导,也易于实现。但其有一些难以克服的缺点:
(1)对数据库的扫描次数过多。
(2)Apriori算法会产生大量的中间项集。
(3)采用唯一支持度。
(4)算法的适应面窄。 基于划分的算法
Savasere等设计了一个基于划分的算法。这个算法先把数据库从逻辑上分成几个互不相交的块,每次单独考虑一个分块并对它生成所有的频集,然后把产生的频集合并,用来生成所有可能的频集,最后计算这些项集的支持度。这里分块的大小选择要使得每个分块可以被放入主存,每个阶段只需被扫描一次。而算法的正确性是由每一个可能的频集至少在某一个分块中是频集保证的。该算法是可以高度并行的,可以把每一分块分别分配给某一个处理器生成频集。产生频集的每一个循环结束后,处理器之间进行通信来产生全局的候选k-项集。通常这里的通信过程是算法执行时间的主要瓶颈;而另一方面,每个独立的处理器生成频集的时间也是一个瓶颈。 FP-树频集算法
针对Apriori算法的固有缺陷,J. Han等提出了不产生候选挖掘频繁项集的方法:FP-树频集算法。采用分而治之的策略,在经过第一遍扫描之后,把数据库中的频集压缩进一棵频繁模式树(FP-tree),同时依然保留其中的关联信息,随后再将FP-tree分化成一些条件库,每个库和一个长度为1的频集相关,然后再对这些条件库分别进行挖掘。当原始数据量很大的时候,也可以结合划分的方法,使得一个FP-tree可以放入主存中。实验表明,FP-growth对不同长度的规则都有很好的适应性,同时在效率上较之Apriori算法有巨大的提高。
2. fpgrowth算法属于数据分析吗
fpgrowth算法是数据分析系列中的一种。FP-growth,即FrequentPatternGrowth,它通过构建FP树(即FrequentPatternTree)这样的数据结构,巧妙得将数据存储在FP树中,只需要在构建FP树时扫描数据库两次,后续处理就不需要再访问数据库了。这种特性使得FP-growth算法比Apriori算法速度快。FP树是一种前缀树,由频繁项的前缀构成。
3. 关联分析的关联分析的方法
Apriori算法是挖掘产生布尔关联规则所需频繁项集的基本算法,也是最着名的关联规则挖掘算法之一。Apriori算法就是根据有关频繁项集特性的先验知识而命名的。它使用一种称作逐层搜索的迭代方法,k—项集用于探索(k+1)—项集。首先,找出频繁1—项集的集合.记做L1,L1用于找出频繁2—项集的集合L2,再用于找出L3,如此下去,直到不能找到频繁k—项集。找每个Lk需要扫描一次数据库。
为提高按层次搜索并产生相应频繁项集的处理效率,Apriori算法利用了一个重要性质,并应用Apriori性质来帮助有效缩小频繁项集的搜索空间。
Apriori性质:一个频繁项集的任一子集也应该是频繁项集。证明根据定义,若一个项集I不满足最小支持度阈值min_sup,则I不是频繁的,即P(I)<min_sup。若增加一个项A到项集I中,则结果新项集(I∪A)也不是频繁的,在整个事务数据库中所出现的次数也不可能多于原项集I出现的次数,因此P(I∪A)<min_sup,即(I∪A)也不是频繁的。这样就可以根据逆反公理很容易地确定Apriori性质成立。
针对Apriori算法的不足,对其进行优化:
1)基于划分的方法。该算法先把数据库从逻辑上分成几个互不相交的块,每次单独考虑一个分块并对它生成所有的频繁项集,然后把产生的频繁项集合并,用来生成所有可能的频繁项集,最后计算这些项集的支持度。这里分块的大小选择要使得每个分块可以被放入主存,每个阶段只需被扫描一次。而算法的正确性是由每一个可能的频繁项集至少在某一个分块中是频繁项集保证的。
上面所讨论的算法是可以高度并行的。可以把每一分块分别分配给某一个处理器生成频繁项集。产生频繁项集的每一个循环结束后.处理器之间进行通信来产生全局的候选是一项集。通常这里的通信过程是算法执行时间的主要瓶颈。而另一方面,每个独立的处理器生成频繁项集的时间也是一个瓶颈。其他的方法还有在多处理器之间共享一个杂凑树来产生频繁项集,更多关于生成频繁项集的并行化方法可以在其中找到。
2)基于Hash的方法。Park等人提出了一个高效地产生频繁项集的基于杂凑(Hash)的算法。通过实验可以发现,寻找频繁项集的主要计算是在生成频繁2—项集Lk上,Park等就是利用这个性质引入杂凑技术来改进产生频繁2—项集的方法。
3)基于采样的方法。基于前一遍扫描得到的信息,对它详细地做组合分析,可以得到一个改进的算法,其基本思想是:先使用从数据库中抽取出来的采样得到一些在整个数据库中可能成立的规则,然后对数据库的剩余部分验证这个结果。这个算法相当简单并显着地减少了FO代价,但是一个很大的缺点就是产生的结果不精确,即存在所谓的数据扭曲(Dataskew)。分布在同一页面上的数据时常是高度相关的,不能表示整个数据库中模式的分布,由此而导致的是采样5%的交易数据所花费的代价同扫描一遍数据库相近。
4)减少交易个数。减少用于未来扫描事务集的大小,基本原理就是当一个事务不包含长度为志的大项集时,则必然不包含长度为走k+1的大项集。从而可以将这些事务删除,在下一遍扫描中就可以减少要进行扫描的事务集的个数。这就是AprioriTid的基本思想。 由于Apriori方法的固有缺陷.即使进行了优化,其效率也仍然不能令人满意。2000年,Han Jiawei等人提出了基于频繁模式树(Frequent Pattern Tree,简称为FP-tree)的发现频繁模式的算法FP-growth。在FP-growth算法中,通过两次扫描事务数据库,把每个事务所包含的频繁项目按其支持度降序压缩存储到FP—tree中。在以后发现频繁模式的过程中,不需要再扫描事务数据库,而仅在FP-Tree中进行查找即可,并通过递归调用FP-growth的方法来直接产生频繁模式,因此在整个发现过程中也不需产生候选模式。该算法克服了Apriori算法中存在的问颢.在执行效率上也明显好于Apriori算法。
4. 麻烦谁给我介绍一下金融数学,金融工程,精算学!
金融数学
21世纪数学技术和计算机技术一样成为任何一门科学发展过程中的必备工具。美国花旗
银行副总裁柯林斯(Collins)1995年3月6日在英国剑桥大学牛顿数学科学研究所的讲演
中叙述到:“在18世纪初,和牛顿同时代的着名数学家伯努利曾宣称:‘从事物理学研
究而不懂数学的人实际上处理的是意义不大的东西。’那时候,这样的说法对物理学而
言是正确的,但对于银行业而言不一定对。在18世纪,你可以没有任何数学训练而很好
地运作银行。过去对物理学而言是正确的说法现在对于银行业也正确了。于是现在可以
这样说:‘从事银行业工作而不懂数学的人实际上处理的是意义不大的东西’。”他还
指出:花旗银行70%的业务依赖于数学,他还特别强调,‘如果没有数学发展起来的工具
和技术,许多事情我们是一点办法也没有的……没有数学我们不可能生存。”这里银行
家用他的经验描述了数学的重要性。在冷战结束后,美国原先在军事系统工作的数以千
计的科学家进入了华尔街,大规模的基金管理公司纷纷开始雇佣数学博士或物理学博士
。这是一个重要信号:金融市场不是战场,却远胜于战场。但是市场和战场都离不开复
杂艰深,迅速的计算工作。
然而在国内却不能回避这样一个事实:受过高等教育的专业人士都可以读懂国内经济类
,金融类核心期刊,但国内金融学专业的本科生却很难读懂本专业的国际核心期刊《Jo
urnal of Finance》,证券投资基金经理少有人去阅读《Joural of Portfolio Manage
ment》,其原因不在于外语的熟练程度,而在于内容和研究方法上的差异,目前国内较
多停留在以描述性分析为主着重描述金融的定义,市场的划分及金融组织等,或称为描
述金融;而国外学术界以及实务界则以数量性分析为主,比如资本资产定价原理,衍生
资产的复制方法等,或称为分析金融,即使在国内金融学的教材中,虽然涉及到了标的
资产(Underlying asset)和衍生资产(Derivative asset)定价,但对公式提出的原
文证明也予以回避,这种现象是不合理的,产生这种现象的原因有如下几个方面:首先
,根据研究方法的不同,我国金融学科既可以归到我国哲学社会科学规划办公室,也可
以归到国家自然科学基金委员会管理科学部,前者占主要地位,且这支队伍大多来自经
济转轨前的哲学和政治学队伍,因此研究方法多为定性的方法。而西方正好相反,金融
研究方向的队伍具有很好的数理功底。其次是我国的金融市场的实际环境所决定。我国
证券市场刚起步,也没有一个统一的货币市场,投资者队伍主要由中小投资者构成,市
场投机成分高,因此不会产生对现代投资理论的需求,相应地,学术界也难以对此产生
研究的热情。
然而数学技术以其精确的描述,严密的推导已经不容争辩地走进了金融领域。自从1952
年马柯维茨(Markowitz)提出了用随机变量的特征变量来描述金融资产的收益性,不确
定性和流动性以来,已经很难分清世界一流的金融杂志是在分析金融市场还是在撰写一
篇数学论文。再回到Collins的讲话,在金融证券化的趋势中,无论是我们采用统计学的
方法分析历史数据,寻找价格波动规律,还是用数学分析的方法去复制金融产品,谁最
先发现了内在规律,谁就能在瞬息万变的金融市场中获取高额利润。尽管由于森严的进
入堡垒,数学进入金融领域受到了一定的排斥和漠视,然而为了追求利润,未知的恐惧
显得不堪一击。
于是,在未来我们可以想象有这样一个充满美好前景的产业链:金融市场--金融数学--
计算机技术。金融市场存在巨大的利润和高风险,需要计算机技术帮助分析,然而计算
机不可能大概,左右等描述性语言,它本质上只能识别由0和1构成的空间,金融数学在
这个过程中正好扮演了一个中介角色,它可以用精确语言描述随机波动的市场。比如,
通过收益率状态矩阵在无套利的情形下找到了无风险贴现因子。因此,金融数学能帮助
IT产业向金融产业延伸,并获取自己的利润空间
金融数学(Financial Mathematics),又称数理金融学、数学金融学、分析金融学,是利用数学工具 研究金融,进行数学建模、理论分析、数值计算等定量分析,以求找到金融学内在规律并用以指导实践。金融数学也可以理解为现代数学与计算技术在金融领域的应用,因此,金融数学是一门新兴的交叉学科,发展 很快,是目前十分活跃的前言学科之一。
金融数学是一门新兴学科,是“金融高技术 ”的重要 组成部分。研究金融数学有着重要的意义。 金融数学总的研究目标是利用我国数学界某些方面的优势,围绕金融市场的均衡与有价证券定价的数学理论进行深入剖析,建立适合我国国情的数学模型,编写一定的计算机软件,对理论研究结果进行仿真计算,对实际数据进行计量经济分析研究,为实际金融部门提供较深入的技术分析咨询。
金融数学主要的研究内容和拟重点解决的问题包括:
(1)有价证券和证券组合的定价理论
发展有价证券(尤其是期货、期权等衍生工具)的定价理论。所用的数学方法主要是提出合适的随机微分方程或随机差分方程模型,形成相应的倒向方程。建立相应的非线性Feynman一Kac公式,由此导出非常一般的推广的Black一Scho1es定价公式。所得到的倒向方程将是高维非线性带约束的奇异方程。
研究具有不同期限和收益率的证券组合的定价问题。需要建立定价与优化相结合的数学模型,在数学工具的研究方面,可能需要随机规划、模糊规划和优化算法研究。
在市场是不完全的条件下,引进与偏好有关的定价理论。
(2)不完全市场经济均衡理论(GEI)
拟在以下几个方面进行研究:
1.无穷维空间、无穷水平空间、及无限状态
2.随机经济、无套利均衡、经济结构参数变异、非线资产结构
3.资产证券的创新(Innovation)与设计(Design)
4.具有摩擦(Friction)的经济
5.企业行为与生产、破产与坏债
6.证券市场博奕。
(3)GEI 平板衡算法、蒙特卡罗法在经济平衡点计算中的应用, GEI的理论在金融财政经济宏观经济调控中的应用,不完全市场条件下,持续发展理论框架下研究自然资源资产定价与自然资源的持续利用。
目前国内开设金融数学本科专业的高等院校中,实力较强的有北京大学、复旦大学、浙江大学、山东大学、南开大学。
后来从事计算机工作很出色。金融数学将后来在银行、保险、股票、期货领域从事研究分析,或做这些领域的软件开发,具有很好的专业背景,而这些领域将来都很重要。
国内金融数学人才凤毛麟角
诺贝尔经济学奖已经至少3次授予以数学为工具分析金融问题的经济学家。北京大学金融数学系王铎教授说,但遗憾的是,我国相关人才的培养,才刚刚起步。现在,既懂金融又懂数学的复合型人才相当稀缺。
金融数学这门新兴的交叉学科已经成为国际金融界的一枝奇葩。刚刚公布的2003年诺贝尔经济学奖,就是表彰美国经济学家罗伯特·恩格尔和英国经济学家克莱夫·格兰杰分别用“随着时间变化易变性”和“共同趋势”两种新方法分析经济时间数列给经济学研究和经济发展带来巨大影响。
王铎介绍,金融数学的发展曾两次引发了“华尔街革命”。上个世纪50年代初期,马科威茨提出证券投资组合理论,第一次明确地用数学工具给出了在一定风险水平下按不同比例投资多种证券收益可能最大的投资方法,引发了第一次“华尔街革命”。1973年,布莱克和斯克尔斯用数学方法给出了期权定价公式,推动了期权交易的发展,期权交易很快成为世界金融市场的主要内容,成为第二次“华尔街革命”。
今天,金融数学家已经是华尔街最抢手的人才之一。最简单的例子是,保险公司中地位和收入最高的,可能就是总精算师。美国花旗银行副主席保尔·柯斯林着名的论断是,“一个从事银行业务而不懂数学的人,无非只能做些无关紧要的小事”。
在美国,芝加哥大学、加州伯克利大学、斯坦福大学、卡内基·梅隆大学和纽约大学等着名学府,都已经设立了金融数学相关的学位或专业证书教育。
专家认为,金融数学可能带来的发展应该凸现在亚洲,尤其是在金融市场正在开发和具有巨大潜力的中国。香港中文大学、科技大学、城市理工大学等学校都已推出有关的训练课程和培养计划,并得到银行金融业界的热烈响应。但中国内地对该项人才的培养却有些艰辛。
王铎介绍,国家自然科学基金委员会在一项“九五”重大项目中,列入金融工程研究内容,可以说全面启动了国内的金融数学研究。可这比马科威茨开始金融数学的研究应用已经晚了近半个世纪。
在金融衍生产品已成为国际金融市场重要角色的背景下,我国的金融衍生产品才刚刚起步,金融衍生产品市场几乎是空白。“加入 W TO后,国际金融家们肯定将把这一系列业务带入中国。如果没有相应的产品和人才,如何竞争?”王铎忧虑地说。
他认为,近几年,接连发生的墨西哥金融危机、百年老店巴林银行倒闭等事件都在警告我们,如果不掌握金融数学、金融工程和金融管理等现代化金融技术,缺乏人才,就可能在国际金融竞争中蒙受重大损失。我们现在最缺的,就是掌握现代金融衍生工具、能对金融风险做定量分析的既懂金融又懂数学的高级复合型人才。
据悉,目前国内不少高校都陆续开展了与金融数学相关的教学,但毕业的学生远远满足不了整个市场的需求。
王铎认为,培养这类人才还有一些难以逾越的障碍———金融数学最终要运用于实践,可目前国内金融衍生产品市场还没有成气候,学生很难有实践的机会,教和学都还是纸上谈兵。另外,高校培养的人大多都是本科生,只有少量的研究生,这个领域的高端人才在国内还是凤毛麟角。国家应该更多地关注金融和数学相结合的复合型人才的培养。
王铎回忆,1997年,北京大学建立了国内首个金融数学系时,他曾想与一些金融界人士共商办学。但相当一部分人对此显然并不感兴趣:“什么金融衍生产品,什么金融数学,那都是国家应该操心的事。”
尽管当初开设金融数学系时有人认为太超前,但王铎坚持,教育应该走在产业发展的前头,才能为市场储备人才。如果今天还不重视相关领域的人才培养,就可能导致我们在国际竞争中的不利。
记者发现即使今天,在这个问题上,仍然一方面是高校教师对于人才稀缺的担忧,一方面却是一些名气很大的专家对金融数学人才培养的冷漠。
采访中,记者多次试图联系几位国内金融数学界或金融理论界专家,可屡屡遭到拒绝。原因很简单,他们认为,谈人才培养这样的话题太小儿科,有的甚至说,“我不了解,也根本不关注什么人才培养”。还有的说,“我现在有很多课题要做,是我的课题重要,还是讨论人才培养重要”、“我没有时间,也没义务向公众解释什么诺贝尔经济学奖,老百姓要不要晓得金融数学和我没有关系”。
[编辑本段]金融中的数据挖掘
1.什么是关联规则
在描述有关关联规则的一些细节之前,我们先来看一个有趣的故事: "尿布与啤酒"的故事。
在一家超市里,有一个有趣的现象:尿布和啤酒赫然摆在一起出售。但是这个奇怪的举措却使尿布和啤酒的销量双双增加了。这不是一个笑话,而是发生在美国沃尔玛连锁店超市的真实案例,并一直为商家所津津乐道。沃尔玛拥有世界上最大的数据仓库系统,为了能够准确了解顾客在其门店的购买习惯,沃尔玛对其顾客的购物行为进行购物篮分析,想知道顾客经常一起购买的商品有哪些。沃尔玛数据仓库里集中了其各门店的详细原始交易数据。在这些原始交易数据的基础上,沃尔玛利用数据挖掘方法对这些数据进行分析和挖掘。一个意外的发现是:"跟尿布一起购买最多的商品竟是啤酒!经过大量实际调查和分析,揭示了一个隐藏在"尿布与啤酒"背后的美国人的一种行为模式:在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,而他们中有30%~40%的人同时也为自己买一些啤酒。产生这一现象的原因是:美国的太太们常叮嘱她们的丈夫下班后为小孩买尿布,而丈夫们在买尿布后又随手带回了他们喜欢的啤酒。
按常规思维,尿布与啤酒风马牛不相及,若不是借助数据挖掘技术对大量交易数据进行挖掘分析,沃尔玛是不可能发现数据内在这一有价值的规律的。
数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。关联规则挖掘发现大量数据中项集之间有趣的关联或相关联系。Agrawal等于1993年首先提出了挖掘顾客交易数据库中项集间的关联规则问题,以后诸多的研究人员对关联规则的挖掘问题进行了大量的研究。他们的工作包括对原有的算法进行优化,如引入随机采样、并行的思想等,以提高算法挖掘规则的效率;对关联规则的应用进行推广。关联规则挖掘在数据挖掘中是一个重要的课题,最近几年已被业界所广泛研究。
2.关联规则挖掘过程、分类及其相关算法
2.1关联规则挖掘的过程
关联规则挖掘过程主要包含两个阶段:第一阶段必须先从资料集合中找出所有的高频项目组(Frequent Itemsets),第二阶段再由这些高频项目组中产生关联规则(Association Rules)。
关联规则挖掘的第一阶段必须从原始资料集合中,找出所有高频项目组(Large Itemsets)。高频的意思是指某一项目组出现的频率相对于所有记录而言,必须达到某一水平。一项目组出现的频率称为支持度(Support),以一个包含A与B两个项目的2-itemset为例,我们可以经由公式(1)求得包含{A,B}项目组的支持度,若支持度大于等于所设定的最小支持度(Minimum Support)门槛值时,则{A,B}称为高频项目组。一个满足最小支持度的k-itemset,则称为高频k-项目组(Frequent k-itemset),一般表示为Large k或Frequent k。算法并从Large k的项目组中再产生Large k+1,直到无法再找到更长的高频项目组为止。
关联规则挖掘的第二阶段是要产生关联规则(Association Rules)。从高频项目组产生关联规则,是利用前一步骤的高频k-项目组来产生规则,在最小信赖度(Minimum Confidence)的条件门槛下,若一规则所求得的信赖度满足最小信赖度,称此规则为关联规则。例如:经由高频k-项目组{A,B}所产生的规则AB,其信赖度可经由公式(2)求得,若信赖度大于等于最小信赖度,则称AB为关联规则。
就沃尔马案例而言,使用关联规则挖掘技术,对交易资料库中的纪录进行资料挖掘,首先必须要设定最小支持度与最小信赖度两个门槛值,在此假设最小支持度min_support=5% 且最小信赖度min_confidence=70%。因此符合此该超市需求的关联规则将必须同时满足以上两个条件。若经过挖掘过程所找到的关联规则“尿布,啤酒”,满足下列条件,将可接受“尿布,啤酒”的关联规则。用公式可以描述Support(尿布,啤酒)>=5%且Confidence(尿布,啤酒)>=70%。其中,Support(尿布,啤酒)>=5%于此应用范例中的意义为:在所有的交易纪录资料中,至少有5%的交易呈现尿布与啤酒这两项商品被同时购买的交易行为。Confidence(尿布,啤酒)>=70%于此应用范例中的意义为:在所有包含尿布的交易纪录资料中,至少有70%的交易会同时购买啤酒。因此,今后若有某消费者出现购买尿布的行为,超市将可推荐该消费者同时购买啤酒。这个商品推荐的行为则是根据“尿布,啤酒”关联规则,因为就该超市过去的交易纪录而言,支持了“大部份购买尿布的交易,会同时购买啤酒”的消费行为。
从上面的介绍还可以看出,关联规则挖掘通常比较适用与记录中的指标取离散值的情况。如果原始数据库中的指标值是取连续的数据,则在关联规则挖掘之前应该进行适当的数据离散化(实际上就是将某个区间的值对应于某个值),数据的离散化是数据挖掘前的重要环节,离散化的过程是否合理将直接影响关联规则的挖掘结果。
2.2关联规则的分类
按照不同情况,关联规则可以进行分类如下:
1.基于规则中处理的变量的类别,关联规则可以分为布尔型和数值型。
布尔型关联规则处理的值都是离散的、种类化的,它显示了这些变量之间的关系;而数值型关联规则可以和多维关联或多层关联规则结合起来,对数值型字段进行处理,将其进行动态的分割,或者直接对原始的数据进行处理,当然数值型关联规则中也可以包含种类变量。例如:性别=“女”=>职业=“秘书” ,是布尔型关联规则;性别=“女”=>avg(收入)=2300,涉及的收入是数值类型,所以是一个数值型关联规则。
2.基于规则中数据的抽象层次,可以分为单层关联规则和多层关联规则。
在单层的关联规则中,所有的变量都没有考虑到现实的数据是具有多个不同的层次的;而在多层的关联规则中,对数据的多层性已经进行了充分的考虑。例如:IBM台式机=>Sony打印机,是一个细节数据上的单层关联规则;台式机=>Sony打印机,是一个较高层次和细节层次之间的多层关联规则。
3.基于规则中涉及到的数据的维数,关联规则可以分为单维的和多维的。
在单维的关联规则中,我们只涉及到数据的一个维,如用户购买的物品;而在多维的关联规则中,要处理的数据将会涉及多个维。换成另一句话,单维关联规则是处理单个属性中的一些关系;多维关联规则是处理各个属性之间的某些关系。例如:啤酒=>尿布,这条规则只涉及到用户的购买的物品;性别=“女”=>职业=“秘书”,这条规则就涉及到两个字段的信息,是两个维上的一条关联规则。
2.3关联规则挖掘的相关算法
1.Apriori算法:使用候选项集找频繁项集
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。
该算法的基本思想是:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。然后使用第1步找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,使用了递推的方法。
可能产生大量的候选集,以及可能需要重复扫描数据库,是Apriori算法的两大缺点。
2.基于划分的算法
Savasere等设计了一个基于划分的算法。这个算法先把数据库从逻辑上分成几个互不相交的块,每次单独考虑一个分块并对它生成所有的频集,然后把产生的频集合并,用来生成所有可能的频集,最后计算这些项集的支持度。这里分块的大小选择要使得每个分块可以被放入主存,每个阶段只需被扫描一次。而算法的正确性是由每一个可能的频集至少在某一个分块中是频集保证的。该算法是可以高度并行的,可以把每一分块分别分配给某一个处理器生成频集。产生频集的每一个循环结束后,处理器之间进行通信来产生全局的候选k-项集。通常这里的通信过程是算法执行时间的主要瓶颈;而另一方面,每个独立的处理器生成频集的时间也是一个瓶颈。
3.FP-树频集算法
针对Apriori算法的固有缺陷,J. Han等提出了不产生候选挖掘频繁项集的方法:FP-树频集算法。采用分而治之的策略,在经过第一遍扫描之后,把数据库中的频集压缩进一棵频繁模式树(FP-tree),同时依然保留其中的关联信息,随后再将FP-tree分化成一些条件库,每个库和一个长度为1的频集相关,然后再对这些条件库分别进行挖掘。当原始数据量很大的时候,也可以结合划分的方法,使得一个FP-tree可以放入主存中。实验表明,FP-growth对不同长度的规则都有很好的适应性,同时在效率上较之Apriori算法有巨大的提高。
3.该领域在国内外的应用
3.1关联规则发掘技术在国内外的应用
就目前而言,关联规则挖掘技术已经被广泛应用在西方金融行业企业中,它可以成功预测银行客户需求。一旦获得了这些信息,银行就可以改善自身营销。现在银行天天都在开发新的沟通客户的方法。各银行在自己的ATM机上就捆绑了顾客可能感兴趣的本行产品信息,供使用本行ATM机的用户了解。如果数据库中显示,某个高信用限额的客户更换了地址,这个客户很有可能新近购买了一栋更大的住宅,因此会有可能需要更高信用限额,更高端的新信用卡,或者需要一个住房改善贷款,这些产品都可以通过信用卡账单邮寄给客户。当客户打电话咨询的时候,数据库可以有力地帮助电话销售代表。销售代表的电脑屏幕上可以显示出客户的特点,同时也可以显示出顾客会对什么产品感兴趣。
同时,一些知名的电子商务站点也从强大的关联规则挖掘中的受益。这些电子购物网站使用关联规则中规则进行挖掘,然后设置用户有意要一起购买的捆绑包。也有一些购物网站使用它们设置相应的交叉销售,也就是购买某种商品的顾客会看到相关的另外一种商品的广告。
但是目前在我国,“数据海量,信息缺乏”是商业银行在数据大集中之后普遍所面对的尴尬。目前金融业实施的大多数数据库只能实现数据的录入、查询、统计等较低层次的功能,却无法发现数据中存在的各种有用的信息,譬如对这些数据进行分析,发现其数据模式及特征,然后可能发现某个客户、消费群体或组织的金融和商业兴趣,并可观察金融市场的变化趋势。可以说,关联规则挖掘的技术在我国的研究与应用并不是很广泛深入。
3.2近年来关联规则发掘技术的一些研究
由于许多应用问题往往比超市购买问题更复杂,大量研究从不同的角度对关联规则做了扩展,将更多的因素集成到关联规则挖掘方法之中,以此丰富关联规则的应用领域,拓宽支持管理决策的范围。如考虑属性之间的类别层次关系,时态关系,多表挖掘等。近年来围绕关联规则的研究主要集中于两个方面,即扩展经典关联规则能够解决问题的范围,改善经典关联规则挖掘算法效率和规则兴趣性。
金融工程的定义
关于金融工程的定义有多种说法,美国金融学家约翰·芬尼迪(John Finnerty)提出的定义最好:金融工程包括创新型金融工具与金融手段的设计、开发与实施,以及对金融问题给予创造性的解决。
金融工程的概念有狭义和广义两种。狭义的金融工程主要是指利用先进的数学及通讯工具,在各种现有基本金融产品的基础上,进行不同形式的组合分解,以设计出符合客户需要并具有特定P/L性的新的金融产品。而广义的金融工程则是指一切利用工程化手段来解决金融问题的技术开发,它不仅包括金融产品设计,还包括金融产品定价、交易策略设计、金融风险管理等各个方面。本文采用的是广义的金融工程概念。
[编辑本段]金融工程的核心内容
金融工程中,其核心在于对新型金融产品或业务的开发设计,其实质在于提高效率,它包括:
1.新型金融工具的创造,如创造第一个零息债券,第一个互换合约等;
2.已有工具的发展应用,如把期货交易应用于新的领域,发展出众多的期权及互换的品种等;
3.把已有的金融工具和手段运用组合分解技术,复合出新的金融产品,如远期互换,期货期权,新的财务结构的构造等。
[编辑本段]金融工程的运作程序
金融工程的运作具有规范化的程序:诊断—分析—开发—定价—交付使用,基本过程程序化。
其中从项目的可行性分析,产品的性能目标确定,方案的优化设计,产品的开发,定价模型的确定,仿真的模拟试验,小批量的应用和反馈修正,直到大批量的销售、推广应用,各个环节紧密有序。大部分的被创新的新金融产品,成为运用金融工程创造性解决其他相关金融财务问题的工具,即组合性产品中的基本单元。
精算学
精算学在西方已经有三百年的历史,它是一门运用概率论等数学理论和多种金融工具,研究如何处理保险业及其他金融业中各种风险问题的定量方法和技术的学科,是现代保险业、金融投资业和社会保障事业发展的理论基础。
精算是一门运用概率数学理论和多种金融工具对经济活动进行分析预测的学问。在西方发达国家,精算在保险、投资、金融监管、社会保障以及其他与风险管理相关领域发挥着重要作用。精算师是同"未来不确定性"打交道的,宗旨是为金融决策提供依据。
精算师
5. apriori算法是什么
经典的关联规则挖掘算法包括Apriori算法和FP-growth算法。
apriori算法多次扫描交易数据库,每次利用候选频繁集产生频繁集;而FP-growth则利用树形结构,无需产生候选频繁集而是直接得到频繁集,大大减少扫描交易数据库的次数,从而提高了算法的效率,但是apriori的算法扩展性较好,可以用于并行计算等领域。
(5)fpgrowth算法能进行并行计算吗扩展阅读:
Apriori algorithm是关联规则里一项基本算法
Apriori算法将发现关联规则的过程分:
第一通过迭代,检索出事务数据库1中的所有频繁项集,即支持度不低于用户设定的阈值的项集;
第二利用频繁项集构造出满足用户最小信任度的规则。其中,挖掘或识别出所有频繁项集是该算法的核心,占整个计算量的大部分。
6. iphone13+pro人脸识别原理
摘要 您好 很高兴为您服务这里是网络知道 我来为您解答问题 人脸识别的原理今天用来做分类算法学习的微课主角是——Weka。
7. 金融数学会涉及到哪些方面
金融数学是一门新兴学科,是“金融高技术 ”的重要组成部分。研究目标是利用我国数学界某些方面的优势,围绕金融市场的均衡与有价证券定价的数学理论进行深入剖析,建立适合国情的数学模型,编写一定的计算机软件,对理论研究结果进行仿真计算,对实际数据进行计量经济分析研究,为实际金融部门提供较深入的技术分析咨询。核心内容就是研究不确定随机环境下的投资组合的最优选择理论和资产的定价理论。套利、最优与均衡是金融数学的基本经济思想和三大基本概念。
金融数学主要的研究内容和拟重点解决的问题包括:
(1)有价证券和证券组合的定价理论
发展有价证券(尤其是期货、期权等衍生工具)的定价理论。所用的数学方法主要是提出合适的随机微分方程或随机差分方程模型,形成相应的倒向方程。建立相应的非线性Feynman一Kac公式,由此导出非常一般的推广的Black一Scholes定价公式。所得到的倒向方程将是高维非线性带约束的奇异方程。
研究具有不同期限和收益率的证券组合的定价问题。需要建立定价与优化相结合的数学模型,在数学工具的研究方面,可能需要随机规划、模糊规划和优化算法研究。
在市场是不完全的条件下,引进与偏好有关的定价理论。
(2)不完全市场经济均衡理论(GEI)
拟在以下几个方面进行研究:
1.无穷维空间、无穷水平空间、及无限状态
2.随机经济、无套利均衡、经济结构参数变异、非线资产结构
3.资产证券的创新(Innovation)与设计(Design)
4.具有摩擦(Friction)的经济
5.企业行为与生产、破产与坏债
6.证券市场博弈。
(3)GEI 平板衡算法、蒙特卡罗法在经济平衡点计算中的应用, GEI的理论在金融财政经济宏观经济调控中的应用,不完全市场条件下,持续发展理论框架下研究自然资源资产定价与自然资源的持续利用。
1.什么是关联规则
在描述有关关联规则的一些细节之前,我们先来看一个有趣的故事:"尿布与啤酒"的故事。
在一家超市里,有一个有趣的现象:尿布和啤酒赫然摆在一起出售。但是这个奇怪的举措却使尿布和啤酒的销量双双增加了。这不是一个笑话,而是发生在美国沃尔玛连锁店超市的真实案例,并一直为商家所津津乐道。沃尔玛拥有世界上最大的数据仓库系统,为了能够准确了解顾客在其门店的购买习惯,沃尔玛对其顾客的购物行为进行购物篮分析,想知道顾客经常一起购买的商品有哪些。沃尔玛数据仓库里集中了其各门店的详细原始交易数据。在这些原始交易数据的基础上,沃尔玛利用数据挖掘方法对这些数据进行分析和挖掘。一个意外的发现是:"跟尿布一起购买最多的商品竟是啤酒!经过大量实际调查和分析,揭示了一个隐藏在"尿布与啤酒"背后的美国人的一种行为模式:在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,而他们中有30%~40%的人同时也为自己买一些啤酒。产生这一现象的原因是:美国的太太们常叮嘱她们的丈夫下班后为小孩买尿布,而丈夫们在买尿布后又随手带回了他们喜欢的啤酒。按常规思维,尿布与啤酒风马牛不相及,若不是借助数据挖掘技术对大量交易数据进行挖掘分析,沃尔玛是不可能发现数据内在这一有价值的规律的。
数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。关联规则挖掘发现大量数据中项集之间有趣的关联或相关联系。Agrawal等于1993年首先提出了挖掘顾客交易数据库中项集间的关联规则问题,以后诸多的研究人员对关联规则的挖掘问题进行了大量的研究。他们的工作包括对原有的算法进行优化,如引入随机采样、并行的思想等,以提高算法挖掘规则的效率;对关联规则的应用进行推广。关联规则挖掘在数据挖掘中是一个重要的课题,最近几年已被业界所广泛研究。
2.关联规则挖掘过程、分类及其相关算法
2.1关联规则挖掘的过程
关联规则挖掘过程主要包含两个阶段:第一阶段必须先从资料集合中找出所有的高频项目组(FrequentItemsets),第二阶段再由这些高频项目组中产生关联规则(AssociationRules)。
关联规则挖掘的第一阶段必须从原始资料集合中,找出所有高频项目组(LargeItemsets)。高频的意思是指某一项目组出现的频率相对于所有记录而言,必须达到某一水平。一项目组出现的频率称为支持度(Support),以一个包含A与B两个项目的2-itemset为例,我们可以经由公式(1)求得包含{A,B}项目组的支持度,若支持度大于等于所设定的最小支持度(MinimumSupport)门槛值时,则{A,B}称为高频项目组。一个满足最小支持度的k-itemset,则称为高频k-项目组(Frequentk-itemset),一般表示为Largek或Frequentk。算法并从Largek的项目组中再产生Largek+1,直到无法再找到更长的高频项目组为止。
关联规则挖掘的第二阶段是要产生关联规则(AssociationRules)。从高频项目组产生关联规则,是利用前一步骤的高频k-项目组来产生规则,在最小信赖度(MinimumConfidence)的条件门槛下,若一规则所求得的信赖度满足最小信赖度,称此规则为关联规则。例如:经由高频k-项目组{A,B}所产生的规则AB,其信赖度可经由公式(2)求得,若信赖度大于等于最小信赖度,则称AB为关联规则。
就沃尔马案例而言,使用关联规则挖掘技术,对交易资料库中的纪录进行资料挖掘,首先必须要设定最小支持度与最小信赖度两个门槛值,在此假设最小支持度min_support=5%且最小信赖度min_confidence=70%。因此符合此该超市需求的关联规则将必须同时满足以上两个条件。若经过挖掘过程所找到的关联规则“尿布,啤酒”,满足下列条件,将可接受“尿布,啤酒”的关联规则。用公式可以描述Support(尿布,啤酒)>=5%且Confidence(尿布,啤酒)>=70%。其中,Support(尿布,啤酒)>=5%于此应用范例中的意义为:在所有的交易纪录资料中,至少有5%的交易呈现尿布与啤酒这两项商品被同时购买的交易行为。Confidence(尿布,啤酒)>=70%于此应用范例中的意义为:在所有包含尿布的交易纪录资料中,至少有70%的交易会同时购买啤酒。因此,今后若有某消费者出现购买尿布的行为,超市将可推荐该消费者同时购买啤酒。这个商品推荐的行为则是根据“尿布,啤酒”关联规则,因为就该超市过去的交易纪录而言,支持了“大部份购买尿布的交易,会同时购买啤酒”的消费行为。
从上面的介绍还可以看出,关联规则挖掘通常比较适用与记录中的指标取离散值的情况。如果原始数据库中的指标值是取连续的数据,则在关联规则挖掘之前应该进行适当的数据离散化(实际上就是将某个区间的值对应于某个值),数据的离散化是数据挖掘前的重要环节,离散化的过程是否合理将直接影响关联规则的挖掘结果。
2.2关联规则的分类
按照不同情况,关联规则可以进行分类如下:
1.基于规则中处理的变量的类别,关联规则可以分为布尔型和数值型。
布尔型关联规则处理的值都是离散的、种类化的,它显示了这些变量之间的关系;而数值型关联规则可以和多维关联或多层关联规则结合起来,对数值型字段进行处理,将其进行动态的分割,或者直接对原始的数据进行处理,当然数值型关联规则中也可以包含种类变量。例如:性别=“女”=>职业=“秘书”,是布尔型关联规则;性别=“女”=>avg(收入)=2300,涉及的收入是数值类型,所以是一个数值型关联规则。
2.基于规则中数据的抽象层次,可以分为单层关联规则和多层关联规则。
在单层的关联规则中,所有的变量都没有考虑到现实的数据是具有多个不同的层次的;而在多层的关联规则中,对数据的多层性已经进行了充分的考虑。例如:IBM台式机=>Sony打印机,是一个细节数据上的单层关联规则;台式机=>Sony打印机,是一个较高层次和细节层次之间的多层关联规则。
3.基于规则中涉及到的数据的维数,关联规则可以分为单维的和多维的。
在单维的关联规则中,我们只涉及到数据的一个维,如用户购买的物品;而在多维的关联规则中,要处理的数据将会涉及多个维。换成另一句话,单维关联规则是处理单个属性中的一些关系;多维关联规则是处理各个属性之间的某些关系。例如:啤酒=>尿布,这条规则只涉及到用户的购买的物品;性别=“女”=>职业=“秘书”,这条规则就涉及到两个字段的信息,是两个维上的一条关联规则。 Apriori算法
2.3关联规则挖掘的相关算法
1.Apriori算法:使用候选项集找频繁项集
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。
该算法的基本思想是:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。然后使用第1步找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,使用了递推的方法。
可能产生大量的候选集,以及可能需要重复扫描数据库,是Apriori算法的两大缺点。
2.基于划分的算法:Savasere等设计了一个基于划分的算法。这个算法先把数据库从逻辑上分成几个互不相交的块,每次单独考虑一个分块并对它生成所有的频集,然后把产生的频集合并,用来生成所有可能的频集,最后计算这些项集的支持度。这里分块的大小选择要使得每个分块可以被放入主存,每个阶段只需被扫描一次。而算法的正确性是由每一个可能的频集至少在某一个分块中是频集保证的。该算法是可以高度并行的,可以把每一分块分别分配给某一个处理器生成频集。产生频集的每一个循环结束后,处理器之间进行通信来产生全局的候选k-项集。通常这里的通信过程是算法执行时间的主要瓶颈;而另一方面,每个独立的处理器生成频集的时间也是一个瓶颈。
3.FP-树频集算法:针对Apriori算法的固有缺陷,J.Han等提出了不产生候选挖掘频繁项集的方法:FP-树频集算法。采用分而治之的策略,在经过第一遍扫描之后,把数据库中的频集压缩进一棵频繁模式树(FP-tree),同时依然保留其中的关联信息,随后再将FP-tree分化成一些条件库,每个库和一个长度为1的频集相关,然后再对这些条件库分别进行挖掘。当原始数据量很大的时候,也可以结合划分的方法,使得一个FP-tree可以放入主存中。实验表明,FP-growth对不同长度的规则都有很好的适应性,同时在效率上较之Apriori算法有巨大的提高。
3.该领域在国内外的应用
3.1关联规则发掘技术在国内外的应用
就目前而言,关联规则挖掘技术已经被广泛应用在西方金融行业企业中,它可以成功预测银行客户需求。一旦获得了这些信息,银行就可以改善自身营销。现在银行天天都在开发新的沟通客户的方法。各银行在自己的ATM机上就捆绑了顾客可能感兴趣的本行产品信息,供使用本行ATM机的用户了解。如果数据库中显示,某个高信用限额的客户更换了地址,这个客户很有可能新近购买了一栋更大的住宅,因此会有可能需要更高信用限额,更高端的新信用卡,或者需要一个住房改善贷款,这些产品都可以通过信用卡账单邮寄给客户。当客户打电话咨询的时候,数据库可以有力地帮助电话销售代表。销售代表的电脑屏幕上可以显示出客户的特点,同时也可以显示出顾客会对什么产品感兴趣。
同时,一些知名的电子商务站点也从强大的关联规则挖掘中的受益。这些电子购物网站使用关联规则中规则进行挖掘,然后设置用户有意要一起购买的捆绑包。也有一些购物网站使用它们设置相应的交叉销售,也就是购买某种商品的顾客会看到相关的另外一种商品的广告。
但是目前在我国,“数据海量,信息缺乏”是商业银行在数据大集中之后普遍所面对的尴尬。目前金融业实施的大多数数据库只能实现数据的录入、查询、统计等较低层次的功能,却无法发现数据中存在的各种有用的信息,譬如对这些数据进行分析,发现其数据模式及特征,然后可能发现某个客户、消费群体或组织的金融和商业兴趣,并可观察金融市场的变化趋势。可以说,关联规则挖掘的技术在我国的研究与应用并不是很广泛深入。
3.2近年来关联规则发掘技术的一些研究
由于许多应用问题往往比超市购买问题更复杂,大量研究从不同的角度对关联规则做了扩展,将更多的因素集成到关联规则挖掘方法之中,以此丰富关联规则的应用领域,拓宽支持管理决策的范围。如考虑属性之间的类别层次关系,时态关系,多表挖掘等。近年来围绕关联规则的研究主要集中于两个方面,即扩展经典关联规则能够解决问题的范围,改善经典关联规则挖掘算法效率和规则兴趣性。
8. 《机器学习实战》 书上的Apriori算法 内循环为什么只执行了一次
使用Apriori算法进行关联分析 ..................................................................................... 61
11.1 apriori.py ................................................................................................................. 61
12 使用FP-growth算法来高效分析频繁项集 .................................................................... 65
12.1 fpGrowth.py ............................................................................................................ 65
13 利用PCA来简化数据 ..................................................................................................... 68
13.1 pca.py ...........................................
9. fp-growth 和aprori的区别
经典的关联规则挖掘算法包括Apriori算法和FP-growth算法。
apriori算法多次扫描交易数据库,每次利用候选频繁集产生频繁集;
而FP-growth则利用树形结构,无需产生候选频繁集而是直接得到频繁集,大大减少扫描交易数据库的次数,从而提高了算法的效率。
但是apriori的算法扩展性较好,可以用于并行计算等领域。
Apriorialgorithm是关联规则里一项基本算法。
是由RakeshAgrawal和RamakrishnanSrikant两位博士在1994年提出的关联规则挖掘算法。
关联规则的目的就是在一个数据集中找出项与项之间的关系,也被称为购物蓝分析(MarketBasketanalysis),因为“购物蓝分析”很贴切的表达了适用该算法情景中的一个子集。
10. 谁有金融数据挖掘,关联规则分析与挖掘的一些介绍啊
雨林算法的数据结构:
AVC-set:节点n包含的所有纪录在某个属性上的投影,其中该AVC-set包括了属性的不同值在每个类别上的计数。
AVC-group:一个节点n上所有的AVC -set的集合
AVC-set的所占内存的大小正比于对应属性的不同值个数,AVC-group并不是数据库信息的简单的压缩,它只是提供了建立决策树需要的信息, AVC-group所占用的内存空间远远小于数据库所实际占用的空间。
一般设计方案:
AVC_set
{
//存储属性的各个值
DistinctValue[]
//存储属性各个值在某个类上对应的计数
DistinctValueCountForClassA[]
DistinctValueCountForClassB[]
… …
}
AVC_group
{
//节点n中的每个属性的avc_set
AVC_set[]
}
自顶向下决策树算法
BuildTree(Node m,datapatition D,algorithm decisionTree)
对D使用决策树算法decisionTree得到分裂指标crit(n)
令k为节点n的子节点个数
if(k>0)
建立n的k个子节点c1,…,ck
使用最佳分割将D分裂为D1,…,Dk
for(i=1;i<=k;i++)
BuildTree(ci,Di)
endfor
endif
RainForest 算法框架重新定义的部分:
1a) for 每一个属性的谓词p,寻找最佳的分割
1b) decisionTree.find_best_partitioning(AVC-set of p)
1c) endfor
2a) k= decisionTree.decide_splitting_criterion();//决定最终的分割
雨林算法的常规过程:
建立节点的AVC-group
(通过读取整个原始数据库或者某个分支的数据库表或文件)
选择分裂属性和分裂标准:取决于使用雨林算法框架的具体算法,通过逐一检查AVC-set来选择。
将数据分解到各个子节点:必须读取整个数据集(数据库或文件),将各条数据分解到各个子节点中,此时如果有足够的内存,我们将建立一个或多个子节点的AVC-group
参考资料:李岱 rainforest.ppt 什么是数据挖掘
数据挖掘(Data Mining),又称为数据库中的知识发现(Knowledge Discovery in Database, KDD),就是从大量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程,简单的说,数据挖掘就是从大量数据中提取或“挖掘”知识。
并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索(information retrieval)领域的任务。虽然这些任务是重要的,可能涉及使用复杂的算法和数据结构,但是它们主要依赖传统的计算机科学技术和数据的明显特征来创建索引结构,从而有效地组织和检索信息。尽管如此,数据挖掘技术也已用来增强信息检索系统的能力。
编辑本段数据挖掘的起源
为迎接前一节中的这些挑战,来自不同学科的研究者汇集到一起,开始着手开发可以处理不同数据类型的更有效的、可伸缩的工具。这些工作建立在研究者先前使用的方法学和算法之上,在数据挖掘领域达到高潮。特别地是,数据挖掘利用了来自如下一些领域的思想:(1) 来自统计学的抽样、估计和假设检验,(2) 人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论。数据挖掘也迅速地接纳了来自其他领域的思想,这些领域包括最优化、进化计算、信息论、信号处理、可视化和信息检索。
一些其他领域也起到重要的支撑作用。特别地,需要数据库系统提供有效的存储、索引和查询处理支持。源于高性能(并行)计算的技术在处理海量数据集方面常常是重要的。分布式技术也能帮助处理海量数据,并且当数据不能集中到一起处理时更是至关重要。
编辑本段数据挖掘能做什么
1)数据挖掘能做以下六种不同事情(分析方法):
· 分类 (Classification)
· 估值(Estimation)
· 预言(Prediction)
· 相关性分组或关联规则(Affinity grouping or association rules)
· 聚集(Clustering)
· 描述和可视化(Des cription and Visualization)
· 复杂数据类型挖掘(Text, Web ,图形图像,视频,音频等)
2)数据挖掘分类
以上六种数据挖掘的分析方法可以分为两类:直接数据挖掘;间接数据挖掘
· 直接数据挖掘
目标是利用可用的数据建立一个模型,这个模型对剩余的数据,对一个特定的变量(可以理解成数据库中表的属性,即列)进行描述。
· 间接数据挖掘
目标中没有选出某一具体的变量,用模型进行描述;而是在所有的变量中建立起某种关系 。
· 分类、估值、预言属于直接数据挖掘;后三种属于间接数据挖掘
3)各种分析方法的简介
· 分类 (Classification)
首先从数据中选出已经分好类的训练集,在该训练集上运用数据挖掘分类的技术,建立分类模型,对于没有分类的数据进行分类。
例子:
a. 信用卡申请者,分类为低、中、高风险
b. 分配客户到预先定义的客户分片
注意: 类的个数是确定的,预先定义好的
· 估值(Estimation)
估值与分类类似,不同之处在于,分类描述的是离散型变量的输出,而估值处理连续值的输出;分类的类别是确定数目的,估值的量是不确定的。
例子:
a. 根据购买模式,估计一个家庭的孩子个数
b. 根据购买模式,估计一个家庭的收入
c. 估计real estate的价值
一般来说,估值可以作为分类的前一步工作。给定一些输入数据,通过估值,得到未知的连续变量的值,然后,根据预先设定的阈值,进行分类。例如:银行对家庭贷款业务,运用估值,给各个客户记分(Score 0~1)。然后,根据阈值,将贷款级别分类。
· 预言(Prediction)
通常,预言是通过分类或估值起作用的,也就是说,通过分类或估值得出模型,该模型用于对未知变量的预言。从这种意义上说,预言其实没有必要分为一个单独的类。预言其目的是对未来未知变量的预测,这种预测是需要时间来验证的,即必须经过一定时间后,才知道预言准确性是多少。
· 相关性分组或关联规则(Affinity grouping or association rules)
决定哪些事情将一起发生。
例子:
a. 超市中客户在购买A的同时,经常会购买B,即A => B(关联规则)
b. 客户在购买A后,隔一段时间,会购买B (序列分析)
· 聚集(Clustering)
聚集是对记录分组,把相似的记录在一个聚集里。聚集和分类的区别是聚集不依赖于预先定义好的类,不需要训练集。
例子:
a. 一些特定症状的聚集可能预示了一个特定的疾病
b. 租VCD类型不相似的客户聚集,可能暗示成员属于不同的亚文化群
聚集通常作为数据挖掘的第一步。例如,"哪一种类的促销对客户响应最好?",对于这一 类问题,首先对整个客户做聚集,将客户分组在各自的聚集里,然后对每个不同的聚集,回答问题,可能效果更好。
· 描述和可视化(Des cription and Visualization)
是对数据挖掘结果的表示方式。
编辑本段数据挖掘中的关联规则上面算法讲的很清楚了,我来举个例子:
Training data:
Id age income class
1 young 65 G
2 young 15 B
3 young 75 G
4 senior 40 B
5 senior 100 G
6 senior 60 G
AVC set „age“ for N1:
value class count
young B 1
young G 2
senior B 1
senior G 2
AVC set „income“ for N1:
value class count
15 B 1
40 B 1
60 G 1
65 G 1
75 G 1
100 G 1
AVC set „income“ for N2:
value class count
15 B 1
65 G 1
75 G 1
AVC set „age“ for N2:
value class count
young B 1
young G 2
最后推出雨林: N1
age=young / \ age=senior
/ \
N2 N3
最后提醒一点,对于雨林算法,训练样本集不要大于3百万。否则改用SPRINT。
1.什么是关联规则
在描述有关关联规则的一些细节之前,我们先来看一个有趣的故事: "尿布与啤酒"的故事。
在一家超市里,有一个有趣的现象:尿布和啤酒赫然摆在一起出售。但是这个奇怪的举措却使尿布和啤酒的销量双双增加了。这不是一个笑话,而是发生在美国沃尔玛连锁店超市的真实案例,并一直为商家所津津乐道。沃尔玛拥有世界上最大的数据仓库系统,为了能够准确了解顾客在其门店的购买习惯,沃尔玛对其顾客的购物行为进行购物篮分析,想知道顾客经常一起购买的商品有哪些。沃尔玛数据仓库里集中了其各门店的详细原始交易数据。在这些原始交易数据的基础上,沃尔玛利用数据挖掘方法对这些数据进行分析和挖掘。一个意外的发现是:"跟尿布一起购买最多的商品竟是啤酒!经过大量实际调查和分析,揭示了一个隐藏在"尿布与啤酒"背后的美国人的一种行为模式:在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,而他们中有30%~40%的人同时也为自己买一些啤酒。产生这一现象的原因是:美国的太太们常叮嘱她们的丈夫下班后为小孩买尿布,而丈夫们在买尿布后又随手带回了他们喜欢的啤酒。
按常规思维,尿布与啤酒风马牛不相及,若不是借助数据挖掘技术对大量交易数据进行挖掘分析,沃尔玛是不可能发现数据内在这一有价值的规律的。
数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。关联规则挖掘发现大量数据中项集之间有趣的关联或相关联系。Agrawal等于1993年首先提出了挖掘顾客交易数据库中项集间的关联规则问题,以后诸多的研究人员对关联规则的挖掘问题进行了大量的研究。他们的工作包括对原有的算法进行优化,如引入随机采样、并行的思想等,以提高算法挖掘规则的效率;对关联规则的应用进行推广。关联规则挖掘在数据挖掘中是一个重要的课题,最近几年已被业界所广泛研究。
2.关联规则挖掘过程、分类及其相关算法
2.1关联规则挖掘的过程
关联规则挖掘过程主要包含两个阶段:第一阶段必须先从资料集合中找出所有的高频项目组(Frequent Itemsets),第二阶段再由这些高频项目组中产生关联规则(Association Rules)。
关联规则挖掘的第一阶段必须从原始资料集合中,找出所有高频项目组(Large Itemsets)。高频的意思是指某一项目组出现的频率相对于所有记录而言,必须达到某一水平。一项目组出现的频率称为支持度(Support),以一个包含A与B两个项目的2-itemset为例,我们可以经由公式(1)求得包含{A,B}项目组的支持度,若支持度大于等于所设定的最小支持度(Minimum Support)门槛值时,则{A,B}称为高频项目组。一个满足最小支持度的k-itemset,则称为高频k-项目组(Frequent k-itemset),一般表示为Large k或Frequent k。算法并从Large k的项目组中再产生Large k+1,直到无法再找到更长的高频项目组为止。
关联规则挖掘的第二阶段是要产生关联规则(Association Rules)。从高频项目组产生关联规则,是利用前一步骤的高频k-项目组来产生规则,在最小信赖度(Minimum Confidence)的条件门槛下,若一规则所求得的信赖度满足最小信赖度,称此规则为关联规则。例如:经由高频k-项目组{A,B}所产生的规则AB,其信赖度可经由公式(2)求得,若信赖度大于等于最小信赖度,则称AB为关联规则。
就沃尔马案例而言,使用关联规则挖掘技术,对交易资料库中的纪录进行资料挖掘,首先必须要设定最小支持度与最小信赖度两个门槛值,在此假设最小支持度min_support=5% 且最小信赖度min_confidence=70%。因此符合此该超市需求的关联规则将必须同时满足以上两个条件。若经过挖掘过程所找到的关联规则“尿布,啤酒”,满足下列条件,将可接受“尿布,啤酒”的关联规则。用公式可以描述Support(尿布,啤酒)>=5%且Confidence(尿布,啤酒)>=70%。其中,Support(尿布,啤酒)>=5%于此应用范例中的意义为:在所有的交易纪录资料中,至少有5%的交易呈现尿布与啤酒这两项商品被同时购买的交易行为。Confidence(尿布,啤酒)>=70%于此应用范例中的意义为:在所有包含尿布的交易纪录资料中,至少有70%的交易会同时购买啤酒。因此,今后若有某消费者出现购买尿布的行为,超市将可推荐该消费者同时购买啤酒。这个商品推荐的行为则是根据“尿布,啤酒”关联规则,因为就该超市过去的交易纪录而言,支持了“大部份购买尿布的交易,会同时购买啤酒”的消费行为。
从上面的介绍还可以看出,关联规则挖掘通常比较适用与记录中的指标取离散值的情况。如果原始数据库中的指标值是取连续的数据,则在关联规则挖掘之前应该进行适当的数据离散化(实际上就是将某个区间的值对应于某个值),数据的离散化是数据挖掘前的重要环节,离散化的过程是否合理将直接影响关联规则的挖掘结果。
2.2关联规则的分类
按照不同情况,关联规则可以进行分类如下:
1.基于规则中处理的变量的类别,关联规则可以分为布尔型和数值型。
布尔型关联规则处理的值都是离散的、种类化的,它显示了这些变量之间的关系;而数值型关联规则可以和多维关联或多层关联规则结合起来,对数值型字段进行处理,将其进行动态的分割,或者直接对原始的数据进行处理,当然数值型关联规则中也可以包含种类变量。例如:性别=“女”=>职业=“秘书” ,是布尔型关联规则;性别=“女”=>avg(收入)=2300,涉及的收入是数值类型,所以是一个数值型关联规则。
2.基于规则中数据的抽象层次,可以分为单层关联规则和多层关联规则。
在单层的关联规则中,所有的变量都没有考虑到现实的数据是具有多个不同的层次的;而在多层的关联规则中,对数据的多层性已经进行了充分的考虑。例如:IBM台式机=>Sony打印机,是一个细节数据上的单层关联规则;台式机=>Sony打印机,是一个较高层次和细节层次之间的多层关联规则。
3.基于规则中涉及到的数据的维数,关联规则可以分为单维的和多维的。
在单维的关联规则中,我们只涉及到数据的一个维,如用户购买的物品;而在多维的关联规则中,要处理的数据将会涉及多个维。换成另一句话,单维关联规则是处理单个属性中的一些关系;多维关联规则是处理各个属性之间的某些关系。例如:啤酒=>尿布,这条规则只涉及到用户的购买的物品;性别=“女”=>职业=“秘书”,这条规则就涉及到两个字段的信息,是两个维上的一条关联规则。
2.3关联规则挖掘的相关算法
1.Apriori算法:使用候选项集找频繁项集
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。
该算法的基本思想是:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。然后使用第1步找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,使用了递推的方法。
可能产生大量的候选集,以及可能需要重复扫描数据库,是Apriori算法的两大缺点。
2.基于划分的算法
Savasere等设计了一个基于划分的算法。这个算法先把数据库从逻辑上分成几个互不相交的块,每次单独考虑一个分块并对它生成所有的频集,然后把产生的频集合并,用来生成所有可能的频集,最后计算这些项集的支持度。这里分块的大小选择要使得每个分块可以被放入主存,每个阶段只需被扫描一次。而算法的正确性是由每一个可能的频集至少在某一个分块中是频集保证的。该算法是可以高度并行的,可以把每一分块分别分配给某一个处理器生成频集。产生频集的每一个循环结束后,处理器之间进行通信来产生全局的候选k-项集。通常这里的通信过程是算法执行时间的主要瓶颈;而另一方面,每个独立的处理器生成频集的时间也是一个瓶颈。
3.FP-树频集算法
针对Apriori算法的固有缺陷,J. Han等提出了不产生候选挖掘频繁项集的方法:FP-树频集算法。采用分而治之的策略,在经过第一遍扫描之后,把数据库中的频集压缩进一棵频繁模式树(FP-tree),同时依然保留其中的关联信息,随后再将FP-tree分化成一些条件库,每个库和一个长度为1的频集相关,然后再对这些条件库分别进行挖掘。当原始数据量很大的时候,也可以结合划分的方法,使得一个FP-tree可以放入主存中。实验表明,FP-growth对不同长度的规则都有很好的适应性,同时在效率上较之Apriori算法有巨大的提高。
3.该领域在国内外的应用
3.1关联规则发掘技术在国内外的应用
就目前而言,关联规则挖掘技术已经被广泛应用在西方金融行业企业中,它可以成功预测银行客户需求。一旦获得了这些信息,银行就可以改善自身营销。现在银行天天都在开发新的沟通客户的方法。各银行在自己的ATM机上就捆绑了顾客可能感兴趣的本行产品信息,供使用本行ATM机的用户了解。如果数据库中显示,某个高信用限额的客户更换了地址,这个客户很有可能新近购买了一栋更大的住宅,因此会有可能需要更高信用限额,更高端的新信用卡,或者需要一个住房改善贷款,这些产品都可以通过信用卡账单邮寄给客户。当客户打电话咨询的时候,数据库可以有力地帮助电话销售代表。销售代表的电脑屏幕上可以显示出客户的特点,同时也可以显示出顾客会对什么产品感兴趣。
同时,一些知名的电子商务站点也从强大的关联规则挖掘中的受益。这些电子购物网站使用关联规则中规则进行挖掘,然后设置用户有意要一起购买的捆绑包。也有一些购物网站使用它们设置相应的交叉销售,也就是购买某种商品的顾客会看到相关的另外一种商品的广告。
但是目前在我国,“数据海量,信息缺乏”是商业银行在数据大集中之后普遍所面对的尴尬。目前金融业实施的大多数数据库只能实现数据的录入、查询、统计等较低层次的功能,却无法发现数据中存在的各种有用的信息,譬如对这些数据进行分析,发现其数据模式及特征,然后可能发现某个客户、消费群体或组织的金融和商业兴趣,并可观察金融市场的变化趋势。可以说,关联规则挖掘的技术在我国的研究与应用并不是很广泛深入。
3.2近年来关联规则发掘技术的一些研究
由于许多应用问题往往比超市购买问题更复杂,大量研究从不同的角度对关联规则做了扩展,将更多的因素集成到关联规则挖掘方法之中,以此丰富关联规则的应用领域,拓宽支持管理决策的范围。如考虑属性之间的类别层次关系,时态关系,多表挖掘等。近年来围绕关联规则的研究主要集中于两个方面,即扩展经典关联规则能够解决问题的范围,改善经典关联规则挖掘算法效率和规则兴趣性。
编辑本段数据挖掘技术实现
在技术上可以根据它的工作过程分为:数据的抽取、数据的存储和管理、数据的展现等关键技术。
·数据的抽取
数据的抽取是数据进入仓库的入口。由于数据仓库是一个独立的数据环境,它需要通过抽取过程将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入数据仓库。数据抽取在技术上主要涉及互连、复制、增量、转换、调度和监控等几个方面的处理。在数据抽取方面,未来的技术发展将集中在系统功能集成化方面,以适应数据仓库本身或数据源的变化,使系统更便于管理和维护。
·数据的存储和管理
数据仓库的组织管理方式决定了它有别于传统数据库的特性,也决定了其对外部数据的表现形式。数据仓库管理所涉及的数据量比传统事务处理大得多,且随时间的推移而快速累积。在数据仓库的数据存储和管理中需要解决的是如何管理大量的数据、如何并行处理大量的数据、如何优化查询等。目前,许多数据库厂家提供的技术解决方案是扩展关系型数据库的功能,将普通关系数据库改造成适合担当数据仓库的服务器。
·数据的展现
在数据展现方面主要的方式有:
查询:实现预定义查询、动态查询、OLAP查询与决策支持智能查询;报表:产生关系数据表格、复杂表格、OLAP表格、报告以及各种综合报表;可视化:用易于理解的点线图、直方图、饼图、网状图、交互式可视化、动态模拟、计算机动画技术表现复杂数据及其相互关系;统计:进行平均值、最大值、最小值、期望、方差、汇总、排序等各种统计分析;挖掘:利用数据挖掘等方法,从数据中得到关于数据关系和模式的知识。
编辑本段数据挖掘与数据仓库融合发展
数据挖掘和数据仓库的协同工作,一方面,可以迎合和简化数据挖掘过程中的重要步骤,提高数据挖掘的效率和能力,确保数据挖掘中数据来源的广泛性和完整性。另一方面,数据挖掘技术已经成为数据仓库应用中极为重要和相对独立的方面和工具。
数据挖掘和数据仓库是融合与互动发展的,其学术研究价值和应用研究前景将是令人振奋的。它是数据挖掘专家、数据仓库技术人员和行业专家共同努力的成果,更是广大渴望从数据库“奴隶”到数据库“主人”转变的企业最终用户的通途。
统计学与数据挖掘
统计学和数据挖掘有着共同的目标:发现数据中的结构。事实上,由于它们的目标相似,一些人(尤其是统计学家)认为数据挖掘是统计学的分支。这是一个不切合实际的看法。因为数据挖掘还应用了其它领域的思想、工具和方法,尤其是计算机学科,例如数据库技术和机器学习,而且它所关注的某些领域和统计学家所关注的有很大不同。
1.统计学的性质
试图为统计学下一个太宽泛的定义是没有意义的。尽管可能做到,但会引来很多异议。相反,我要关注统计学不同于数据挖掘的特性。
差异之一同上节中最后一段提到的相关,即统计学是一门比较保守的学科,目前有一种趋势是越来越精确。当然,这本身并不是坏事,只有越精确才能避免错误,发现真理。但是如果过度的话则是有害的。这个保守的观点源于统计学是数学的分支这样一个看法,我是不同意这个观点的,尽管统计学确实以数学为基础(正如物理和工程也以数学为基础,但没有被认为是数学的分支),但它同其它学科还有紧密的联系。
数学背景和追求精确加强了这样一个趋势:在采用一个方法之前先要证明,而不是象计算机 这