APP下载

知识发现与数据挖掘在计算社会科学中的应用

2016-03-19舒晓灵朱博文

关键词:因变量数据挖掘变量

舒晓灵,朱博文

(1.美国加州大学 戴维斯分校 加利福尼亚州 95616;2. 武汉大学 社会学系,湖北 武汉 430072)



知识发现与数据挖掘在计算社会科学中的应用

舒晓灵,朱博文

(1.美国加州大学 戴维斯分校 加利福尼亚州 95616;2. 武汉大学 社会学系,湖北 武汉 430072)

一、大数据时代的到来

科技的发展和大量运用网络、电脑、数据感应仪和记录设备使得数据的数量与复杂性呈几何级的快速增长,这使得在有限时间内记录、管理与处理数据更加困难。互联网和数据仪记录了大量数据,提供了前所未有的研究人类行为与态度的机会。手机等移动互联网的的广泛应用,让个体在网络上留下了越来越多的痕迹,如微信、GPS跟踪、Twitter、Facebook、Goolgle Research、网购、购物券、预定外卖,等等。物联网逐步扩大,个体活动范围、活动影响力、电话记录以及对步数、心跳频率、深度睡眠、外出距离时间地点、就餐地点种类频率、购物种类数目数额、朋友圈人数范围与交流内容、自动上传的照片、录音、录像等数字化数据的记载表明,越来越多的终端拥有我们的各式繁复信息数据。如果所有公司合作,那人们每分每秒的信息都有可能被获取,这些数据构建的大量信息可能比人们自己更深度地了解自己。这是很伟大也很令人担忧的一件事情,因为所有的隐私甚至连自己不知晓的一些信息都有可能被某些集体或者公司掌握。这为我们进行科学研究与社会管理带来了前所未有的机遇和挑战。我们面临着一个崭新的时代,数据在科学研究中的作用越来越重要。

基于数据的科学发现将补充传统的基于理论假设的科研。这种不同于传统的研究方式影响着所有的领域,社会科学也不例外。大数据带来了前所未有的机遇与挑战,我们必须慎重考虑其深远影响及意义。大数据时代的到来,大规模数据的涌现,使得某些传统统计方法已不再适用大数据的研究,随之而来的是一种新的知识发现方式出现,即数据挖掘。数据挖掘具有以下三个特性:

1.自动或者半自动化的寻找模式。传统统计方法依赖手动调整模型,这是一个较为漫长的手工过程。数据挖掘发展、应用现成的工具,自动化比较强,可以自动检索、计算,并寻找各种数学模型,能够有效减少知识发现的时间与人力资源成本。

2.跨学科的研究方式。知识发现和数据挖掘是个多学科综合领域,包括统计、计算机科学、机器学习、人工智能、数据库技术、模式识别,等等。而社会科学家们,则在最近几年才将数据挖掘的新技术运用于研究与教学中。面对这种崭新的研究方式,社会科学家们需要加强交流、学习思考、拓宽眼界、拥抱机会、迎接挑战。

3.通过一系列技术,可以发现过去未被发现甚至不可能发现的一些非常有意义的隐藏的模式。这是数据挖掘最有吸引力的地方, 对于各学科创新发展具有深远意义。因为受限于技术的发展,过去没有发现这些信息的基础,无法探寻这些有意义的隐藏于大数据中的规律。

二、知识发现过程中传统统计研究与数据挖掘的差异

在社会科学研究中,基于抽样数据运用传统的统计方式长期统领科学研究。传统科研运用基于理论的假设检实方法。知识发现和数据挖掘将,改变人们沿用了几百年的科研方式:从运用演绎推理方式转换到运用总结归纳法,从注重自变量的统计模型到强调预告能力的新型模型,从运用抽样调查到运用非设计的大型记录数据库。知识发现和数据挖掘在提供史无前例的新潜力的同时,也提出了新挑战和新问题。对大数据进行知识发现相较于传统研究方式而言,有继承、有改变,也有挑战,对它们的不同之处总结如下。

1.传统统计研究主要遵循演绎推理的方式,数据挖则掘强调演绎推理方式与总结归纳方式相结合。

传统科学的训练从理论出发,从广大、抽象的理论形成一个非常具体的假设,根据假设搜集数据和资料,再对搜集的数据进行分析,根据变量构建模型,通过对参数的估计来进行统计推断,验证假设是否成立,最后根据数据分析结果得出结论,这是所谓“自上而下”的演绎推理方式。另外一种是“自下而上”的方式,即总结归纳的方式,从数据出发,从数据中找寻规律,根据规律形成一个临时的假设、设想,在这些规律模式形成完整证据后,再将设想上升到理论的高度。这种研究方式对社会科学家们并不陌生,尤其是做定性研究的社会学家。在实地调查前,可能没有形成很明确的理论框架和概念,并不确定自己能搜集到什么样的信息,所以会先进行实地调查、观察和访谈,获取大量的资料信息,然后对资料进行删选、去除杂音,再从资料信息中找寻其中有意义的规律,最后上升到理论的高度。

传统统计研究以演绎推理方式为主,计算社会科学的知识发现更多的基于数据,但基于数据的研究并非以数据为尊的研究。现在从数据出发的研究常常被很多学者所质疑,认为数据挖掘是由数据牵着鼻子走,什么都是从数据出发,没有理论、没有假设、没有想法,这其实是一种很大的误解。实际上,数据挖掘不是由数据来统领的研究,也不光是探索性的研究,这是需要澄清的。做数据挖掘的学者需要强大、深厚的理论基础,如果仅仅是电脑专家,只懂数据,不了解社会科学相关专业领域知识是无法完成这个任务的。数据挖掘过程需要具有深厚理论背景的专家来指导,其研究过程既是总结归纳法,也是演绎推理法,是一种双向同时进行的过程。这是一个由数据到规律到理论,然后又从理论重新设计再到数据分析再证实理论的一个过程,有时候这个过程在一个研究项目中就进行了,有时候可以把数据分成好几个部分,一部分数据采用归纳的方式进行研究,一部分数据采用演绎的方式进行研究。有时候完成整个研究过程需要一系列的项目,所以数据挖掘并非我们所想象的那样,只不过是由数据来统领的研究过程,它仍然是需要理论基础和相关领域专家导航的研究过程。

二十年前的电脑信息学专家就曾提出一个知识发现过程模式,此模式提出在数据研究、知识发现方面的八个步骤:(1)雄厚的专业背景知识;(2)选择一个数据集;(3)对数据进行预处理,将数据中的杂质、无关信息进行处理;(4)数据简化,尤其是数据非常庞大繁杂的时候;(5)寻找数据挖掘的方式;(6)选择数据挖掘的算法;(7)进行数据挖掘;(8)对数据挖掘的结果进行解释。这些步骤并不是一个循序往下的流水过程,而是一个反复的过程,当你发现从1到2是错误的时候,你需要思考自己的专业背景知识与所选择的数据集是否合适,每一个步骤都是可以重复的,即使当你已经进行到了第7步,当你发现有问题,你仍可能需要返回第2步,重新选择数据集。

上面提到的这个模式是最早的模式,最近几年,这个模式被简化成六步:(1)能够专业地理解研究问题。主要体现在以下几个方面:研究主题、研究对象、目标已经确定,相关研究领域的知识以及专业术语都已经掌握,研究问题已经转化成了可以进行数据挖掘的对象,数据挖掘工具已经选择;(2)对数据有足够的了解。搜集数据,检查数据的完整性,是否存在冗馀或者缺失,等等;(3)将数据准备好。进行抽样,分析变量之间的相关性,进行显著性检验和数据清理。也可以通过使用特征选择或者抽取算法来对数据进行处理,减少数据的维度;(4)进行数据挖掘。研究者运用不同的数据挖掘方法从已经清理的数据中发现知识;(5)对数据挖掘结果进行评价。理解数据挖掘结果,将所发现的知识与以往的研究相比较,看是否找到了有意义的新发现;(6)运用所发现的知识。计划在何处以及如何使用所发现的知识,包括在其他领域进行推广。

每个步骤都有回溯至上一步甚至好几步的过程。所以研究的过程并不是简单的、很顺畅的从第一步走到最后一步,而是一个循环往复、不断推倒重来的过程。比如在进行第2步理解数据时,需要再回到第一步,掌握其他专业领域的知识,才能更好地理解数据。在进行第3步准备数据时,可能需要回到第2步,因为需要根据数据的其他信息,运用独特的算法来更好地处理数据。在进行第4步数据挖掘时,可能需要回到1步,重新了解研究问题,因为我们无法通过已选择的数据挖掘方式获取满意的结果,此时研究目标需要进行调整。但发现数据很难理解导致运用了错误的数据挖掘算法时,也需要回到第2步,重新理解数据。当进行到第4步数据挖掘,发现一种特殊算法需要特殊数据时,需要返回准备数据阶段,重新准备相应的数据。在第5步评价所发现的知识时,可能需要返回至第4步,甚至可能需要返回至第1步。当所发现的知识并不新颖,也没有趣或者没有意义时,需要重新选择数据挖掘工具,然后回到第4步,重复数据挖掘步骤。由于错误地解读研究问题或者是错误的研究设计,没有理解研究问题的限制、需求或者目标导致所发现的知识无效时,整个知识探索过程需要重新再来一遍。

因此,合适的数据挖掘研究需要遵循以下几点:数据挖掘前,有确定的理论框架、相关的经验证据以及相关领域专家的指导;数据挖掘过程中,理论和数据需要进行互动,而不是单纯的按照理论进行或者仅从数据的角度考虑;数据挖掘后,分析得出的结论应具有普适性,而不是仅仅只适合此项数据。此外,数据挖掘的结论能够被经验证据和理论框架所解释。

2.传统统计模型强调单个自变量对因变量的主要作用,数据挖掘模型则强调多个因素的共同作用。

因果关系,通常是多个自变量联合起来共同对因变量产生作用的结果,而一个自变量单独引起因变量变化的情况是很罕见的。历史社会学家通常研究多个历史原因联合作用,比如哈佛历史社会学家斯科克波在研究比较中国、法国、俄国大革命的差异时,提出革命的发生存在两个联合的充分条件,只要同时满足这两个条件,就会发生大革命。第一个条件是国家危机爆发;第二个是领导阶层的涌现。这与我们传统统计研究不一样,传统统计往往研究当A变量出现时,比如说40%的可能会出现B变量,研究单个变量对另一变量的影响,可能性是百分之多少,而不是研究当A、B变量同时作用或者C、D变量同时作用时,事件发生的概率是百分之百的绝对性。也是由于此原因,许多历史社会学家对单原因模型往往持批判态度,他们认为在影响事物发展的诸多变量中,单独选择某一个变量,分析其影响事物发展的几率并不充分。

社会事实证明,几乎所有的因果关系都是很多因素共同作用的结果,这些因素是同时的、必需的而且是充分的条件。这是什么意思呢?就如同下面这个公式所表达的那样,P[y|(AnB)u(MnN)u(UnV)] = 1,当A和B两个条件同时满足,或者M和N两个条件同时满足,或者U和V两个条件同时满足时,Y事件发生的概率为1,即Y事件必定会发生。比如房屋着火是事件Y,当线路短路(A)和附近有易燃物质(B)两个条件同时满足时,房子会着火,或者是被雷击(M)和附近有易燃物质(N)两个条件同时满足时,房子会着火,等等。也就是说多个因素同时存在且必须多个因素同时存在时,某一事件一定会发生,这就是我们日常生活中的因果关系。

但是,在进行统计研究时,却并非按照此逻辑进行。我们会把因素A(线路短路)挑选出来,研究因素A(线路短路)发生时,Y事件(房屋着火)发生的概率是百分之几,在做结论时,就认为因为A因素存在,所以Y事件发生。所以,在哲学家看来,统计学中研究的因果关系乃是非必需非充分的,它只是由诸多子条件联合构成充分条件中的其中一个子条件。所以,在统计学中,研究的因果关系往往是事件发生的可能性而非绝对性。

针对多因素共同作用的社会事实,数据挖掘可以通过数据挖掘工具报告多个变量之间的交互关系,从而解决多个自变量共同作用于因变量的问题。很多学者认为可以通过对因素A和因素B采取交互效应分析解决A和B同时发生的问题,但若自变量较多,则会产生大量的交互项,如一个模型有三个自变量就会有四个交互项(三个二维交互项和一个三维交互项),加上变量本身,模型中将会有7个自变量,而我们在实际研究中,所构建的模型涉及的自变量都是十几个或者几十个,如果做交互分析的话,产生的交互变量会非常之多,所以在实际分析中,我们很少对所有自变量的交互项进行分析。在社会学研究当中,很少有研究会关注交互项的分析,大部分研究关注的都是主效应的分析。另外,很多情况下,大家忽视了社会的多样性,用标准化的社会科学对策来处理复杂多样的影响。在研究时,将男的、女的、老的、少的、富的、穷的、黑人、白人等不同特性的人群同质化处理,仅仅通过平均效应来评估主效应的影响,认为平均效应是显著的,那么理论就是可以成立的。但事实上,许多理论并不具有普适性,面对不同的历史阶段、不同国家、不同民族、不同人群,同一理论的适用情况是不一样的,很多理论仅适合部分情况或族群。

在基于数据挖掘的知识发现过程中,在对变量之间的关系进行预测时,数据挖掘技术可以把成千上万的交互关系进行自动检测,然后报告需要注意的交互关系。但这并不意味着可以直接将数据挖掘处理的结果直接拿来使用,这只是机器处理的结果,给你提供一个参考性的建议,至于这些交互关系是否具有实际意义、在模型中如何使用,仍然需要有思想的人来决定。这种技术处理能力可以为研究者节约大量时间。此外,在神经网络的预测模型中,神经网络能够自动生成许多复杂的交互关系。神经网络是一种新的计算机技术,具有十层或者二十层的神经网络,里面包含非常复杂的关系。由于数据挖掘模型可以考虑很复杂的相互关系,所以数据挖掘所建构的模型与实际数据的因变量结果匹配度非常高,往往达到80%或者90%,所以模型的预测力非常强。

3.传统统计方法构建的模型,强调自变量与因变量之间的系数,而基于数据挖掘的知识发现更强调模型预测力。

社会科学家和行为科学家强调单个预测因素的影响,即变量A与事件Y的相关系数,表明自变量一个单位的变化,因变量将变化多少。研究中很大的部分都是在考虑这个问题。社会科学家更加重视因变量与自变量之间的因果关系,理解其中的因果机制,不重视模型的解释力。测量误差或者是未解释的残差可以很大,R Square可以很小,这被认为是正常、合理的情况。因此绝大多数传统统计模型的解释力通常低于25%,有些甚至低于10%。

数据挖掘不注重自变量与因变量之间的系数,因为使用大数据的统计模型,所有自变量参数都具有显著性。但是,数据挖掘很重视整个模型的解释力,将准确预测视为最重要的目标。相对于传统统计模型,数据挖掘能够通过综合运用不同的方法使整个模型的预测能力达到最大,从而为模型提供更强的解释力。而且,随着数据挖掘工具的发展,它能够提供更多有关因果机制的信息,这将极大地改变科学研究方式。

4.传统统计模型更多关注线性关系,极少关注非线性关系,数据挖掘则自动考虑变量的形式转换,因而能够更多地解读自变量与因变量之间的非线性关系。

在传统统计研究中,连续型变量和数值型变量通常进入线性回归模型中进行分析,除了年龄、收入、GDP等变量会进行平方处理,研究非线性关系,其他大部分连续变量研究的都是线性关系。这是为什么呢?因为在大量的自变量与因变量之间寻找非线性关系,需要耗费大量时间去探索分析,而且大量的传统统计分析都是建立在线性关系的校正矩阵上。但现实生活中,诸多变量之间的关系并非简单的线性关系,而是非线性关系,简单的线性函数无法描述现实生活中的各种曲线关系。

针对传统统计研究的不足,数据挖掘工具提供了很多可视化工具,通过这些可视化工具可以发现自变量与因变量之间的很多非线性关系。在数据挖掘程序中,针对连续变量的非线性关系,它会自动生成节点,这样我们能够更好地观测其中的非线性关系。例如,现在最新版本的SPSS可以自动提供变量的集中程度和离散程度,按照节点或者按照自变量与因变量之间的关系自动生成一系列的输出变量,这样就可以将自变量与因变量之间非线性的关系自动生成表示出来,供研究者参考,节约大量人力物力。

三、数据挖掘面临的挑战

虽然数据挖掘弥补了传统统计研究的一些缺陷,为发现有意义的新问题、新想法提供了巨大机遇,却也提出了新挑战和新问题。我们需要运用创新思维来享受其优越性,并同时弥补其缺陷,解决新问题,迎接新挑战。

众所周知,统计推断是建立在随机样本的基础上,传统统计研究的样本是通过精心设计的抽样方式进行的系统调查所获得。而在大数据时代,互联网的发展、物联网的不断普及,大量的数据可以从已有的数据库中获取,数据样本主要来源于大型数据库,所获取的样本为“方便”样本。虽然通过大型数据库能够获取大量的样本数据,但这并非总体数据,也不是统计学家精心设计的抽样样本, 因此存在一个问题,这种“方便”样本的代表性如何?为什么以这些样本为数据进行研究?答案并不清楚,所以,如前所述,显著性测试并不适合大数据“方便”样本。数据挖掘然存在样本代表性问题,但并非无计可施,现已有一些技术方法能够处理,如复制、交叉验证、自助法(bootstrapping)、非参数法。复制是用不同的数据检测模型,确立样本代表性,防止模型过度吻合数据(overfitting),保障模型的可靠性与普遍性。交叉验证是指将样本分为训练样本、调节样本(tuning sample)、测验样本。利用训练样本对模型进行训练,利用调节样本对模型进行调节,最后利用测验样本对模型进行验证。自助法是指从样本中有放回的随机抽样,计算每次抽样的统计量,对统计量进行排序,在一定的显著性水平下寻找置信区间,对样本的显著性进行检验。非参数方法主要是针对研究总体分布未假定的情况下,通过样本本身的信息进行估计和推断,包括核回归估计法、局部多项式估计法,等等。

在建构模型的过程中,虽然数据挖掘能够提供很强的解释力,但是其自变量之间的关系非常复杂,比如神经网络中的一些交互关系,我们仅仅知道神经网络处理之后的结果,但对其中的过程并不清楚,其中的一些相互关系我们甚至无法通过经验证据和理论框架进行解释。所以,虽然神经网络具有很强的学习适应能力,能够对多种数据信息进行处理,尤其是在模式识别、人工智能和信息处理等方面,但却常被大家质疑,因为黑匣子中的处理过程,我们无从知晓。数据挖掘模型有强大的解释力与预测力,这是很有吸引力的。如果这样的模型能提供因果关系机制, 将极大地改变科学研究方式。

2016-10-12

国家社科基金重大项目“大数据时代计算社会科学的产生、现状与发展前景研究”(16ZDA086)的阶段性成果。

舒晓灵(1968-),女,美国华裔学者,加州大学戴维斯分校社会学系教授,系副主任。研究方向:定量研究方法、计算机仿真;朱博文(1974-),女,湖南邵东人,武汉大学社会学系博士生。研究方向:经济社会学、空间社会学。

猜你喜欢

因变量数据挖掘变量
调整有限因变量混合模型在药物经济学健康效用量表映射中的运用
抓住不变量解题
探讨人工智能与数据挖掘发展趋势
也谈分离变量
适应性回归分析(Ⅳ)
——与非适应性回归分析的比较
偏最小二乘回归方法
基于并行计算的大数据挖掘在电网中的应用
一种基于Hadoop的大数据挖掘云服务及应用
分离变量法:常见的通性通法
高级数据挖掘与应用国际学术会议