January 29, 2005
数据挖掘与BI[摘录]
作者:eygle
出处:http://blog.eygle.com
应该如何完整地理解"数据挖掘"?"数据挖掘"的理论基础是什么?

图1表示的是:
现实中人类的社会和经济活动,总可以用数据(数字或者符号)来描述和记录;经过对这些数据的分析,就会产生信息(知识);用这些信息(知识)来指导实践,就可以做出相应的决策;这些决策又引发了新一轮的社会和经济活动。循环往复,生息不止。
那么数据仓库(DW)、商务智能(BI)和知识发现(KDD)又分别是什么呢?

图2中的虚线部分有两个含义。
第一是因为上述概念诞生初始,在DM的价值链上还是有所侧重的,数据仓库重在"建仓",数据挖掘和知识发现重在"加工",商务智能重在"应用"。虚线表示曾经拥有。
第二,如果不这样画,理论界、应用厂商会不答应,因为不管原来是做数据库的(IBM,Sybase,NCR,Oracle,Microsoft,etc),还是做统计分析软件的(SAS,Statistica,SPSS,etc),甚至是做报表工具的(BO,Brio,Cognos,etc),都拼命在延伸自己的价值链。
所以,干脆叫数据管理(也就是DM)好了,一统天下。
至于ERP,CRM等,说白了,还是个DM,只不过限制在了具体的社会经济活动上罢了。
六种挖掘武器
数据仓库的建设和数据挖掘建模是DM价值链上的两大技术要点。数据挖掘从狭义的角度讲,只管从数据到知识这一段。作为一个数据挖掘人员的起码要求,就是充分掌握各种挖掘工具的性能、局限、应用条件等。
一般说来,数据挖掘有如下六件武器:描述统计、关联和相关、分类和聚类、预测、优化、结构方程模型。简要说明如下:
(1)描述统计(Descriptive statistics)
描述统计是数据挖掘的入门兵器,直观、简单,高手常常用来摘叶飞花。描述统计包括平均数、中位数、众数、分位数、百分比、求和等。描述统计经常和统计图(如直方图,条形图,线图,散点图,茎叶图等)配合使用。目前应用最为广泛的OLAP,究其本质就是针对不同的数据群在做描述统计。
描述统计的应用十分广泛:比如当月公司利润总额,比较不同区域的销售量等等。
(2)关联和相关(Association and Correlation)
关联规则从本质上讲是条件概率:A发生时,B同时也出现的概率是多大?只要B离50%较远,就是有意义的。
关联规则的一个典型的现代应用是"啤酒加尿布"。在应用关联规则时还需要多考虑的一个问题是:这条规则遵循者的数量怎样?通俗的说就是,如果超市的尿布只有一个人买(假设),但是这人每次买尿布时,一定会买啤酒。尽管这条规则很可信(100%),但是意义却不大。
在应用关联规则时,要注意两点:关联不一定是因果,关联是有方向的。
相关也是考虑两个事物之间的关系,典型的度量方法有Pearson相关系数和Kendall相关系数。
(3)分类和聚类
分类和聚类是最常用的技术。
一般说来,分类的方法有三种:回归、决策树、神经网络。
聚类和分类的最大区别就是,分类是有监督的,聚类是无监督的。什么叫监督呢?就是标准,或者说有目标变量。聚类是没有目标的。"物以类聚,人以群分"。聚类是不知道每一类有什么特征的,聚后再总结,再发现共同点。
(4)预测
预测的常用方法是时间序列,回归也可以用来预测。
时间序列常用的方法有:ARMA,指数平滑和趋势外推等。时间序列的最大特点就是充分挖掘事物本身随时间的规律。因为,任何事物,比如企业销售额,在没有特别的外在因素影响下,总是有规可循的。
(5)优化
优化本是运筹学中的一个概念,主要解决的一个问题是在各种约束条件下,如何合理配置资源,使目标要素最大(小)化。
(6)结构方程模型
不同于以上应用,结构方程模型重点在于如何揭示事物内部的结构和相互作用的原理。比如,如何度量客户满意度?客户满意度与客户期望,产品,价格,服务,投诉处理和客户忠诚是什么关系?是怎么作用的?只有搞清楚了这些关系,才可能不断提高客户满意度和客户忠诚度。结构方程模型就起到这种作用。
数据如何完整呈现?
从应用的角度来说,DM不单是数据的组织或者呈现,也不仅是数据分析和统计建模,而是一个从理解业务需求、寻求解决方案到接受实践检验的完整的过程(Process)。
业界有许多指导项目实践的方法论,大同小异,以CRISP-DM为例。
CRISP-DM分成如下六个阶段:商业理解(Business Understanding),数据理解(Data Understanding),数据准备(Data Preparation),建模(Modeling),评估(Evaluation)和发布(Deployment)。
打个比方,譬如炒菜待客,商业理解就是了解顾客的口味;数据理解则是熟悉每一样原料可以炒什么菜;数据准备则是根据顾客的口味和厨师的经验,配菜,择菜和洗菜;而建模就全靠大厨炒菜的水平;到了评估阶段就是顾客品尝;如果满意则到了最后的阶段,作为招牌菜发布推广。DM的过程就是客户空腹而来,满意而归的完整的服务过程。
一个成功的DM项目,不仅可以面向操作层面,加强自动化;还可以面向决策层,优化决策。
实施计划细部署
根据NCR数据挖掘方法论,NCR将数据挖掘项目的实施划分为五个阶段,包括定义业务问题范围、选取和抽样、探索型数据分析、建模和实施。

1.定义业务问题范围:在这个初始阶段,需明确阐述项目目标和客户业务需求,目的是明确数据挖掘问题。任务包括:明确业务目标;定义响应变量;项目计划必要的调整。
2.选取和抽样:在这个阶段,建模小组要搜寻并检查客户数据,作为以后分析挖掘时所用变量的简略一览表。同时从数据总体中抽样生成训练集、验证集和测试集。任务包括:数据来源、数据映射、准备数据评估、数据的必要聚合、数据抽样。
3.探索型数据分析(数据探索):在这个阶段中,建模小组核查目前的数据源,并且努力去发现在每个待选的自变量和目标变量之间是否有任何关系。通常,数值分析是全面理解数据的第一步,跟着进行的统计分析是为了得到有关数据分布的更好知识。在数据挖掘过程中这是一个关键的阶段。
任务包括:数据质量检查;数据的必要整理;通过图形化呈现工具和其他的统计方法理解数据;分析待选自变量和目标变量之间的关系;数据转换以辅助数据的分析;数据派生为建立模型做准备;整理和呈现数据探索的发现。
4.建模:在这个阶段,建模小组建立并确认挖掘模型。建模小组通常尝试不同的建模技术或结合不同数据集,并衡量模型性能的不同,选出最好的。来自最终用户的业务领域知识在这个阶段是非常关键的,因为他们可以评价和确认模型的结果、理解发现并付诸实际行动。
任务包括:为模型的训练和验证准备数据集;在模型的建立中使用适当的建模技术;针对不同的建模技术测试模型性能;必要地精炼挖掘模型;和主题专家一起检验挖掘模型;记录挖掘模型和结果。
5.实施:在这个阶段,需要用模型的结果来帮助做出业务决定、战略设计和战术实施。收集实施结果反馈,为模型的退化进行侦测,更进一步改善模型性能。在利用模型的结果时,复杂的展示层界面通常是不必要的。数据挖掘过程的自动化是CRM(客户关系管理)的解决方案中不可或缺的一部分,因此是与典型的数据挖掘分开实施的项目。
任务包括:客户模型评分和存储模型结果,性能跟踪和进一步整合其它业务系统;数据挖掘过程的自动化是单独的项目;模型结果的现场测试是单独的项目。
数据挖掘项目的项目计划会涵盖以上的各个阶段,但完成整个项目所需的时间则要根据多个关键因素而定,如挖掘专题的复杂程度、客户对挖掘结果性能评定的期望、可用的数据完备性及数据质量、项目人力资源是否充足以及人员能力等等。如表1是为期二个月(40个工作日)的数据挖掘项目计划,可以作为其他挖掘项目制定计划的参考基准。
从表1的项目计划可以看出,数据挖掘项目需要参与的成员或角色有:数据挖掘专家、PDM(产品数据管理)建模人员、ETL开发人员和应用开发人员。同时需要熟悉业务的人员以及熟悉数据仓库PDM的人员予以支持。(张磊博士)
Posted by eygle at 9:49 AM | Comments (1)
数据仓库的概念[摘录]
作者:eygle
出处:http://blog.eygle.com
目前,数据仓库一词尚没有一个统一的定义,著名的数据仓库专家W.H.Inmon在其著作《Building the Data Warehouse》一书中给予如下描述:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。对于数据仓库的概念我们可以从两个层次予以理解,首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。
这本经典数据仓库之作的电子版你可以在这里找到:
下载地址
根据数据仓库概念的含义,数据仓库拥有以下四个特点:
1、面向主题
操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。
2、集成的
面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。而数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
3、相对稳定的
操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
4、反映历史变化
操作型数据库主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础。数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供他们做出改善其业务经营的决策,信息才能发挥作用,信息才有意义。而把信息加以整理归纳和重组,并及时提供给相应的管理决策人员,是数据仓库的根本任务。因此,从产业界的角度看,数据仓库建设是一个工程,是一个过程。
整个数据仓库系统是一个包含四个层次的体系结构,具体由下图表示。

数据仓库系统体系结构
·数据源:是数据仓库系统的基础,是整个系统的数据源泉。通常包括企业内部信息和外部信息。内部信息包括存放于RDBMS中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等等;
·数据的存储与管理:是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。
·OLAP服务器:对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。其具体实现可以分为:ROLAP、MOLAP和HOLAP。ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。
·前端工具:主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
Posted by eygle at 8:59 AM | Comments (3)
商业智能的概念
作者:eygle
出处:http://blog.eygle.com
商业智能是什么?简而言之,它是能够帮助用户对自身业务经营做出正确明智决定的工具。一般现代化的业务操作,通常都会产生大量的数据,如订单、库存、交易帐目、通话记录、及客户资料等。如何利用这些数据增进对业务情况的了解,帮助我们在业务管理及发展上作出及时、正确的判断,也就是说,怎样从业务数据中提取有用的信息,然后根据这些信息来采用明智的行动--这就是商业智能的课题。
目前,商业智能产品及解决方案大致可分为数据仓库产品、数据抽取产品、OLAP产品、展示产品、和集成以上几种产品的针对某个应用的整体解决方案等。
商业智能领域的技术应用:
商业智能的技术体系主要有数据仓库(DW)、在线分析处理(OLAP)以及数据挖掘(DM)三部分组成。
数据仓库是商业智能的基础,许多基本报表可以由此生成,但它更大的用处是作为进一步分析的数据源。所谓数据仓库(DW)就是面向主题的、集成的、稳定的、不同时间的数据集合,用以支持经营管理中的决策制定过程。多维分析和数据挖掘是最常听到的例子,数据仓库能供给它们所需要的、整齐一致的数据。
在线分析处理(OLAP)技术则帮助分析人员、管理人员从多种角度把从原始数据中转化出来、能够真正为用户所理解的、并真实反映数据维特性的信息,进行快速、一致、交互地访问,从而获得对数据的更深入了解的一类软件技术。
数据挖掘(DM)是一种决策支持过程,它主要基于AI、机器学习、统计学等技术,高度自动化地分析企业原有的数据,做出归纳性的推理,从中挖掘出潜在的模式,预测客户的行为,帮助企业的决策者调整市场策略,减少风险,做出正确的决策。
Posted by eygle at 12:23 AM | Comments (0)
数据仓库常见名词浅释
作者:eygle
出处:http://blog.eygle.com
Data Warehouse
本世纪80年代中期,"数据仓库之父"William H.Inmon先生在其《建立数据仓库》一书中定义了数据仓库的概念,随后又给出了更为精确的定义:数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合。与其他数据库应用不同的是,数据仓库更像一种过程,对分布在企业内部各处的业务数据的整合、加工和分析的过程。而不是一种可以购买的产品。
Data mart
数据集市,或者叫做"小数据仓库"。如果说数据仓库是建立在企业级的数据模型之上的话。那么数据集市就是企业级数据仓库的一个子集,他主要面向部门级业务,并且只是面向某个特定的主题。数据集市可以在一定程度上缓解访问数据仓库的瓶颈。
OLAP
联机分析处理(OLAP)的概念最早是由关系数据库之父E.F.Codd于1993年提出的。当时,Codd认为联机事务处理(OLTP)已不能满足终端用户对数据库查询分析的需要,SQL对大数据库进行的简单查询也不能满足用户分析的需求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此Codd提出了多维数据库和多维分析的概念,即OLAP。Codd提出OLAP的12条准则来描述OLAP系统:
准则1 OLAP模型必须提供多维概念视图
准则2 透明性准则
准则3 存取能力推测
准则4 稳定的报表能力
准则5 客户/服务器体系结构
准则6 维的等同性准则
准则7 动态的稀疏矩阵处理准则
准则8 多用户支持能力准则
准则9 非受限的跨维操作
准则10 直观的数据操纵
准则11 灵活的报表生成
准则12 不受限的维与聚集层次
ROLAP
基于Codd的12条准则,各个软件开发厂家见仁见智,其中一个流派,认为可以沿用关系型数据库来存储多维数据,于是,基于稀疏矩阵表示方法的星型结构(star schema)就出现了。后来又演化出雪花结构。为了与多维数据库相区别,则把基于关系型数据库的OLAP称为Relational OLAP,简称ROLAP。代表产品有Informix Metacube、Microsoft SQL Server OLAP Services。
MOLAP
Arbor Software严格遵照Codd的定义,自行建立了多维数据库,来存放联机分析系统数据,开创了多维数据存储的先河,后来的很多家公司纷纷采用多维数据存储。被人们称为Muiltdimension OLAP,简称MOLAP,代表产品有Hyperion(原Arbor Software) Essbase、Showcase Strategy等。
Client OLAP
相对于Server OLAP而言。部分分析工具厂家建议把部分数据下载到本地,为用户提供本地的多维分析。代表产品有Brio Designer,Business Object。
DSS
决策支持系统(Decision Support System),相当于基于数据仓库的应用。决策支持就是在收集所有有关数据和信息,经过加工整理,来为企业决策管理层提供信息,为决策者的决策提供依据。
ETL
数据抽取(Extract)、转换(Transform)、清洗(Cleansing)、装载(Load)的过程。构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
Ad hoc query
即席查询,数据库应用最普遍的一种查询,利用数据仓库技术,可以让用户随时可以面对数据库,获取所希望的数据。
EIS
领导信息系统(Executive Information System),指为了满足无法专注于计算机技术的领导人员的信息查询需求,而特意制定的以简单的图形界面访问数据仓库的一种应用。
BPR
业务流程重整(Business Process Reengineering),指利用数据仓库技术,发现并纠正企业业务流程中的弊端的一项工作,数据仓库的重要作用之一。
BI
商业智能(Business Intelligence),指数据仓库相关技术与应用的通称。指利用各种智能技术,来提升企业的商业竞争力。
Data Mining
数据挖掘,Data Mining是一种决策支持过程,它主要基于AI、机器学习、统计学等技术,高度自动化地分析企业原有的数据,做出归纳性的推理,从中挖掘出潜在的模式,预测客户的行为,帮助企业的决策者调整市场策略,减少风险,做出正确的决策
CRM
客户关系管理(Customer Relationship Management),数据仓库是以数据库技术为基础但又与传统的数据库应用有着本质区别的新技术,CRM就是基于数据仓库技术的一种新应用。但是,从商业运作的角度来讲,CRM其实应该算是一个古老的"应用"了。比如,酒店对客人信息的管理,如果某个客人是某酒店的老主顾,那么该酒店很自然地会知道这位客人的某些习惯和喜好,如是否喜欢靠路边,是否吸烟,是否喜欢大床,喜欢什么样的早餐,等等。当客人再次光临时,不用客人自己提出来,酒店就会提供客人所喜欢的房间和服务。这就是一种CRM。
Meta Data
元数据,关于数据仓库的数据,指在数据仓库建设过程中所产生的有关数据源定义,目标定义,转换规则等相关的关键数据。同时元数据还包含关于数据含义的商业信息,所有这些信息都应当妥善保存,并很好地管理。为数据仓库的发展和使用提供方便。
Posted by eygle at 12:18 AM | Comments (2)
