什么是数据仓库?
数据仓库是一个面向主题的( Subject Oriented) 、集成的( Integrate) 、相对稳定的(NonVolatile) 、反映历史变化( Time Variant)的数据集合,用于支持管理决策。对于数据仓库的概念我们可以从两个层次予以理:
①数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;
②数据仓库是对多个异构数据源的有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。
企业数据仓库的建设是以现有企业业务系统和大量业务数据的积累为基础。数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供他们作出改善其业务经营的决策,信息才能发挥作用,信息才有意义。而把信息加以整理、归纳和重组,并及时提供给相应的管理决策人员是数据仓库的根本任务。
数据立方体与OLAP
数据立斱体以多维对数据迚行建模和观察。
下图就是客户、产品和销售的数据立方体:
OLAP的多维分析操作包括:钻取(Drill-down)、上卷(Roll-up)、切片(Slice)、切块(Dice)以及旋转(Pivot)等。
钻取(Drill-down):在维的不同层次间的变化,从上层降到下一层,或者说是将汇总数据拆分到更细节的数据,比如通过对2010年第二季度的总销售数据进行钻取来查看2010年第二季度4、5、6每个月的消费数据。
上卷(Roll-up):钻取的逆操作,即从细粒度数据向高层的聚合,如将江苏省、上海市和浙江省的销售数据进行汇总来查看江浙沪地区的销售数据。
切片(Slice):选择维中特定的值进行分析,比如只选择电子产品的销售数据,或者2010年第二季度的数据。
切块(Dice):选择维中特定区间的数据或者某批特定值进行分析,比如选择2010年第一季度到2010年第二季度的销售数据,或者是电子产品和日用品的销售数据。
旋转(Pivot):即维的位置的互换,就像是二维表的行列转换,如图中通过旋转实现产品维和地域维的互换。
数据挖掘解决的四大类问题
1、分类
分类技术在很多领域都有应用,例如可以通过客户分类构造一个分类模型来对银行贷款进行风险评估;当前的市场营销中很重要的一个特点是强调客户细分。客户类别分析的功能也在于此,采用数据挖掘中的分类技术,可以将客户分成不同的类别,比如呼叫中心设计时可以分为:呼叫频繁的客户、偶然大量呼叫的客户、稳定呼叫的客户、其他,帮助呼叫中心寻找出这些不同种类客户之间的特征,这样的分类模型可以让用户了解不同行为类别客户的分布特征;其他分类应用如文献检索和搜索引擎中的自动文本分类技术;安全领域有基于分类技术的入侵检测等等。机器学习、专家系统、统计学和神经网络等领域的研究人员已经提出了许多具体的分类预测方法。下面对分类流程作个简要描述:
训练:训练集——>特征选取——>训练——>分类器
分类:新样本——>特征选取——>分类——>判决
下面看一个基于决策树的分类器的示例:
2、聚类
聚类:将数据对象划分为若干类,同一类的对象具有较高的相似度,不同类的对象相似度较低。从这个简单的描述中,可以看出聚类的关键是如何度量对象间的相似性。较为常见的用于度量对象的相似度的方法有距离、密度等。
聚类分析的原理可以根据下图来看:
对牌进行分组:
按花色分:
按符号分:
按颜色分:
按大小程度相近分:
下面就是一个聚类的示例:
3、预测
数据挖掘预测与周易预测有相似之处。周易建立在阴阳二元论基础上,对天地万物进行性状归类(天干地支五行论),精确到可以对事物的未来发展做出较为准确的预测。许多学者认为周易理论依据是万事万物的相似性、关联性和全息性原理。这三个原理已被现代科学所证实。全息性是指事物的某一局部包含了整体的信息。例如,法医工作者对一根毛发进行化验,得出受害者或嫌疑人的许多身体特征。
周易预测通过对历史事件的学习来积累经验,得出事物间的相似性和关联性,从而对事物的未来状况做出预测。数据挖掘预测则是通过对样本数据(历史数据)的输入值和输出值关联性的学习,得到预测模型,再利用该模型对未来的输入值进行输出值预测。一般地,可以通过机器学习方法建立预测模型。DM(Data Mining)的技术基础是人工智能(机器学习),但是DM仅仅利用了人工智能(AI)中一些已经成熟的算法和技术,因而复杂度和难度都比AI小很多。
机器学习:假定事物的输入、输出之间存在一种函数关系y=f(x, β),其中β是待定参数,x是输入变量,则y=f(x, β)称为学习机器。通过数据建模,由样本数据(一般是历史数据,包含输入值和输出值)学习得到参数β的取值,就确定了具体表达式y=f(x, β),这样就可以对新的x预测y了。这个过程称作机器学习。
数据建模不同于数学建模,它是基于数据建立数学模型,它是相对于基于物理、化学和其他专业基本原理建立数学模型(即机理建模)而言的。对于预测来说,如果所研究的对象有明晰的机理,可以依其进行数学建模,这当然是最好的选择。但是实际问题中,一般无法进行机理建模。但是历史数据往往是容易获得的,这时就可使用数据建模。
典型的机器学习方法包括:决策树方法、人工神经网络、支持向量机、正则化方法。其他常见的预测方法还有近邻法、朴素贝叶斯(属于统计学习方法)等。
预测的模型可以参考下图:
4、关联
分析各个物品或者商品之间同时出现的机率。
在各种数据挖掘算法中,关联规则挖掘算是比较重要的一种,尤其是受购物篮分析的影响,关联规则被应用到很多实际业务中。
首先,和聚类算法一样,关联规则挖掘属于无监督学习方法,它描述的是在一个事物中物品间同时出现的规律的知识模式,现实生活中,比如超市购物时,顾客购买记录常常隐含着很多关联规则,比如购买圆珠笔的顾客中有65%也购买了笔记本,利用这些规则,商场人员可以很好的规划商品摆放问题。在电商网站中,利用关联规则可以发现哪些用户更喜欢哪类的商品,当发现有类似的客户的时候,可以将其它客户购买的商品推荐给相类似的客户,以提高网站的收入。
下图就是一个关联的示例:
CRISP-DM
CRISP-DM 模型为一个KDD工程提供了一个完整的过程描述.该模型将一个KDD工程分为6个不同的,但顺序并非完全不变的阶段。
1: business understanding: 即商业理解. 在第一个阶段我们必须从商业的角度上面了解项目的要求和最终目的是什么. 并将这些目的与数据挖掘的定义以及结果结合起来。
2: data understanding: 数据的理解以及收集,对可用的数据进行评估。
3: data preperation: 数据的准备,对可用的原始数据进行一系列的组织以及清洗,使之达到建模需求。
4: modeling: 即应用数据挖掘工具建立模型。
5: evaluation: 对建立的模型进行评估,重点具体考虑得出的结果是否符合第一步的商业目的。
6: deployment: 部署(方案实施),即将其发现的结果以及过程组织成为可读文本形式.(数据挖掘报告)。
商业理解(Business understanding):商业理解阶段应算是数据挖掘中最重要的一个部分,在这个阶段里我们需要明确商业目标、评估商业环境、确定挖掘目标以及产生一个项目计划。
数据理解(Data understanding):数据是我们挖掘过程的“原材料”,在数据理解过程中我们要知道都有些什么数据,这些数据的特征是什么,可以通过对数据的描述性分析得到数据的特点。
数据准备(Date preparation):在数据准备阶段我们需要对数据作出选择、清洗、重建、合并等工作。选出要进行分析的数据,并对不符合模型输入要求的数据进行规范化操作。
建模(Modeling):建模过程也是数据挖掘中一个比较重要的过程。我们需要根据分析目的选出适合的模型工具,通过样本建立模型并对模型进行评估。
模型评估(Evaluation):并不是每一次建模都能与我们的目的吻合,评价阶段旨在对建模结果进行评估,对效果较差的结果我们需要分析原因,有时还需要返回前面的步骤对挖掘过程重新定义。
结果部署(Deployment):这个阶段是用建立的模型去解决实际中遇到的问题,它还包括了监督、维持、产生最终报表、重新评估模型等过程。
总结
以上分别介绍了数据仓库和数据立方体,并且介绍了数据挖掘要解决的四大类问题,任何跟数据挖掘相关的问题都可以先归类到这四大类问题中,然后再根据相应的算法进行解决。
最后介绍了CRISP-DM 模型,是IBM提出的标准模型,可以对数据挖掘的过程进行理论的指导。在接下来会针对用户产生的数据来探讨如何进行用户画像。