(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. HBuilder使用逍遥Android模拟器

    Microvirt HBuilder使用逍遥Android模拟器 1.逍遥模拟器安装 地址: 点我下载 2.连接注意事项 a. 复制adb等文件 HBuilder安装目录中tools文件夹下的三个文件 ...

  2. 编译Chrome详细步骤

    编译Chrome详细步骤   文章来源:http://blog.csdn.net/allendale/article/details/9262833 参考:http://dev.chromium.or ...

  3. leetcode 27. 移除元素(python)

    1. 题目描述 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外 ...

  4. Selenium IDE安装及环境搭建教程

    摘自https://blog.csdn.net/ywyxb/article/details/59103683 Selenium IDE环境部署- Firefox浏览器Firefox-ESR版本下载(推 ...

  5. yarn.lock 是干什么的

    概述 今天本地运行尤大的vue-hackernews-2.0,使用 yarn 命令安装,报错提示 node 版本必须大于7小于9,如下所示: error upath@1.0.4: The engine ...

  6. 阶段3 1.Mybatis_05.使用Mybatis完成CRUD_7 Mybatis中参数的深入-使用实体类的包装对象作为查询条件

    pojo对象就是实体类 综合查询-实体类包装起来做查询 新建实体类QueryVo 提供一个User对象属性,并生成getter和setter 测试 修改dao接口中的返回类型为List<User ...

  7. 测开之路一百四十八:WTForms表单验证

    使用WTForms表单验证,可以在数据建模时就设置验证信息和错误提示 创建模型时,设置验证内容,如必填.格式.长度 from flask_wtf import Formfrom wtforms imp ...

  8. 用configmap管理配置

    一.ConfigMap介绍管理配置: ConfigMap介绍 Secret 可以为 Pod 提供密码.Token.私钥等敏感数据:对于一些非敏感数据,比如应用的配置信息,则可以用 ConfigMap ...

  9. 算法初级(scala)

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum 1.给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为 ...

  10. xshell简单配置(文件上传和下载)

    1.安装lrzsz 1.1直接安装#yum install lrzsz 1.2sudo命令安装#sudo yum install lrzsz -y检查是否安装成功.#rpm -qa |grep lrz ...