1 数据仓库(DW)
1.1 数据仓库定义
数据仓库之父Bill Inmon在1991年出版的“Building the Data Warehouse”一书中所提出的定义被广泛接受:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。
对于数据仓库的概念我们可以从两个层次予以理解,首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。
1.2 数据仓库特点
1、面向主题。操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。
2、集成的。面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。而数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
3、相对稳定的。操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
4、反映历史变化。操作型数据库主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础。数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供他们做出改善其业务经营的决策,信息才能发挥作用,信息才有意义。而把信息加以整理归纳和重组,并及时提供给相应的管理决策人员,是数据仓库的根本任务。因此,从产业界的角度看,数据仓库建设是一个工程,也是一个过程。
1.3 数据仓库体系结构:
一般来说,大公司或企业内存在着各种各样的信息系统,这些应用驱动的操作型信息系统为企业不同的业务系统服务,具有不同接口和不同的数据表示方法,互相孤立。利用数据仓库技术可以动态地将各个异构系统中的数据抽取集成到一起,进行清洗、转换等处理之后加载到数据仓库中,通过周期性的刷新,为用户提供一个统一的干净的数据视图,为数据分析提供一个高质量的数据源。整个数据仓库系统是一个包含四个层次的体系结构,具体由图1表示。
图1 数据仓库系统架构图
数据源:是数据仓库系统的基础,是整个系统的数据源泉。通常包括企业内部信息和外部信息。内部信息包括存放于RDBMS中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等等;
数据的存储与管理:是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为“数据集市”)。
OLAP服务器:对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。其具体实现可以分为:ROLAP、MOLAP和HOLAP。ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。
前端工具:主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用丌发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
数据仓库不会是一个完善的提供战略信息的软件或者硬件产品,而是一个用户可以从中找到战略信息的计算环境。在这个环境中,用户可以通过与数据的直接接触来做出更好的决策。它是一个以用户为中心的环境。
1.4 数据仓库的功能
一般来说,大公司或企业内存在着各种各样的信息系统,这些应用驱动的操作型信息系统为企业不同的业务系统服务,具有不同接口和不同的数据表示方法,互相孤立。利用数据仓库技术可以动态地将各个异构系统中的数据抽取集成到一起,进行清洗、转换等处理之后加载到数据仓库中,通过周期性的刷新,为用户提供一个统一的干净的数据视图,为数据分析提供一个高质量的数据源。就其在商业智能过程中的作用而言,数据仓库具有以下功能:
1、数据建模;2、数据抽取;3、数据转换;4、数据装载;5、数据清洗检验;6、查询和报表;7、OLAP;8、内部的中间件;9、自身的管理维护。
2 联机分析处理(OLAP)
2.1 联机分析处理(OLAP)定义
对于数据仓库中的数据,可以使用一些增强的查询和报表工具进行复杂的查询和即时的报表制作,可以利用OLAP技术从多种角度对业务数据进行多方面的汇总统计计算,还可以利用数据挖掘技术自动发现其中隐含的有用信息。
联机分析处理(OLAP)最早由Arbor软件公司的E.F.Codd于1993年提出,他在《为分析型用户提供OLAP工具:信息技术的新需求》首次区分了面向事务处理的OLTP系统和面向分析处理的OLAP系统,并为OLAP确定了诸如多维概念视图、透明性、存取能力等12条规则。这些规则可概括为业务应用和技术应用这两类。其中多维概念视图,以多角度观察数据的方式方便了业务类用户带着解决问题的假设以及自己解决问题的逻辑推理的思维过程,也就是说,OLAP分析提供了用户在演绎型思考中前提、逻辑两个步骤中所需的帮助,因此它有助于提高用户分析结果的准确性。可见,OLAP分析工具是综合分析层次的工具之一。
2.2 OLTP和OLAP的比较
当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。图2列出了OLTP与OLAP之间的比较。
图2 OLTP与OLAP的比较
OLAP是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它的技术核心是“维”这个概念。
“维”是人们观察客观世界的角度,是一种高层次的类型划分。“维”一般包含着层次关系,这种层次关系有时会相当复杂。通过把一个实体的多项重要的属性定义为多个维(dimension),使用户能对不同维上的数据进行比较。因此OLAP也可以说是多维数据分析工具的集合。
OLAP分析中要理解变量、维、维层次、维的取值、维的分类等主要术语。变量指从现实系统中抽象出来用于描述数据的实际含义:维是与某一事件相关的因素在关系模型的抽象。如客户打电话,含客户、时间、地点、业务提供商、业务类型等这些与客户打电话相关联紧密的内容;维的层次性是人们观察数据细致程度不同造成的,即数据的综合程度不同导致不同的维层次,如时间维中以年、以月、以日为单位即形成了不同的维层次。它的目的满足业务类用户思考问题时逐层深入的需求:维的取值,也称为维的成员;维的分类是对维取值的划分。目的是为了在不同的类别间进行比较。如销售可分为畅销、不畅销、平销,移动业务类型可以分为通话、短信、游戏等。一个实际的系统中,维分类和维层次常常同时存在。事实是指不同维度在某一取值下的交叉点,它是对事件的度量。例如,××公司电视机4月份销售800台。其中800台是事实。一般来说数量和金额常作为事实。
2.3 联机分析处理(OLAP)的基本多维分析操作
OLAP的一个重要特点是主要通过多维的交互式方式对数据进行分析,这与数据仓库的多维数据组织正好形成相互结合、相互补充的关系。这些基本多维分析操作包括切片(切块)、钻取、旋转等,便于用户从不同维度查询和分析有关数据。
(1)切片和切块
通过切片、切块功能,用户可以对数据进行过滤,专注于某一方面的问题,例如,用户通过拖拽的方式很容易的得到诸如“××地区2008年的销售情况”这样的数据。
(2)钻取
钻取包含向下钻取和向上钻取操作,钻取的深度与维所划分的层次相对应。向下钻取是通过对某一行汇总数据进行细分来分析数据。例如,用户分析“各地区、城市的销售情况”时,可以对某一个城市的销售额细分为各个年度的销售额,对某一年度的销售额,可以继续细分为各个季度的销售额。通过钻取的功能,使用户对数据能更深入了解,更容易发现问题,做出正确的决策。
向上钻取是指自动生成汇总行的分析方法。通过向导的方式,用户可以定义分析因素的汇总行,例如对于各地区各年度的销售情况,可以生成地区与年度的合计行,也可以生成地区或者年度的合计行。
(3)旋转
旋转,也称数据转轴,就是改变维度的位置关系,如将行与列互换,或者将某一个行维移动到列维中。为了方便用户更直观的查看分析数据,应该支持数据的旋转功能,可从不同的视角来查看数据。对于一些数据,通过旋转功能,看起来可以更加直观,例如时间序列分析中,各地区各年度的增长量情况,把年份作为旋转维度,则同一地区不同年度的数据以及增长量将在一行显示,看起来更容易理解。
OLAP分析中的多维分析充分体现为用户对某一个事实以多种角度展开分析。比如××公司电视机4月份销售800台,若以负责××地区的销售经理这一业务类角色来分析,他可以从时间维(如每日)、地区维(××地区的各个区县、各个区县的各个销售点)、品牌维(不同品牌、规格的电视机)、销售人员维(不同点上的销售员)等等维度以切片方式分别来分析,也可以综合起来作切块比较,也可以通钻取方式进行深入分析。
目前,常见的OLAP主要有基于多维数据库的MOLAP及基于关系数据库的ROLAP。在数据仓库应用中,联机分析处理应用一般是数据仓库应用的前端工具,同时,联机分析处理工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。
3 数据挖掘(DM)
3.1 数据挖掘定义
进入二十一世纪以来,随着科学技术飞速的发展,经济和社会都取得了极大的进步,与此同时,在各个领域产生了大量的数据,如人类对太空的探索,银行每天的巨额交易数掘。显然在这些数据中丰富的信息,如何处理这些数据得到有益的信息,人们进行了有益的探索。计算机技术的迅速发展使得处理数据成为可能,这就推动了数据库技术的极大发展,但是面对不断增加如潮水般的数据,人们不再满足于数据库的查询功能,提出了深层次问题:能不能从数据中提取信息或者知识为决策服务。就数据库技术而言已经显得无能为力了,同样,传统的统计技术也面临了极大的挑战。这就急需有新的方法来处理这些海量般的数据。于是,人们结合统计学、数据库、机器学习等技术,提出数据挖掘来解决这一难题。
数据挖掘的历史虽然较短,但从20世纪90年代以来,它的发展速度很快,加之它是多学科综合的产物,目前还没有一个完整的定义,人们提出了多种数据挖掘的定义,例如:SAS研究所(1997):“在大量相关数据基础之上进行数据探索和建立相关模型的先进方法”。Hand et al(2000):“数据挖掘就是在大型数据库中寻找有意义、有价值信息的过程”确切地说,数据挖掘(Data Mining),又称数据库中的知识发现(Knowledge Discovery in Database,KDD),是指从大型数据库或数据仓库中提取隐含的、未知的、非平凡的及有潜在应用价值的信息或模式,它是数据库研究中的一个很有应用价值的新领域,融合了数据库、人工智能、机器学习、统计学等多个领域的理论和技术。
3.2 数据挖掘的主要功能
数据挖掘综合了各个学科技术,有很多的功能,当前的主要功能如下:
1、数据总结:继承于数据分析中的统计分析。数据总结目的是对数据进行浓缩,给出它的紧凑描述。传统统计方法如求和值、平均值、方差值等都是有效方法。另外还可以用直方图、饼状图等图形方式表示这些值。广义上讲,多维分析也可以归入这一类。
2、分类:目的是构造一个分类函数或分类模型(也常常称作分类器),该模型能把数据库中的数据项映射到给定类别中的某一个。要构造分类器,需要有一个训练样本数据集作为输入。训练集由一组数据库记录或元组构成,每个元组是一个由有关字段(又称属性或特征)值组成的特征向量,此外,训练样本还有一个类别标记。一个具体样本的形式可表示为:(v1,v2,...,vn;c),其中vi表示字段值,c表示类别。
例如:银行部门根据以前的数据将客户分成了不同的类别,现在就可以根据这些来区分新申请贷款的客户,以采取相应的贷款方案。
3、聚类:是把整个数据库分成不同的群组。它的目的是使群与群之间差别很明显,而同一个群之间的数据尽量相似。这种方法通常用于客户细分。在开始细分之前不知道要把用户分成几类,因此通过聚类分析可以找出客户特性相似的群体,如客户消费特性相似或年龄特性相似等。在此基础上可以制定一些针对不同客户群体的营销方案。
例如:将申请人分为高度风险申请者,中度风险申请者,低度风险申请者。
4、关联分析:是寻找数据库中值的相关性。两种常用的技术是关联规则和序列模式。关联规则是寻找在同一个事件中出现的不同项的相关性;序列模式与此类似,寻找的是事件之间时间上的相关性,例如:今天银行利率的调整,明天股市的变化。
5、预测:把握分析对象发展的规律,对未来的趋势做出预见。例如:对未来经济发展的判断。
6、偏差的检测:对分析对象的少数的、极端的特例的描述,揭示内在的原因。例如:在银行的100万笔交易中有500例的欺诈行为,银行为了稳健经营,就要发现这500例的内在因素,减小以后经营的风险。
以上数据挖掘的各项功能不是独立存在的,它们在数据挖掘中互相联系,发挥作用。
3.3 数据挖掘的方法
作为一门处理数据的新兴技术,数据挖掘有许多的新特征。首先,数据挖掘面对的是海量的数据,这也是数据挖掘产生的原因。其次,数据可能是不完全的、有噪声的、随机的,有复杂的数据结构,维数大。最后,数据挖掘是许多学科的交叉,运用了统计学,计算机,数学等学科的技术。以下是常见和应用最广泛的算法和模型:
传统统计方法:①抽样技术:我们面对的是大量的数据,对所有的数据进行分析是不可能的也是没有必要的,就要在理论的指导下进行合理的抽样。②多元统计分析:因子分析,聚类分析等。③统计预测方法,如回归分析,时间序列分析等。
可视化技术:用图表等方式把数据特征用直观地表述出来,如直方图等,这其中运用的许多描述统计的方法。可视化技术面对的一个难题是高维数据的可视化。
决策树:利用一系列规则划分,建立树状图,可用于分类和预测。常用的算法有CART、CHAID、ID3、C4.5、C5.0等。
神经网络:模拟人的神经元功能,经过输入层,隐藏层,输出层等,对数据进行调整,计算,最后得到结果,用于分类和回归。
遗传算法:基于自然进化理论,模拟基因联合、突变、选择等过程的一种优化技术。
关联规则挖掘算法:关联规则是描述数据之间存在关系的规则,形式为“A1∧A2∧...An→B1∧B2∧...Bn”。一般分为两个步骤:①求出大数据项集。②用大数据项集产生关联规则。
除了上述的常用方法外,还有粗集方法,模糊集合方法,Bayesian Belief Netords,最邻近算法(k-nearest neighbors method(KNN))等。
3.4 数据挖掘的实施流程
前面我们讨论了数据挖掘的定义,功能和方法,现在关键的问题是如何实施,其一般的数据挖掘流程如下:
问题理解和提出→数据准备→数据整理→建立模型→评价和解释
问题理解和提出:在开始数据挖掘之前最基础的就是理解数据和实际的业务问题,在这个基础之上提出问题,对目标有明确的定义。
数据准备:获取原始的数据,并从中抽取一定数量的子集,建立数据挖掘库,其中一个问题是如果企业原来的数据仓库满足数据挖掘的要求,就可以将数据仓库作为数据挖掘库。
数据整理:由于数据可能是不完全的、有噪声的、随机的,有复杂的数掘结构,就要对数据进行初步的整理,清洗不完全的数据,做初步的描述分析,选择与数据挖掘有关的变量,或者转变变量。
建立模型:根据数据挖掘的目标和数据的特征,选择合适的模型。
评价和解释:对数据挖掘的结果进行评价,选择最优的模型,作出评价,运用于实际问题,并且要和专业知识结合对结果进行解释。
以上的流程不是一次完成的,可能其中某些步骤或者全部要反复进行。
3.5 数据挖掘的应用现状
数据挖掘所要处理的问题,就是在庞大的数据库中找出有价值的隐藏事件,并且加以分析,获取有意义的信息,归纳出有用的结构,作为企业进行决策的依据。其应用非常广泛,只要该产业有分析价值与需求的数据库,皆可利用数据挖掘(DM)技术进行有目的的发掘分析。常见的应用案例多发生在零售业、财务金融保险、制造业、通讯及医疗服务行业:
1、零售商从顾客购买商品中发现一定的关系,提供打折购物券等,提高销售额;
2、保险公司通过数据挖掘建立预测模型,辨别出可能的欺诈行为,避免道德风险,减少成本,提高利润;
3、在制造业中,半导体的生产和测试中都产生大量的数据,就必须对这些数据进行分析,找出存在的问题,提高质量;
4、电子商务的作用越来越大,可以用数据挖掘对网站进行分析,识别用户的行为模式,保留客户,提供个性化服务,优化网站设计。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/