干货来袭:漫谈概率统计方法与因果关系

2023-11-22 00:50

本文主要是介绍干货来袭:漫谈概率统计方法与因果关系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【数据猿导读】 因果关系分析一直以来都是社会经济科学的圣杯,因为社会经济学家关心的不是事物之间如何共同发生的,而是关心事物之间的关系是如何相互传递的


作者 | 数尊数据科学团队

官网 | www.datayuan.cn

微信公众号ID | datayuancn


2017年9月初,人工智能领域的大神级人物Yann LeCun在Cognitive Computational Neuroscience (CCN) 2017上发表了题为《为什么大脑能短时间内学习如此多东西?》的演讲。其中,他表达的对当前业界内概率统计方法应用的隐忧,也许会改变整个人工智能领域的发展方向。简单来说,主流的概率统计方法仅仅是分析的工具,当我们无从窥见或者忽视事件发生的本质,而仅仅关注统计意义上的关系,其结论往往是带有误导性的。但概率统计方法作为工具本没有错,错的是滥用方法草率得出结论的使用者。


在小编看来,LeCun的话大可不必做过多的解读,其实不仅仅局限于人工智能领域,关于概率统计方法的使用的谨慎性讨论早就被各个领域所重视,LeCun的担忧也是特定场景下对方法使用者提出的警醒而不是对概率统计方法敲响的丧钟。为了简明扼要的说明问题,我们绕过复杂的数学证明和枯燥的数值例子,从社会经济学的视角来回顾下关于概率统计方法应用的讨论。


因果关系分析一直以来都是社会经济科学的圣杯,因为社会经济学家关心的不是事物之间如何共同发生的,而是关心事物之间的关系是如何相互传递的。打个简单的比方,假想有一家礼品公司,完全不了解市场的文化习惯,但是他们从大数据发现,每当12月份临近月底的时候公司的礼品销量都会猛增,而过了月底之后数量就会缓慢下降直至正常水平。于是这家礼品公司的市场部门得出一个结论,“我们的礼品销售增量成功诱发了一个叫做圣诞节的特殊日子,我们在未来应该针对这个日期提前做出优化的生产,销售方案”。从预测的角度来看,这么做似乎没有什么错,但是一个社会学家显然不会做出礼品销量的增长引发节庆这样无视因果关系的草率结论。而更多的时候,这个看起来“无害”的预测实际上是有害的。


因为这样的预测成立的条件是,当A导致了B且我们看不到A的时候,用B来估计A。而如果A还没有发生,就用B来预测A,又会怎么样呢?显然,A发生时的B和A事件之前的B是不一样的,因此所谓无害的“预测”(事实上不是对未来的预测,而只是对已发生事件的推断)只存在于我们说的第一种情况,对我们讨论的第二种情况无能为力甚至是有害的。在社会经济学领域,关于这样的讨论非常之多,往往一个谨慎的研究其价值就是成功找到适合的概率统计策略得到正确的因果关系推断。


我们用常用的回归方法为切入来审视这个问题。在回归理论中,最简单的OLS(最小二乘法)的使用必须满足一系列强假设条件,其中一个条件关系到因果关系的推断的正确性,即E(u|X)=0,其数学语言是回归的误差项与输入变量相互独立。当此条件不满足时,就会导致内生性偏差(endogenous bias),见公式1。


显然,当u不独立于X时:

其中等号右的第二项其数学期望不为零,beta参数的最优OLS估计等于真实beta加上一个不为零的偏差项(bias)。那么当u不独立于X意味着什么呢?一般来说有三种可能,1)测量误差(measurement error);2)互为因果(mutual endogeneity);3)不可观测因素同时影响输入(自变量X)与输出变量(因变量y)。我们先跳过第一种情况,重点放在后面两种情况。为了更好的说明问题,小编来举几个栗子:


一个著名的研究是发表在1998年的American economic review 上的文章“Children and their parents' labor supply: evidence from exogenous variation in family size”,作者Angrist (Mostly harmless econometrics作者)and Evans。要解决的问题是研究子女数量对父母的劳动供给的影响。在这个问题里,子女数量与父母劳动力供给的关系也是内生的,为什么这么说呢?因为不仅仅孩子数量多消耗了父母更多的精力以至于降低劳动供给,而劳动供给也会影响父母对孩子数量的选择,况且还有价值观,宗教等许多因素同时影响了劳动力供给与孩子数量。那么Angrist and Evans是如何解决这个问题的呢?他们找到了一个特殊的变量,这个变量叫做工具变量(IV,Instrument variable)。那么这个变量的要求与作用是什么呢?简单说,一个好的工具变量应当是可以有效地解释内生变量X而又只通过内生变量影响y。这么做的结果是什么?当我们用内生变量对IV做回归,并获得这个内生变量在IV上的投影,再放回到原始的回归方程代替原来的内生变量X,因为IV独立于u(且我们知道IV不直接作用于y),因此X在其上的投影也独立于u,所以我们可以发现,beta_ols=beta+0。看,此时beta的OLS估计量等于真实的beta,而原来数学期望不等于零的偏差项的数学期望为零。好了,我们说完理论,那么这个研究高明在哪里呢?就是找到了一个具有说服力的工具变量IV:头两个孩子的性别构成。理论是这样的:父母(当然我们这里说的研究场景是美国而不是中国)一般希望子女性别的构成多样化,所以如果头两胎的孩子性别相同,就会有较高的再生育意愿。而头两胎孩子的性别是完全随机的(姑且这么认为,哪怕美国有些州是允许堕胎的),因此不直接影响父母劳动供给,而只通过数量增加占用父母精力来影响其劳动供给。


类似的有趣研究还有很多,亮点都在于找到一个巧妙的IV变量。我们再结合历史看看这个问题。香港科技大学的龚启圣教授发表的论文“Diffusing knowledge while spreading god's message: Protestantism and economic prosperity in China,1840-1920”中研究了基督教传教对近代中国经济的发展影响。这里学者遇到的问题是传教地区的选择可能与地区经济的自然禀赋相关。那么如何找到一个好的工具变量来识别传教对经济繁荣的贡献呢?龚教授的切入点是一个著名的历史事件:从山东兴起并烧遍中国北方的大部分地区的义和团运动。义和团运动的爆发对传教人员的人身与财产安全带来了巨大的威胁,而运动爆发后鉴于清政府对地方控制能力的降低与义和团运动本身的破坏性,南方诸省地方私自结成联盟保护(东南互保)从北方南逃的传教人员,而不管是义和团的爆发还是东南互保的建立都是独立于地区经济水平的。因此通过东南互保的保护地区识别基督教传教势力的迁徙,进一步识别出传教对地区经济繁荣的影响。可见,如何找到一个具有说服力的工具变量是解释A与B之间因果关系的一个重要方法。这里,我们用一个简单的例子考考大家:当我们想知道粮食产出对价格的影响时,您是否也能找到一个合适的工具变量,既解释了粮食的产量,又不直接影响粮食价格呢?


再回到风控场景下,我们也面临着同样的问题。例如,作为违约行为良好预测依据的负债水平,是风控人员在决策借款人信贷审批时的重要决定因素。然而频繁的举债行为与高违约风险本身都可能是借款人的还款能力变化导致的,又或者是因为借款人的还款意愿发生了变化。因此,过于依赖以负债水平作为新贷款的审批依据就会导致不可观测因素(还款能力变化还是意愿变化?)带来内生估计偏差。因此,为了识别出不同的举债原因,我们没有止步于负债变化这个现象,而是在行为数据中细分出不同的场景,例如我们可以通过借款人的搜索内容来识别还款意愿变化。同时我们也尝试通过收入水平变动来识别还款能力变化。通过这些手段,我们不仅成功地区分了举债行为的原因,更发现了他们导致最终违约行为的不同影响机制,避免了使用因不同原因产生的类似结果来预测违约行为的内生风险。


直到目前为止,我们并没有讨论高深的数学问题,只是应用了简单的概率统计方法避免因为忽视因果关系带来的统计偏差,可见关于概率统计方法导致的谬误信息着实是冤枉了概率统计这个好工具。事实上为了获得因果关系,学者们贡献了大量的研究智慧与精力,发展出五花八门的方法,有如我们之前提到的IV法或DID法,也有更依赖概率统计模型本身达到识别目的的方法。让我们把视角再放大到社会经济学之外更广阔的领域来看概率统计的应用。比如在药物的临床实验设计里,为了获得药物疗效的临床效果统计,实验设计者需要通过各种实验设计手段来保证处理组与对照组之间的可比性,这个可比性的前提就是除了是否给药的事实之外,尽量排除其他干扰因素(著名的Ceteris paribus条件),例如实验样本的选择应当保证尽可能的随机性,使用双盲实验手段排除安慰剂效应与偏见或暗示效应等等手段。通过一系列手段来排除可能对结果产生影响的不可控因素之后才可以获得令人信服的药物疗效统计结果。


可见,这里起到关键作用的不是比较处理组与对照组之间生理指标的t检测,而是其背后科学严谨的实验设计。而回到社会经济学问题或者商业数据挖掘场景来看,正因为我们通常是被动获得数据并加以挖掘,研究者需要面对的数据是远远复杂并且远远“脏”于实验条件下的数据,这就需要研究者在用好概率统计方法的基础上更要对研究或挖掘对象本身拥有更高要求的理解与感悟,否则难免贻笑大方。


注:本文由数尊数据科学团队授权并投递数据猿发布



金猿榜往期的获奖名单,将会在峰会现场隆重发布,期待我们的见面?



这篇关于干货来袭:漫谈概率统计方法与因果关系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/406274

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

SpringBoot中ResponseEntity的使用方法举例详解

《SpringBoot中ResponseEntity的使用方法举例详解》ResponseEntity是Spring的一个用于表示HTTP响应的全功能对象,它可以包含响应的状态码、头信息及响应体内容,下... 目录一、ResponseEntity概述基本特点:二、ResponseEntity的基本用法1. 创

java中判断json key是否存在的几种方法

《java中判断jsonkey是否存在的几种方法》在使用Java处理JSON数据时,如何判断某一个key是否存在?本文就来介绍三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目http://www.chinasem.cn录第一种方法是使用 jsONObject 的 has 方法

java中ssh2执行多条命令的四种方法

《java中ssh2执行多条命令的四种方法》本文主要介绍了java中ssh2执行多条命令的四种方法,包括分号分隔、管道分隔、EOF块、脚本调用,可确保环境配置生效,提升操作效率,具有一定的参考价值,感... 目录1 使用分号隔开2 使用管道符号隔开3 使用写EOF的方式4 使用脚本的方式大家平时有没有遇到自