前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >北大老鸟三年数据分析深刻总结——致学弟学妹们

北大老鸟三年数据分析深刻总结——致学弟学妹们

作者头像
机器学习AI算法工程
发布2018-03-09 18:22:02
3.1K0
发布2018-03-09 18:22:02
举报
文章被收录于专栏:机器学习AI算法工程

以下是我在近三年做各类计量和统计分析过程中感受最深的东西,或能对大家有所帮助。当然,它不是ABC的教程,也不是细致的数据分析方法介绍,它只是“总结”和“体会”。由于我所学所做均甚杂,我也不是学统计、数学出身的,故本文没有主线,只有碎片,且文中内容仅为个人观点,许多论断没有数学证明,望统计、计量大牛轻拍。

关于软件

于我个人而言,所用的数据分析软件包括EXCEL、SPSS、STATA、EVIEWS。在分析前期可以使用EXCEL进行数据清洗、数据结构调整、复杂的新变量计算(包括逻辑计算);在后期呈现美观的图表时,它的制图制表功能更是无可取代的利器;但需要说明的是,EXCEL毕竟只是办公软件,它的作用大多局限在对数据本身进行的操作,而非复杂的统计和计量分析,而且,当样本量达到“万”以上级别时,EXCEL的运行速度有时会让人抓狂。

SPSS是擅长于处理截面数据的傻瓜统计软件。首先,它是专业的统计软件,对“万”甚至“十万”样本量级别的数据集都能应付自如;其次,它是统计软件而非专业的计量软件,因此它的强项在于数据清洗、描述统计、假设检验(T、F、卡方、方差齐性、正态性、信效度等检验)、多元统计分析(因子、聚类、判别、偏相关等)和一些常用的计量分析(初、中级计量教科书里提到的计量分析基本都能实现),对于复杂的、前沿的计量分析无能为力;第三,SPSS主要用于分析截面数据,在时序和面板数据处理方面功能了了;最后,SPSS兼容菜单化和编程化操作,是名副其实的傻瓜软件。

STATA与EVIEWS都是我偏好的计量软件。前者完全编程化操作,后者兼容菜单化和编程化操作;虽然两款软件都能做简单的描述统计,但是较之SPSS差了许多;STATA与EVIEWS都是计量软件,高级的计量分析能够在这两个软件里得到实现;STATA的扩展性较好,我们可以上网找自己需要的命令文件(.ado文件),不断扩展其应用,但EVIEWS就只能等着软件升级了;另外,对于时序数据的处理,EVIEWS较强。

综上,各款软件有自己的强项和弱项,用什么软件取决于数据本身的属性及分析方法。EXCEL适用于处理小样本数据,SPSS、STATA、EVIEWS可以处理较大的样本;EXCEL、SPSS适合做数据清洗、新变量计算等分析前准备性工作,而STATA、EVIEWS在这方面较差;制图制表用EXCEL;对截面数据进行统计分析用SPSS,简单的计量分析SPSS、STATA、EVIEWS可以实现,高级的计量分析用STATA、EVIEWS,时序分析用EVIEWS。

关于因果性

做统计或计量,我认为最难也最头疼的就是进行因果性判断。假如你有A、B两个变量的数据,你怎么知道哪个变量是因(自变量),哪个变量是果(因变量)?

早期,人们通过观察原因和结果之间的表面联系进行因果推论,比如恒常会合、时间顺序。但是,人们渐渐认识到多次的共同出现和共同缺失可能是因果关系,也可能是由共同的原因或其他因素造成的。从归纳法的角度来说,如果在有A的情形下出现B,没有A的情形下就没有B,那么A很可能是B的原因,但也可能是其他未能预料到的因素在起作用,所以,在进行因果判断时应对大量的事例进行比较,以便提高判断的可靠性。

有两种解决因果问题的方案:统计的解决方案和科学的解决方案。统计的解决方案主要指运用统计和计量回归的方法对微观数据进行分析,比较受干预样本与未接受干预样本在效果指标(因变量)上的差异。需要强调的是,利用截面数据进行统计分析,不论是进行均值比较、频数分析,还是方差分析、相关分析,其结果只是干预与影响效果之间因果关系成立的必要条件而非充分条件。类似的,利用截面数据进行计量回归,所能得到的最多也只是变量间的数量关系;计量模型中哪个变量为因变量哪个变量为自变量,完全出于分析者根据其他考虑进行的预设,与计量分析结果没有关系。总之,回归并不意味着因果关系的成立,因果关系的判定或推断必须依据经过实践检验的相关理论。虽然利用截面数据进行因果判断显得勉强,但如果研究者掌握了时间序列数据,因果判断仍有可为,其中最经典的方法就是进行“格兰杰因果关系检验”。但格兰杰因果关系检验的结论也只是统计意义上的因果性,而不一定是真正的因果关系,况且格兰杰因果关系检验对数据的要求较高(多期时序数据),因此该方法对截面数据无能为力。综上所述,统计、计量分析的结果可以作为真正的因果关系的一种支持,但不能作为肯定或否定因果关系的最终根据。

科学的解决方案主要指实验法,包括随机分组实验和准实验。以实验的方法对干预的效果进行评估,可以对除干预外的其他影响因素加以控制,从而将干预实施后的效果归因为干预本身,这就解决了因果性的确认问题。

关于实验

在随机实验中,样本被随机分成两组,一组经历处理条件(进入干预组),另一组接受控制条件(进入对照组),然后比较两组样本的效果指标均值是否有差异。随机分组使得两组样本“同质”,即“分组”、“干预”与样本的所有自身属性相互独立,从而可以通过干预结束时两个群体在效果指标上的差异来考察实验处理的净效应。随机实验设计方法能够在最大程度上保证干预组与对照组的相似性,得出的研究结论更具可靠性,更具说服力。但是这种方法也是备受争议的,一是因为它实施难度较大、成本较高;二是因为在干预的影响评估中,接受干预与否通常并不是随机发生的;第三,在社会科学研究领域,完全随机分配实验对象的做法会涉及到研究伦理和道德问题。鉴于上述原因,利用非随机数据进行的准实验设计是一个可供选择的替代方法。准实验与随机实验区分的标准是前者没有随机分配样本。

通过准实验对干预的影响效果进行评估,由于样本接受干预与否并不是随机发生的,而是人为选择的,因此对于非随机数据,不能简单的认为效果指标的差异来源于干预。在剔除干预因素后,干预组和对照组的本身还可能存在着一些影响效果指标的因素,这些因素对效果指标的作用有可能同干预对效果指标的作用相混淆。为了解决这个问题,可以运用统计或计量的方法对除干预因素外的其他可能的影响因素进行控制,或运用匹配的方法调整样本属性的不平衡性——在对照组中寻找一个除了干预因素不同之外,其他因素与干预组样本相同的对照样本与之配对——这可以保证这些影响因素和分组安排独立。

随机实验需要至少两期的面板数据,并且要求样本在干预组和对照组随机分布,分析方法就是DID(倍差法,或曰双重差分法);准实验分析用截面数据就能做,不要求样本在干预组和对照组随机分布,分析方法包括DID(需两期的面板数据)、PSM(倾向性得分匹配法,需一期的截面数据)和PSM-DID(需两期的面板数据)。从准确度角度来说,随机实验的准确度高于准实验和非实验分析。

关于分析工具的选择

如果根据理论或逻辑已经预设了变量间的因果关系,那么就无需使用实验方法。我对非实验数据分析工具的选择原则如下:

  • 因变量为连续变量,自变量至少有一个连续变量,进行多元线性回归;
  • 因变量为连续变量,自变量全部为分类变量,进行方差分析;
  • 因变量为分类变量,自变量至少有一个连续变量,使用Logit模型或Probit模型;
  • 因变量为分类变量,自变量全部为分类变量,进行交叉表分析和卡方检验;
  • 因变量在某个闭区间内分布,并且有较多样本落在闭区间的边界上,使用Tobit模型;
  • 因变量不唯一,如多产出问题,进行数据包络分析(DEA);
  • 因变量为整数、数值小、取零个数较多,使用计数(Count)模型;
  • 数据具有层次结构(嵌套结构),使用多层线性模型(HLM)。

随着统计和计量经济学的发展,各种前沿分析工具层出不穷,但我认为最靠谱的分析工具不外乎以下四种:DID(针对随机实验),多元线性回归,固定效应变截距模型(FE,针对面板数据),Logit模型或Probit模型(针对分类因变量数据)。其他方法或适用条件苛刻,或分析过程折腾,或方法本身不可靠(尤其是聚类分析、判别分析,超级不靠谱),因此能用以上四种方法分析问题时,不必为“炫方法”而瞎折腾。

关于拟合优度、变量选择原则及估计值绝对大小的意义

在人人的“数据分析”小站中,某同学提出这样一个问题:“多元回归分析中,怎么选择自变量和因变量,可以使R方达到80%以上?”

很显然,问这个问题的同学要么没学好计量,要么就是犯了功利主义的错误,或者二者皆有。拟合优度的大小很大程度上取决于数据本身的性质。如果数据是时序数据,只要拿有点相关关系的变量进行回归就能使拟合优度达到80%以上,但这样的高R方根本说明不了什么,很可能使分析者陷入伪回归的陷阱,严谨的做法当然是做平稳性检验和协整检验;如果是截面数据,根本没必要追求R方到80%的程度,一般来说,有个20%、30%就非常大了。

如果一定要增大R方,那么最应该做的的确是对纳入模型的变量进行选择。选择纳入模型的原则我认为有三条。第一,从理论和逻辑出发,将可能影响因变量的变量作为自变量纳入模型,即理论上或逻辑上能影响因变量的自变量必须纳入模型,即使该自变量的回归系数不显著。第二,奥姆剃刀原则——如无必要,勿增实体,即理论上或逻辑上不能影响因变量的自变量不能纳入模型,即使该自变量的回归系数显著。第三,防止纳入具有多重共线性的自变量。

前面说了,对截面数据进行计量分析,R方能达到20%、30%是非常了不起的事情。但是,如果拟合优度(或类似拟合优度的指标)在20%、30%或更低时,回归系数只具有定性或定序上的意义,强调其绝对数值的大小没什么意义。譬如lnY=alnA+blnB+…+zlnZ+c回归的R方为20%,a为0.375,b为0.224,且二者的T检验显著,那么我们可以说,A、B对Y有影响,也可以说一百分点的A变化对Y的影响大于一百分点的B变化对Y的影响(控制其他因素的情况下),但说一百分点的A变化对Y的影响较一百分点的B变化对Y的影响大0.151%,就没什么意义了。

其他一些建议或忠告

用心思考变量间的因果关系:是A影响了B还是B影响了A?A、B之间是否真的有因果关系?是否存在C,使C既影响A又影响B,而A、B本身无直接关系?

仔细选择自变量,不要遗漏重要变量,否则会造成内生性问题。如果遇上了内生性问题,先不要忙着寻找工具变量或使用2SLS,寻找被遗漏的变量才是最重要的事情。如果被遗漏的变量即使找到却囿于各种困难无法纳入分析,而你又忽然想到了一个绝佳的工具变量,那么恭喜你,你可以在核心期刊发文章了!

一定要控制其他可能对因变量产生影响的因素,并认识到对回归系数和偏相关分析结果的解释都是建立在“其他条件不变”的情况之下。

看到R方很大时不要忙着高兴,如果F检验显著而T检验不显著,很可能存在多重共线性。看到t值很大时,也不要忙着高兴,因为这很可能是伪回归的产物;如果此时DW值很小(小于0.5),那么伪回归的可能性进一步变大。

均值比较虽然简单却考验分析者的严谨性。两个看似不同的平均数、中位数或比率是否意味着高下有别?样本取自独立总体还是相关总体?方差“齐”或“不齐”?比较的是平均数、中位数还是比率差异?

样本量限制了所能做的分析,小样本时请珍惜自由度;不要用小于30个样本的数据进行计量分析(尤其是时序分析)和复杂的统计分析;不要以为能从小于或等于5期的数据中看出什么“发展趋势”;不要没有依据的使用复杂的模型和分析方法;不要将一目了然的简单问题故意复杂化。

最重要的,不要造假!不对数据本身造假,也不对分析结果造假!数据分析前可以进行一定的清洗,将奇异值去掉,也可以尝试对未预料到的分析结果进行探讨和解释,但如果去改数据改分析结果,那还有什么必要进行数据分析呢?直接编文章编报告不就得了?某些“诡异的”、不合常理的数据分析结果,很可能就是研究最重要的所得。

以上,如有错误,敬请指正。

后记:

过完年就要去工作了,每想及此就颇为伤感。在北大两年多,除了让自己更加理想主义外,除了爱上燕园的学术氛围和结识到一些好朋友好师长外,我学到并且目前还记得的知识并不多,且这些知识大多停留在“术”的层面。当然,“术”之道亦博大精深,我所掌握的不足万一。之所以还敢写下上面的文字贻笑大方,是想为需要的人提供帮助,也是以此形式悼念自己逝去的大学时光。感谢丁延庆老师,感谢邵宜航老师,感谢所有给我以指导和帮助的师长与朋友。(作者:吴宇川 36大数据)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据挖掘DT数据分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档