(Granger Causality)
格兰杰(Granger)于 1969 年提出了一种基于“预测”的因果关系(格兰杰因果关系),后经西蒙斯(1972 ,1980)的发展,格兰杰因果检验作为一种计量方法已经被经济学家们普遍接受并广泛使用,尽管在哲学层面上人们对格兰杰因果关系是否是一种“真正”的因果关系还存在很大的争议。
简单来说它通过比较“已知上一时刻所有信息,这一时刻X的概率分布情况”和“已知上一时刻除Y以外的所有信息,这一时刻X的概率分布情况”,来判断Y对X是否存在因果关系。(在发展和简化版本中:“所有信息”这个理论上的过强条件被减弱,比较概率分布这个困难的操作也被减弱)
它的主要使用方式在于以此定义进行假设检验,从而判断X与Y是否存在因果关系。
 
要探讨因果关系,首先当然要定义什么是因果关系。这里不再谈伽利略抑或休谟等人在哲学意义上所说的因果关系,只从统计意义上介绍其定义。
从统计的角度,因果关系是通过概率或者分布函数的角度体现出来的:在宇宙中所有其它事件的发生情况固定不变的条件下,如果一个事件A的发生与不发生对于另一个事件B的发生的概率(如果通过事件定义了随机变量那么也可以说分布函数)有影响,并且这两个事件在时间上有先后顺序(A前B后),那么我们便可以说A是B的原因。早期因果性是简单通过概率来定义的,即如果P(B|A)>P(B)那么A就是B的原因(Suppes,1970);然而这种定义有两大缺陷:一、没有考虑时间先后顺序;二、从P(B|A)>P(B)由条件概率公式马上可以推出P(A|B)>P(A),显然上面的定义就自相矛盾了(并且定义中的“>”毫无道理,换成“<”照样讲得通,后来通过改进,把定义中的“>”改为了不等号“≠”,其实按照同样的推理,这样定义一样站不住脚)。
事实上,以上定义还有更大的缺陷,就是信息集的问题。严格讲来,要真正确定因果关系,必须考虑到完整的信息集,也就是说,要得出“A是B的原因”这样的结论,必须全面考虑宇宙中所有的事件,否则往往就会发生误解。最明显的例子就是若另有一个事件C,它是A和B的共同原因,考虑一个极端情况:若P(A|C)=1,P(B|C)=1,那么显然有P(B|AC)=P(B|C),此时可以看出A事件是否发生与B事件已经没有关系了。
因此,Granger于1967年提出了Granger因果关系的定义(均值和方差意义上的均值因果性)[2]  并在1980年发展将其进行了扩展(分布意义上的全民因果性)[3]  ,他的定义是建立在完整信息集以及发生时间先后顺序基础上的。
从便于理解的角度上按照从一般到特殊的顺序讲:
最一般的情况是根据分布函数(条件分布)判断。约定

  

是到n期为止宇宙中的所有信息,

  

为到n期为止所有的

 

(t=1…n),

  

为第n+1期X的取值,

  

为除Y之外的所有信息。Y的发生影响X的发生的表达式为:

后来认为宇宙信息集是不可能找到的,于是退而求其次,找一个可获取的信息集J来替代Ω:
再后来,大家又认为验证分布函数是否相等实在是太复杂,于是再次退而求其次,只是验证期望是否相等(这种叫做均值因果性,上面用分布函数验证的因果关系叫全面因果性):
也有一种方法是验证Y的出现是否能减小对

  

的预测误差,即比较方差是否发生变化:

检验

(Granger Causality Test)
上面因果关系的最后一种表达方法已经接近我们最常用的格兰杰因果检验方法,统计上通常用残差平方和来表示预测误差,于是常常用X和Y建立回归方程,通过假设检验的方法(F检验)检验Y的系数是否为零。[1] 
可以看出,我们所使用的Granger因果检验与其最初的定义已经偏离甚远,削减了很多条件(并且由回归分析方法和F检验的使用我们可以知道还增强了若干条件),这很可能会导致虚假的因果关系。因此,在使用这种方法时,务必检查前提条件,使其尽量能够满足。此外,统计方法并非万能的,评判一个对象,往往需要多种角度的观察。正所谓“兼听则明,偏听则暗”。诚然真相永远只有一个,但是也要靠科学的探索方法。
 
 

Granger Causality 格兰杰因果关系的更多相关文章

  1. 漫谈格兰杰因果关系(Granger Causality)——第一章 野火烧不尽,春风吹又生

    2017年7月9日上午6点10分,先师胡三清同志--新因果关系的提出者.植入式脑部电极癫痫治疗法的提出者.IEEE高级会员,因肺癌医治无效于杭州肿瘤医院去世,享年50岁.余蒙先师厚恩数载,一朝忽闻先师 ...

  2. 格兰杰因果 Granger causality

    格兰杰因果关系(Granger causality )是基于预测的因果关系统计概念.根据格兰杰因果关系,如果信号X1“格兰杰Causes”(或“G-Causes”)信号X2,则X1的过去值应该包含有助 ...

  3. VAR模型学习笔记

    目录 1 定义 VAR模型的具体步骤 建模步骤及公式 代码实现 1 定义 VAR模型除了分析自身滞后项的影响外,还分析其他相关因素的滞后项对未来值产生的影响参考 用来分析随机扰动对系统的动态冲击的大小 ...

  4. 《零起点,python大数据与量化交易》

    <零起点,python大数据与量化交易>,这应该是国内第一部,关于python量化交易的书籍. 有出版社约稿,写本量化交易与大数据的书籍,因为好几年没写书了,再加上近期"前海智库 ...

  5. Econ 493 A1 - Fall 2019

    Econ 493 A1 - Fall 2019Homework 4Assignment InformationThis assignment is due on Monday November 18 ...

  6. Causal Corpus 事件因果关系语料统计

    Causal Corpus 事件因果关系语料统计 本文是对因果关系抽取领域数据库标注及开源情况的统计.除了对因果关系的标注,一些类似的语料也包含在内,从而为语料的使用提供灵活性,可以根据不同的目标选取 ...

  7. 有相关性就有因果关系吗,教你玩转孟德尔随机化分析(mendelian randomization )

    流行病学研究常见的分析就是相关性分析了. 相关性分析某种程度上可以为我们提供一些研究思路,比如缺乏元素A与某种癌症相关,那么我们可以通过补充元素A来减少患癌率.这个结论的大前提是缺乏元素A会导致这种癌 ...

  8. VAR向量自回归模型学习笔记2

    向量自回归模型 今天的你 和昨天的你 和前天的你,是否具有相关性. 1. 定义 向量自回归(VAR,Vector Auto regression)分析联合内生变量间的动态关系 联合:n个变量间的相互影 ...

  9. Vector Clock/Version Clock

    physical clock 机器上的物理时钟,不同的机器在同一个时间点取到的physical clock不一样,之间会存在一定的误差,NTP可以用来控制这个误差,同一个机房内的机器之间的时钟误差可以 ...

随机推荐

  1. 7、Shiro加密和加盐

    这里我们以md5加密方法举例,首先我们写一个main方法测试我们的密码经过md5加密之后的得到什么样的字符串: /** * 书写方法测试Md5Hash将密码“houru”加密之后的密文 * 但是仅仅加 ...

  2. 看看 Delphi XE2 为 VCL 提供的 14 种样式

    看看 Delphi XE2 为 VCL 提供的 14 种样式 其实只提供了 13 个 vsf 样式文件, 还有默认的 Windows 样式, 共 14 种. 在空白窗体上添加 ListBox1 等控件 ...

  3. Windows下对函数打桩,及Linux类似技术

    一个简单的桩实现类: #define JMPCODE_LENGTH 5 //x86 平坦内存模式下,绝对跳转指令长度 #define JMPCMD_LENGTH 1 //机械码0xe9长度 #defi ...

  4. Elasticsearch入门(二)

    基础概念 Elasticsearch有几个核心概念,从一开始理解这些概念会对整个学习过程有莫大的帮助. 接近实时(NRT) Elasticsearch是一个接近实时的搜索平台.这意味着,从索引一个文档 ...

  5. cocos2dx基础篇(17) 音乐音效SimpleAudioEngine

    [3.x]     (1)获取单例:sharedEngine() 改为 getInstance()     (2)实现了:音量的调节.     (3)修改了播放音效 playEffect() 的参数: ...

  6. Scratch少儿编程系列:(八)演奏简单音乐

    一.程序说明 本程序,用来演奏简单音乐. 二.制作过程 1. 场景和角色的选择 场景选择“音乐和舞蹈”主题下的“party root”,角色沿用默认角色,如下图: 选择后效果如下图: 2. 切换到“脚 ...

  7. [Web 前端] 022 js 的基本数据类型及使用

    1. Javascript 基本数据类型 1.1 分类 类型 释义 boolean 布尔类型,分 true 与 false number 整型,浮点型 string 字符类型 object 对象类型 ...

  8. java常用类之BigDecimal

    BigDecimal 小数计算丢失精度问题 在计算机中,所有文件都是以二进制存储的,数字运算也是使用二进制进行计算的,因为计算机中不存在小数点,所以我们通常说的浮点数如float.double都是计算 ...

  9. [Codeforces 1228E]Another Filling the Grid (排列组合+容斥原理)

    [Codeforces 1228E]Another Filling the Grid (排列组合+容斥原理) 题面 一个\(n \times n\)的格子,每个格子里可以填\([1,k]\)内的整数. ...

  10. RabbitMq学习2-php命令行模式测试rabbitmq

    一.RabbitMQ结构 1.几个概念说明:       Broker:简单来说就是消息队列服务器实体. Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列. Queue:消息队列载体 ...