摘要:随着计算机、网络技术的发展,获得有关资料已经非常简单易行。但是对于数量大、涉及面宽的数据,依靠以往那种由简单汇总、按指定模式去分析的统计方 法是无法完成这类数据的分析。因此,一种智能化的、综合应用各种统计分析、数据库、智能语言来分析庞大数据资料的技术就应运而生,这就是目前国际上统计最 热门的话题“数据挖掘”(Data Mining)技术的市场需求和它的技术支持背景。本文对数据挖掘技术进行了较全面的回顾,介绍了目前在数据挖掘中常用的方法和工具,列举了它的一些应 用,并提出了在数据挖掘中一些问题。

  关键词:数据挖掘 数据库 统计技术 SAS/EM  SPSS/Clementine

  近十几年,随着科学技术飞速的发展,经济和社会都取得了极大的进步,与此同时,在各个领域产生了大量的数据,如人类对太空的探索,银行每天的巨 额交易数据。显然在这些数据中丰富的信息,如何处理这些数据得到有益的信息,人们进行了有益的探索。计算机技术的迅速发展使得处理数据成为可能,这就推动 了数据库技术的极大发展,但是面对不断增加如潮水般的数据,人们不再满足于数据库的查询功能,提出了深层次问题:能不能从数据中提取信息或者知识为决策服 务。就数据库技术而言已经显得无能为力了,同样,传统的统计技术也面临了极大的挑战。这就急需有新的方法来处理这些海量般的数据。于是,人们结合统计学、 数据库、机器学习等技术,提出数据挖掘来解决这一难题。

  数据挖掘的含义和作用

  数据挖掘的历史虽然较短,但从20世纪90年代以来,它的发展速度很快,加之它是多学科综合的产物,目前还没有一个完整的定义,人们提出了多种数据挖掘的定义,例如:

  SAS研究所(1997):“在大量相关数据基础之上进行数据探索和建立相关模型的先进方法”。

  Bhavani(1999):“使用模式识别技术、统计和数学技术,在大量的数据中发现有意义的新关系、模式和趋势的过程”。

  Hand et al(2000):“数据挖掘就是在大型数据库中寻找有意义、有价值信息的过程”。

  我们认为:数据挖掘就是从海量的数据中挖掘出可能有潜在价值的信息的技术。这些信息是可能有潜在价值的,支持决策,可以为企业带来利益,或者为科学研究寻找突破口。

  现今资料流通量之巨大已到了令人咂舌地步,就实际限制而言,便遇到了诸如巨量的纪录,高维的资料增加的传统分析技术上的困难,搜集到的资料仅有5%至10%用来分析,以及资料搜集过程中并不探讨特性等问题,这就让我们不得不利用Data Mining技术。

  数据挖掘综合了各个学科技术,有很多的功能,当前的主要功能如下:

  1. 分类:按照分析对象的属性、特征,建立不同的组类来描述事物。例如:银行部门根据以前的数据将客户分成了不同的类别,现在就可以根据这些来区分新申请贷款的客户,以采取相应的贷款方案。

  2. 聚类:识别出分析对内在的规则,按照这些规则把对象分成若干类。例如:将申请人分为高度风险申请者,中度风险申请者,低度风险申请者。

  3. 关联规则和序列模式的发现:关联是某种事物发生时其他事物会发生的这样一种联系。例如:每天购买啤酒的人也有可能购买香烟,比重有多大,可以通过关联的支持度和可信度来描述。与关联不同,序列是一种纵向的联系。例如:今天银行调整利率,明天股市的变化。

  4. 预测:把握分析对象发展的规律,对未来的趋势做出预见。例如:对未来经济发展的判断。

  5. 偏差的检测:对分析对象的少数的、极端的特例的描述,揭示内在的原因。例如:在银行的100万笔交易中有500例的欺诈行为,银行为了稳健经营,就要发现这500例的内在因素,减小以后经营的风险。

  需要注意的是:数据挖掘的各项功能不是独立存在的,在数据挖掘中互相联系,发挥作用。

  数据挖掘的方法及工具

  作为一门处理数据的新兴技术,数据挖掘有许多的新特征。首先,数据挖掘面对的是海量的数据,这也是数据挖掘产生的原因。其次,数据可能是不完全 的、有噪声的、随机的,有复杂的数据结构,维数大。最后,数据挖掘是许多学科的交叉,运用了统计学,计算机,数学等学科的技术。以下是常见和应用最广泛的 算法和模型:

  (1) 传统统计方法:① 抽样技术:我们面对的是大量的数据,对所有的数据进行分析是不可能的也是没有必要的,就要在理论的指导下进行合理的抽样。② 多元统计分析:因子分析,聚类分析等。③ 统计预测方法,如回归分析,时间序列分析等。

  (2) 可视化技术:用图表等方式把数据特征用直观地表述出来,如直方图等,这其中运用的许多描述统计的方法。可视化技术面对的一个难题是高维数据的可视化。

  (3) 决策树:利用一系列规则划分,建立树状图,可用于分类和预测。常用的算法有CART、CHAID、ID3、C4.5、C5.0等。

  (4) 神经网络:模拟人的神经元功能,经过输入层,隐藏层,输出层等,对数据进行调整,计算,最后得到结果,用于分类和回归。

  (5) 遗传算法:基于自然进化理论,模拟基因联合、突变、选择等过程的一种优化技术。

  (6) 关联规则挖掘算法:关联规则是描述数据之间存在关系的规则,形式为“A1∧A2∧…An→B1∧B2∧…Bn”。一般分为两个步骤:① 求出大数据项集。② 用大数据项集产生关联规则。

  除了上述的常用方法外,还有粗集方法,模糊集合方法,Bayesian Belief Netords ,最邻近算法(k-nearest neighbors method(kNN))等。

  由于数据挖掘一开始就是面向应用的,是为决策服务,而决策者又不一定具备太多的技术的知识,现许多公司和研究机构开发了一系列的工具用于数据挖掘,见表1

  三、数据挖掘的实施步骤

  前面我们讨论了数据挖掘的定义,方法和工具,现在关键的问题是如何实施,其一般的步骤如下:

  问题理解和提出 —> 数据准备 —> 数据整理 —> 建立模型 —> 评价和解释

  1. 问题理解和提出:在开始数据挖掘之前最基础的就是理解数据和实际的业务问题,在这个基础之上提出问题,对目标有明确的定义。

  2. 数据准备:获取原始的数据,并从中抽取一定数量的子集,建立数据挖掘库,其中一个问题是如果企业原来的数据仓库满足数据挖掘的要求,就可以将数据仓库作为数据挖掘库。

  3. 数据整理:由于数据可能是不完全的、有噪声的、随机的,有复杂的数据结构,就要对数据进行初步的整理,清洗不完全的数据,做初步的描述分析,选择与数据挖掘有关的变量,或者转变变量。

  4. 建立模型:根据数据挖掘的目标和数据的特征,选择合适的模型。

  5. 评价和解释:对数据挖掘的结果进行评价,选择最优的模型,作出评价,运用于实际问题,并且要和专业知识结合对结果进行解释。

  以上的步骤不是一次完成的,可能其中某些步骤或者全部要反复进行。

  许多研究结构和公司结合自己的数据挖掘软件,提出数据挖掘过程模型,值得借鉴的是SAS研究所和SPSS公司提出的方案。

  SAS研究所认为数据挖掘是对数据进行选择,探索,调整和建模来揭示数据中未知的模式,开发了图形界面的SAS/EM来进行数据挖掘:

  (1)  Sample —— 抽样:从大量的数据中抽取与探索问题有关的数据子集,这个样本应该包含足够的信息,又易于处理。

  (2)  Explore —— 探索:对数据子集进行探索,寻找出与期望的关系和未知的模式

  (3)  Modify —— 调整:对数据进行探索后,有了初步的了解,就必须对数据进行增减,选择,转化,量化,保证有效进行

  (4)  Model —— 建模:应用分析工具,建立模型,进行预测

  (5)  Assess —— 评价:评价数据挖掘结果的有效性和可靠性

  SPSS公司提出了5A的模型,进行数据挖掘,认为任何数据挖掘方法学都由5个基本元素组成:

  (1)  Assess —— 正确、彻底的了解业务需求及数据

  (2)  Access —— 获取数据,做适当的调整

  (3)  Analyze —— 选择适当的分析、验证方法和工具

  (4)  Act —— 推荐性、有说服力的原型演示

  (5)  Automate —— 提供优秀的自动化软件。

  四、数据挖掘应用现状

  数据挖掘所要处理的问题,就是在庞大的数据库中找出有价值的隐藏事件,并且加以分析,获取有意义的信息,归纳出有用的结构,作为企业进行决策的 依据。其应用非常广泛,只要该产业有分析价值与需求的数据库,皆可利用Mining工具进行有目的的发掘分析。常见的应用案例多发生在零售业、制造业、财 务金融保险、通讯及医疗服务:

  (1)  商从顾客购买商品中发现一定的关系,提供打折购物券等,提高销售额

  (2)  保险公司通过数据挖掘建立预测模型,辨别出可能的欺诈行为,避免道德风险,减少成本,提高利润

  (3)  在制造业中,半导体的生产和测试中都产生大量的数据,就必须对这些数据进行分析,找出存在的问题,提高质量

  (4)  电子商务的作用越来越大,可以用数据挖掘对网站进行分析,识别用户的行为模式,保留客户,提供个性化服务,优化网站设计

  一些公司运用数据挖掘的成功案例,显示了数据挖掘的强大生命力:

  美国AutoTrader.com是世界上对大的汽车销售站点,每天都会有大量的用户对网站上的信息点击,寻求信息,其运用了SAS软件进行数据挖掘,每天对数据进行分析,找出用户的访问模式,对产品的喜欢程度进行判断,并设特定服务娶,取得了成功。

  Reuteres是世界著名的金融信息服务公司,其利用的数据大都是外部的数据,这样数据的质量就是公司生存的关键所在,必须从数据中检测出错 误的成分。Reuteres用SPSS的数据挖掘工具SPSS/Clementine,建立数据挖掘模型,极大地提高了错误的检测,保证了信息的正确和权 威性。

  Bass Export是世界最大的啤酒进出口商之一,在海外80多个市场从事交易,每个星期传送23000份定单,这就需要了解每个客户的习惯,如品牌的喜好等,Bass Export用IBM的Ineelligent Miner很好的解决了上述问题。

  五、数据挖掘中存在的问题

  尽管数据挖掘有如此多的优点,但数据挖掘也面临着许多的问题,这也为数据挖掘的未来的发展提供了更大的空间。

  1. 数据挖掘的基本问题就在于数据的数量和维数,数据结构也因此显的非常复杂,如何进行探索,选择分析变量,也就成为首先要解决的问题。

  2. 面对如此大的数据,现有的统计方法等都遇到了问题,我们直接的想法就是对数据进行抽样,那么怎么抽样,抽取多大的样本,又怎样评价抽样的效果,这些都是值得研究的难题。

  3. 既然数据是海量的,那么数据中就会隐含一定的变化趋势,在数据挖掘中也要对这个趋势做应有的考虑和评价。

  4. 各种不同的模型如何应用,其效果如何评价。不同的人对同样的数据进行挖掘,可能产生不同的结果,甚至差异很大,这就涉及到可靠性的问题。

  5. 当前互联网的发展迅速,如何进行互联网的的数据挖掘,还有文本等非标准数据的挖掘,都引起了极大的兴趣。

  6. 数据挖掘涉及到数据也就碰到了数据的私有性和安全性。

  7. 数据挖掘的结果是不确定的,要和专业知识相结合才能对其做出判断。