信息化 频道

商业智能技术及其在配方辅助系统的应用

  商业智能的发展趋势

  从应用和技术需求上看,商业智能的发展趋势可以归纳为以下方面。功能上具有可配置性、灵活性、可变化性。BI系统的使用范围从特定部门到企业所有用户,其业务多样化,需求格式不同,展示方式也各有变化,对BI系统在配置和灵活上提出了要求。

  解决方案更开放、可扩展、可定制。BI系统在原有方案基础,根据企业的独特需求,增加个性化设置的接口和扩展特性,使系统更加灵活而且扩大了使用范围。

  从单独的商业智能向嵌入式商业智能发展。即把商业智能组件嵌入到企业现有的应用系统中,使事务处理系统具有商业智能的分析特性。如SAP的ERP就

  嵌套了Business Objiect的商业智能产品,其它公司也有类似的合并,这是商业智能应用的一大趋势。

  从传统功能向增强型功能转变。商业智能增强功能是相对于SOL查询来说的,而企业建模、多维数据处理、数据挖掘以及数据预测等功能可以提高系统的可用性和智能性,通常被看作BI系统的增强功能。

  从市场前景来看,商业智能将面临BI提供商的合并;从战略型商业智能向操作性或实时性商业智能转换;以及更加智能和成熟的分析工具和展现工具等改变。

  2.2 数据仓库

  数据仓库是商业智能系统的基础,以往的数据库系统主要用于事务处理,很难或无法实现分析处理。近年来,越来越多的数据分析与决策信息支持在被企业所重视,数据仓库技术应运而生。

  数据仓库的定义

  目前对于数据仓库还没有统一的定义,被称为数据仓库之父的BillInmon在其著作《(Building the Data Warehouse))一书中给出的定义被广泛接受:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non.Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。

  可以从两个层面对数据仓库的概念进行理解,首先数据仓库是面向分析处理的,主要用来支持决策制定;再者数据仓库包含历史数据,是对多个异构的数据源数据按照主题的集成,它的数据相对固定,不会经常改动。

  数据仓库的特点

  面向主题、集成、相对稳定、反映历史变化是对数据仓库的定义,也是对数据仓库特点的描述,下面分别解释它们的含义。

  (1)面向主题的:数据仓库的数据都是按照一定的业务主题进行组织的,面向主题体现在数据仓库的建设中,而且还包含在业务数据分析和存储上。

  (2)集成的:数据仓库中的数据来自各个不同的分散数据库中,它并不是对源数据库数据的简单拷贝,而是按照划分好的主题和数据分析要求,经过数据抽取、清理、汇总和整理等步骤,消除源数据中的错误和不一致数据,保证数据仓库中数据的正确性和可用性,所以它是整合集成的。

  (3)相对稳定的:数据仓库的稳定性体现在它的非易失性上,由于数据仓库是面向分析的,其中的数据是从业务数据中加载过来的历史数据,所进行的主要操作是查询和分析,供决策分析使用,所以其修改和删除操作很少,只需要定期的增量加载,所以具有相对稳定特征。

  (4)反映历史变化:数据仓库必须能够不断地捕捉业务系统中的变化数据,记录企业生产过程的各个阶段的信息,以满足决策分析的需要,所以必须实时地把新变化的业务数据追加到数据仓库中去,通过数据随时问变化的研究和分析,可以对企业的发展历程和未来趋势做出定量分析和预测。

  可见数据仓库与业务数据库的不同之处体现在:数据库是面向事务的设计,数仓库是面向主题设计的;数据库一般存储在线交易数据,数据仓库存储的一般是历史数据; 数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计; 数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。

  数据仓库与BI

  关于数据仓库和商业智能的关系,在业界还存在一些分歧。有人从数据仓库系统的角度考虑,认为数据仓库包含了从原始数据提取到用于见到的软件和应的所有内容。它和商业智能的创建步骤和目的都是一致的,它们没有本质的区别,可以看作是一回事。还有人从静态的角度看待数据仓库,认为数据仓库仅仅是集中式的高度规范化的数据存储,它只是为商业智能提供数据支持。不管是数据仓库还是商业智能,都是应业务分析需要而产生的,它们都不可能脱离业务逻辑分析和业务维度分析而存在。两者是相互存在,互为条件的。不存在脱离商业智能分析的数据仓库,也不存在没有数据仓库支持的商业智能。如果从商业智能的角度考虑,通常认为数据仓库为商业智能的一部分,它和联机分析处理以及数据挖掘被定义为商业智能的三个关键技术。从这个角度看,在商业智能系统中所指的数据仓库,是数据仓库构建和填充的过程,没有包括其分析功能,它为商业智能系统提供数据基础。

  2.3 数据抽取、转换和加载(ETL)

  ETL概念及作用

  ETL是数据抽取(Extract)、转换(Transform)、装载(Load)的缩写,是完成数据从数据源向目标数据仓库转化的过程,抽取是将数据从各种原始的业务系统中读取出来,这是所有工作的前提。转换是按照预先设计好的规则将抽取的数据进行转换、清洗,以及处理一些冗余、歧义的数据,使本来异构的数据格式能统一起来。装载是将转换完的数据按计划增量或全部的导入到数据仓库中。ETL是数据仓库、数据挖掘以及商业智能等技术的基石。

  ETL是Bl/DW(Business Intelligence)的核心和灵魂,它在商业智能系统中占据举足轻重的作用。在整个BI项目中最难部分是用户需求分析和模型设计,而ETL规则设计和实施则是工作量最大的,约占整个项目的60%~80%。可见ETL的重要性,ETL设计的正确性和合理性,直接影响整个BI项目的效率和质量。

  数据清洗和转换

  ETL过程中最复杂的是数据清洗和转换,它通常是与业务需要和后期的数据分析和数据挖掘直接相关的,也是BI项目中资源密集程度最高的步骤。数据清洗的目的是除去数据中的“噪声(noise)”和不相关的信息。数据转换的目的是将源数据的数据值与类型转换为同一的格式。数据清洗和转换通常包括以下处理。

  数据类型的转换:这是数据转换中最简单的任务,由需要通常将布尔类型转换为整数类型;或连续的数据类型根据一定原则转变为离散的值;对数据进行归一化等。

  数据分组:有时可能有许多不同的值(状态)出现在离散列中,为了减少模型的复杂性需要把这些值分组,例如职业可能有几十种不同的值,如软件工程师、电子工程师、硬件工程师、顾问等,我们可以用一个“工程师’’来对其进行归纳,以减少模型的复杂度。

  数据聚集:聚集计算的结果是根据用户可能的查询预先计算好的汇总数据。比如希望通过每个客户的详细通话记录对客户进行细分,派生出呼叫次数和平均通话时间等属性列。

  离群点的处理:离群点称为孤立点,是数据集中的异常事例,这些事例是少数的情况,但却影响一般数据分析模型的准确性,需要对它们单独进行处理。通常情况是直接删除这些孤立点,对正常数据进行建模。但有时候对这些点的分析却有非常重要的意义,比如信用卡欺诈检测和网络入侵检测等。

  缺失值处理:从不同数据源集成过来的数据,由于多方面原因存在很多的缺失的数据,这些空值的存在严重影响了正常的数据分析工作,必须对其进行处理。目前有一些方法来处理这种问题,利用平均值代替或者用常见的值代替或者直接产出带空值的记录,无论使用怎么的方法,都必须看实际业务对数据的要求和对模型准确性的要求程度。

  还有其它的数据清洗和转换任务,在具体操作中,我们需要使用相应的工具来解决业务问题,确保数据的正确性及可用性。

  ETL的挑战

  ETL系统是一个复杂的系统工程,虽然ETL已经进入实用阶段,但还有许多阻碍其应用的情况。主要体现在异构数据源的结构差别和数据源数据质量方面。ETL的各个数据源位于不同的网络和操作系统,在数据格式定义,数据结构和接口方面都存在很大差异,给数据提取工作带来很多的麻烦。而且现有不同数据库系统存在无法解决的脏数据,包括命名格式不规范,滥用缩写词、惯用语、数据录入错误、数据重复、数据丢失、单位尺度不一致等。其中对数据集成和清洗影响最大的是以下问题。

  (1)数据冗余不一致。数据库系统设计时可能从方便或效率方面的考虑,将一种数据分别保存在不同的地方别进行维护,数据的修改得不到及时的反馈和统一,造成了数据之间的不一致,及增加了数据冗余度,也很难分辨数据的正误。

  (2)数据关联错误。由于数据库设计的不合理,很多情况下会存在数据之间的关联和依赖,包括属性关联即两个属性分别可以由对方推导计算出来,或实体关联即实体间使用关联属性来关联连接。这种设计方式会产生数据之间的不一致、实体关联性丢失甚至出现实体关联错误。

  (3)数据本身错误。由于在数据库设计时没有进行数据的约束设计,或者用户输入数据时的个人疏忽等原因造成数据源中存在不满足要求的数据以上问题给ETL的设计和实施增加了不同程度的困难,有时只有牺牲数据的准确性来达到系统效率和项目进度的要求。解决这些问题,还需要加强企业工作过程的规范化管理,改善企业的数据库结构等,随着企业信息化水平的提高,这些困扰ETL实施的问题会逐渐得到改善和解决。

  2.4 联机分析处理(OLAP)

  OLAP的理解

  OLAP是Online Analytic Process(联机分析处理)的缩写,E.ECodd于1 993年首次提出这个概念。从字面上看OLAP是对联机数据访问和分析,它是为了满足更高效地进行多维分析的需求而产生的。OLAP的主要功能是根据用户所选择的分析,从多个角度(维)度对信息进行快速、一致、稳定地交互访问,使用户可以在短时间内从各种不同的角度审视业务的经营情况。OLAP是一种技术,它最大的特点是其机动性和快速性。OLAP技术是弥补关系数据库在统计及综合查询分析方面的不足,迎合人们对数据的复杂查询和对于数据分类别及层次等高级分析需求而产生的,能在短时间内响应非专业人员的复杂查询。可以利用OLM)技术从多种角度对业务数据进行多方面的汇总统计计算,还可以利用数据挖掘技术自动发现其中隐含的有用理解了OLAP与OLTP的区别,也就对OLAP的特点,功能和使用方式有了感性的认识,OLAP作为一种分析和存储技术,表现出它独特的优势。随着数据仓库的发展,数据仓库(DW)系统正成为新的决策管理系统解决方案。DW系统以OLAP为核心,但包括更为广泛的内容。

  OLAP操作

  OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它展现在用户面前的是一幅幅多维视图,它的技术核心是“维"这个概念。0LAP的多维分析操作有钻取、切片和切块以及旋转等。钻取是在维的层次上进行向上或向下的查看来改变分析粒度的查询。它包括向下钻取(Drill.down)和向上钻取(Drill.up)/上卷(Roll.up)。Drill.up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而Drill—down则相反,它从汇总数据深入到细节数据进行观察或增加新维。切片和切块是在先固定一些维度上选择的属性值,然后查看度量值在其它维度上的变化。如果其它的维有一个则是切片;有两个以上则是切块。旋转是变换维的显示位置,即在表格中重新安排维的放置。

  OLAP的分类

  OLAP是以数据存在为前提的,按照数据的存储格式可以分为以下几种。

  (1)关系OLAP又称ROLAP使用关系或扩充关系DBMS存放并管理数据仓库,采用基于稀疏矩阵表示方法的星形结构或雪花结构存储多维数据,数据检索比MOLAP低效。

  (2)多维OLAP又称MOLAP是基于多维数据库来实现的,其数据存储采用多维方阵或矩阵方式,数据检索高效,是为直接支持多维查询分析处理而设计的结构。

  (3)混合OLAP又称HOLAP是结合ROLAP和MOLAP技术,在MOLAP立方体中存储高级别的聚集,在ROLAP中存储低级别的聚集。

  (4)桌面OLAP指没有自己的数据存储库,把用户的查询翻译为对数据源的查询,然后再把结果合成返回给用户。

  (5)客户OLAP是相对于Server OLAP而言的,客户OLAP把部分数据下载到本地,为用户提供本地的多维分析。

  在商业智能系统中都是在数据仓库基础上建立OLAP,所以一般是对关系OLAP,多维OLAP和混合OLAP的讨论和使用。

  2.5 数据挖掘

  数据挖掘的定义

  关于数据挖掘(Date Mining),目前没有统一的定义,不同的学者或机构按照自己的理解分别给出不同的说法。简单的说,数据挖掘就是指从大量数据中提取或“挖掘"知识。我们拥有海量的数据,却苦于信息缺乏,数据挖掘借用从矿石或沙子中挖掘黄金之意,是指从大量数据中自动地发现有趣的模式和有价值的信息,其中数据可以存放在数据库、数据仓库或者其它信息系统中有价值的信息的过程。

  与数据挖掘关系密切的的一词是数据中的知识发现即KDD(KnowledgeDiscovery in Database),它是从大量的、随机的、有噪声的、不完全的、模糊的数据中,提取潜在的有用的信息和知识,这些知识是隐藏在其中的规律,不容易被人发现和识别㈨。有许多文献把数据挖掘和IED视为同义词,认为它们是一回事,但大多数人支持数据挖掘是知识发现过程的的一个基本步骤这样的说法。知识发现是将未加工的数据转换为有用信息的整个过程,它包括一些列的转换步骤,从数据的预处理到数据挖掘结果的后处理。图2—2给出了知识发现的过程及它与数据挖掘的关系。

  在商业智能系统中谈数据挖掘,是指在以整理好的数据仓库基础进行的特定业务数据的挖掘,它注重数据挖掘算法的应用和挖掘结构的展示。由于是在数据仓库的基础上,还注重算法的效率和扫描数据库次数等方面。数据挖掘技术涉及到数据库技术、机器学习、统计分析、可视化、信息科学等多种技术。
 

1
相关文章