第一节 数据挖掘的统计学内涵
一 参数与非参数方法
统计虽然常常被作为归纳法来理解,但与数据挖掘相比,它更倾向于演绎 (deductive reasoning)。这是因为,经典的统计推断是参数的——有很多预设的假定,以此为基础推演出结论,这是典型的演绎逻辑 (Aristo-telian approach to truth: deductive reasoning) 。而数据挖掘是非参数的,它没有预设的模型或分布假定,完全让数据自己说话 (let data speak for itself),这是典型培根逻辑——归纳法 (Platonic approach to truth: inductive reasoning),数据只是达到一般性结论的跳板。比如,经典的回归和分类方法是建立在独立重复观测基础上的,并且通常附有诸如正态分布之类的假定,模型也大都有显性表达式,从这个角度来看经典统计分析是属于参数方法范畴的;而现代回归和分类方法是建立在一些训练样本基础之上的数值算法,进而转换成计算机程序来实现的。比如,数据挖掘中使用的决策树 (decision tree)、随机森林 (random tree)、助推法 (boosting)、神经网络 (neural network)、最近邻估计 (nearest neighbor method)、核估计 (kernel method) ……在这种情况下,要对结果进行评价,我们很难从逻辑上做出证明 (如统计量的无偏、有效等性质),而往往要通过模拟来实现。注意,对结果的评价除了机器 (模拟) 评价之外,更重要的是用户评价。这实际上对数据挖掘提出一个要求,即数据挖掘的结果应该容易被用户所理解和接受。所以,结合可视化 (Visualization)、与用户进行沟通 (Interactive) 是必要的,这不仅体现在结果的评价上面,而且贯穿于整个挖掘过程。
二 验证性与探索性分析
数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识 (非参数),从这个意义上来讲,数据挖掘获得的知识是预测性的 (潜在的)。换句话说,数据挖掘不是验证性的 (confirmatory),而是探索性的 (ex-ploratory),且其所获得的知识是新奇的、人们事先不知道的,倘若挖掘到的是常识,比如,情人节鲜花热卖,则相当于证明了糖是甜的,这是没有价值的。即数据挖掘的目的是要找到“例外”, “以规则的事实开始是合适的,但是规则一经确立,与它完全一致的事实不久以后也就没有意义了,因为它们不能再告诉我们任何新的东西,这时候,例外变得重要起来。”Matilde Marcolli也有类似的表述:“首先,极其难获得的,也是作为一个成熟的职业数学家的良好标志,就是有能力觉察到什么是有意义的。在数学里面,一个人可以做很多只是为了做而做的事情。比如根据梳子的齿数给梳子分类。真正有意义的数学是发现意料之外的联系。”
从统计学的观点来看,例外至少有两种;一种是异常值 (outlier),它是个别现象、偶然的,故而不予考虑 (非影响力点) 或剔除 (影响力点);还有一种是珍贵值 (rare),是系统变异,其中潜藏着重要的质变信息或“扩展信息”,需要特别重视。这时候,例外并不是规律以外的偶然事件,而很可能是未经确认的“新规律”。“偶然性并不是理由,它必定能在某个意想不到的定律中找到”(H. Poincare,1913, The Foundations of Science)。比如一个非整数的阶乘的出现开启了一个新的领域——,非整数次幂导致了对数的产生。因此从这个意义上来讲,科学的前进来自对规律失效的关注。
三 渐进理论与统计学习理论
统计分析与数据挖掘的研究对象都是数据,但在处理的逻辑上还是有本质区别的:前者的目的是“先找到正确的方程或规律”,这也是传统的科学研究范式;而计算机时代则更倾向于直接从数据中去寻找到答案,这是统计学习理论的基本理念。
因此,统计学与数据挖掘还有一个关键的区别:前者基于渐进理论,其应用主要涉及概括 (综合指标) 、关系 (统计模型) 和推断 (由样本推断总体) 等方面;后者更像是统计学习理论,是预测的科学。注意,预测虽是统计的三个基本目标之一 (比较〈横向〉、预测〈纵向〉和决策),但统计预测的意义可能更多的不是为了“准确击中”,而是为了较为系统和全面地考虑一个系统中错综复杂的关系,以此来帮助决策者了解可能的正面效应和负面效应。所以,“政策分析被证明比预测这门危险的艺术要更加准确得多”( Stanley L. Brue,2000, The Evolution of Economic Thought)。
统计分析与数据挖掘其实都是在模拟理性人那种无意识的决策过程,其中,统计分析是直接基于正态或规范的 (based on norms)。再比如,今天的场合穿什么合适 (norm)?在我们的文化背景中什么样的穿着风格是可以被接受的 (the acceptable range of variation around that norm)?这便是所谓的均值与方差。而数据挖掘是基于具体案例的 (learns case by case),并不涉及均值与方差。事实上,数据挖掘说穿了就是要找出大规模数据集中的结构,但与统计分析不同,它往往是直接应用于具体的预测。再比如,在STATISTICA软件中选择分析关注点 (analytical focus) 时,有以下几项供选择:
✧Predictive Analytics (Data Mining, Text Mining, Process Optimization)
✧ Statistical Process Control
✧ Quality Control and Design of Experiment
✧ Simulation
✧ Statistics, Graphics, Data Management
✧ Scorecards
但是注意,网络抓取个人浏览信息、购物清单卖给商家,这不是数据挖掘。数据挖掘的目的不是挖掘个人的隐私,它针对的是“典型人”的特征,考察的是大多数人的行为,是统计意义上的,不是个体的。比如,“买黄瓜的客户中,20%也买了西红柿”。而不会给出像“小明买黄瓜的时候,可能 (20%) 也会买西红柿”这样具体到某个人的结论。统计部门统计企业信息的时候也是一样的,它只会给出一个汇总的结果,而不会公布单个企业的任何信息。统计主要关注的是“平均”、“大概”的情形,即3σ以内。它指向的是一个常规的、典型的状态,是“大众行为”,不是极端值,也不是个别值。换句话说,统计只为沉默的大多数代言。所以从技术本身而言,统计 (包括数据挖掘方法) 并不侵犯个人隐私。
为什么统计不关心一条具体的记录?简单地讲,因为一条记录并不能说明什么,一次体检报告并不能说明健康状况,一次考试成功与否也并不能说明个人的能力,这里面有随机扰动。所以,我们需要更多的数据来看这个过程的平均趋势。勿要因噎废食,这也是统计学所蕴含的道理,看气候,而不喜怒于善变的天气。
四 数据规模:实录数据与系统收集数据
数据挖掘和统计学都是在寻找数据库中的结构,但不同的是,前者分析的是实录数据 (Happenstance data),而后者多是系统收集的数据 (Systematically gathered data),这在一定程度上决定了数据挖掘是直接面向应用的。
从数据规模来看,统计处理的数据无论在样本量上 (大样本只是理论证明中使用的) 还是维度上 (多元统计分析) 都远不及数据挖掘:大规模样本 (Large number of records, cases);高维 (High dimension, variables);甚至具有复杂动态结构的高频 (t) 和文本数据 (非结构) 等。事实上,之所以称为数据挖掘,很大程度上是因为数据挖掘的对象是海量数据,而不是因为所使用的工具。比如海量数据加一般传统的统计方法,要比小容量样本加数据挖掘工具 (关联规则、神经网络、支持向量机),来得更“数据挖掘”。我们注意到,对于海量数据而言,传统的统计方法若不做适当的修正则很难直接发挥作用,比如一个很大的数X,由于舍入误差,计算机运行会出现X+10-X=0, X-X+10 =10这样的尴尬现象;再比如著名的Bonferroni校正。此外,海量数据有一个不容忽视的重要特点是,因数据量庞大而无法保证数据的完整性、准确性和一致性,比如与低频数据相比,高频数据的质量实际上并不高 (交易数据会因种种原因而缺失,某些交易的确切时间也不见得准确,再有就是微结构噪声等因素干扰)。
五 再论数据挖掘与统计学
人类历史上许多最重要的发明,从语言到电脑,无一不是用来生成信息、捕捉信息和消费信息的。数据挖掘一方面得益于当代信息技术的飞速发展,另外,相对于由此产生的大量冗余数据而言,我们似乎并没有获得多少信息。“数据过剩”(data glut)、“信息混沌空间”(information chaotic space)、“丰富的数据贫乏的知识”(data rich and knowledge poor) ……我们电脑的容量越来越不够用、书籍的出版及我们的藏书也有泛滥之势,然而,其中有利用价值的部分却少之又少或尘封窖藏难以被发现,如“数据坟墓”(data tombs, Fayyad & Uthurusamy,2002),它指的是单纯收集整理记录数据,把过多的精力放在了捕捉和存储外在的信息,但不再回看,无果而终。在这种情况下,开采有用的知识等价于抛弃无用的数据。
然而,大数据时代的思路改变了,开始变本加利巨细靡遗地记录一切可以记录的数据。因为,(1) 数据再怎么抛弃还是会越来越多。我们不能通过删减数据来适应自己的无能,为自己不愿做出改变找借口,而是应该面对现实,提高处理海量数据的能力;(2) 退一步,该删除哪些数据呢?当前无用的数据将来也无用吗?显然删除数据的成本要大于存储的成本。
如果说数据挖掘研究的是经过清洗的全样本数据 (population),那么统计学研究的则是样本数据 (sample)。事实上,数据挖掘中所使用的数据也是根据特定目的抽取的,但显然它不同于统计中所谓的抽样。我们“没有时间看每一事物,尤其没有时间充分看每一事物,而且因为不看比看错了还有好些,所以他必须做出选择”( H. Poincaré,1913, The Foundations of Science)。
人有从实例中学习的能力,机器学习 (machine learning) 就是模仿人的这种能力,这里的实例也就是所谓的“训练集”。其中,机器学习最初的工具主要就是人工神经网络 (artificial neural networks) 和决策树 (decision trees)。知识发现 (knowledge discovery, KD) 是机器学习的高级阶段。将知识发现技术应用于数据库,即数据库中的知识发现 (knowledge discovery in database, KDD) ,这便是数据挖掘 (DM)。也可以直接将DM看做是KDD的有效手段,或KDD的一个重要步骤:
数据准备→数据挖掘→结果的解释与评价
这类似于“统计分析”在统计流程中的角色:
数据准备→统计分析→结果的解释与评价
Richard等 (2001) 在讲到因子分析的最后时说:“在实际操作中,大多数探索性的因子分析 (attempted factor analysis) 很难产生像书本上的例子一样明确的结果。而且不幸的是,目前评价因子分析质量的准则尚未很好的量化。似乎只能依赖一个‘哇准则’( WOW Criterion),即在仔细进行因子分析的时候,研究者若能喊出‘哇,我明白这些因子’,则应该就算是成功的。”
数据挖掘可以被看做是在寻找模式 (Pattern) 或规则 (rule) 的过程;也可以被看做是一个数据压缩 (Data Deduction; Data Compression)的过程,即将大量细致的数据映射到一个简单的、容易理解的集合,比如,分类实际上就是将数据集映射到一个所谓的类的过程,其中关键是寻找这个映射规则。
科学很大程度上是在寻找现象背后的规律 (不变性),然后用这个规律去解释已有的现象和预测将有的现象。但是我们从数据中挖掘到的规律也并不都是规律,这取决于能否做出合理的解释。或者说,挖掘到的只是一个假设,尚需验证,就好像参数估计之后的假设检验一样。比如根据数据,我们发现火山爆发的次数与冰激凌销量有很大的相关关系,但这只是数据上表现出来的关系,并不存在逻辑关系,而啤酒与尿布的相关关系是可以被解释的,因此后者成为一条规则。
简言之,数据挖掘,就像是矿工采矿、考古学家挖掘有价值的文物一样,它结合知识发现的各种算法、统计学的数据分析方法、可视化 (Visualization) 等各种技术,从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的,但又是潜在有用的信息和知识的过程,并且这个过程不是一蹴而就的,而是多重往复进行的。这里我们有必要再次强调的是:(1) 数据挖掘所获得的知识首先是新奇的 (非常识)、未知的 (样本外的),而且是具体的、直接面向应用的、有特定背景条件的、有特定目标的,比如,数据挖掘的目标是找到更好的客户 (违约风险低、信誉良好),而不是找到任意的新客户;(2) 从获得知识的手段上来讲,虽然是探索性的 (非参数) 而不是验证性的,但仍然需要对结论进行检验、解释和评价。
知识发现是机器学习的高级阶段,如果把数据挖掘放在机器学习(人工智能) 的范畴里面来看,机器学习强调的是算法 (如遗传算法、人工神经网络);如果把数据挖掘放在统计学的范畴里面来看,统计学强调的是模型 (描述变量之间的关联和变化)、推断 (由样本归纳出未知总体的特征)、分类、聚类、时间序列、回归分析、概括等方法。且数据挖掘与统计的研究对象都是数据,目的都是寻找其中的模式和 (统计) 规律。因此数据挖掘兼具了知识发现的技术 (算法) 和统计学的方法,并应用于大规模数据 (仓) 库。