泰宁新闻网

格兰杰因果关系检验(原理及R语言应用实例)

鞋

泰宁新闻网 http://www.tainingxinwen.cn 2020-04-08 11:25 出处:网络
格兰杰检验,格兰杰因果关系检验(原理及R语言应用实例) 一、Granger因果关系

格兰杰检验,格兰杰因果关系检验(原理及R语言应用实例)

一、Granger因果关系

 

所谓因果关系,可以通过变量之间的依赖性来定义,即作为结果的变量是由作为原因的变量所决定的,原因变量的变化引起结果变量的变化。

 

通过前面的学习,我们已经知道,因果关系不同于相关关系;而且从一个回归关系式我们并不能确定变量之间是否具有因果关系。虽然回归分析研究是一个变量对另外一个或几个变量的依赖关系,但它并不意味着因果关系。莫里斯·肯达尔(Maurice Kendall)和艾伦·斯图亚蒂(Alan Stuart)曾经指出:“一个统计关系式,不管多强也不管多么有启发性,都永远不能确立因果关系的联系;对因果关系的理念必须来自统计学以外,最终来自这种或那种理论。” 例如将粮食产量作为降雨等因素的因变量没有任何统计上的理由,而是出于非统计上的原因。而且常识还告诉我们不能将这种关系倒转,即我们不可能通过改变粮食产量的做法来控制降雨。再比如,古人将月食归因于“天狗吃月”,所以每当发生月食时,人们就会敲锣打鼓意图吓走所谓的天狗。而且这种方法屡试不爽,只要人们敲锣打鼓一会儿,被吃掉的月亮就会恢复原样。显然,敲锣打鼓与月食结束之间有一种统计上的关系。但现代科技告诉我们月食仅仅是一种自然现象,它与敲锣打鼓之间并没有因果联系,事实上即使人们不敲锣打鼓,被吃掉的月亮也会恢复原状。总之,统计关系本身不可能意味着任何因果关系。要谈及因果关系必须进行先验的或理论上的思考。所以,虽然我们说回归方程中解释变量是被解释变量的原因, 但是,这一因果关系通常是先验设定的,或者是在回归之前就已确定。

 

实际上,在许多情况下,变量之间的因果关系 并不总象农作物产量和降雨量之间的关系那样一目了然,或者没有充分的知识使我们认清变量之间的因果关系。此外,即使某一经济理论宣称某两个变量之间存在一种因果关系,也需要给以经验上的支持。

 

 

诺贝尔经济学奖获得者,英国经济学家克莱夫·格兰杰(Sir Clive William John Granger),是著名的经济时间序列分析大师,被认为是世界上最伟大的计量经济学家之一。Granger从预测的角度给出了因果关系的一种描述性定义,这就是我们现在所熟知的Granger因果关系。

 

Granger指出:如果一个变量X无助于预测另一个变量Y,则说X不是Y 的原因;相反,若X是Y的原因,则必须满足两个条件: 第一,X应该有助于预测Y,即在Y关于Y的过去值的回归中,添加X的过去值作为独立变量应当显著地增加回归的解释能力;第二,Y不应当有助于预测X,其原因是,如果X有助于预测Y,Y也有助于预测X,则很可能存在一个或几个其他变量,它们既是引起X变化的原因, 也是引起Y变化的原因。现在人们一般把这种从预测的角度定义的因果关系称为Granger因果关系。

二、Granger因果关系检验

 

 

变量X是否为变量Y的Granger原因,是可以检验的。 检验X是否为引起Y变化的Granger原因的过程如下:

第一步:检验原假设“H0:X不是引起Y变化的Granger原因”。首先,估计下列两个回归模型:

格兰杰因果关系检验(原理及R语言应用实例)

格兰杰因果关系检验(原理及R语言应用实例)

第二步:将Y与X的位置交换,按同样的方法检验原假设“H0:Y不是引起X变化的Granger原因”。

第三步:要得到“X是Y的Granger原因”的结论,必须同时拒绝原假设“H0:X不是引起Y变化的Granger原因”和接受原假设“H0:Y不是引起X变化的Granger原因”。

 

三、在R中进行格兰杰因果关系检验的实例

 

从一般的认识来讲,我们知道消费与经济增长之间存在相互促进的作用。但是,相比之下二者中哪一个对另外一个有更强的促进作用在各国经济发展过程中则呈现出不同的结论。就中国而言,自改革开放以来,我们都因为经济增长对消费的促进作用要大于消费对经济增长的促进作用。或者说,在我国,经济增长可以作为消费的格兰杰原因,反正之不成立。但这一结论是否能够得到计量经济研究的支持呢?下面我们就在R中通过对1978~2002年的统计数据(数据来源为国家统计局网站)进行分析,进而来回答这个问题。

 

首先读入数据,并将GDP和消费数据用frame组织起来,并最终形成时间序列数据。

 

> GDP <- c(3645.2, 4062.6, 4545.6, 4889.5, 5330.5, 5985.6, 7243.8, 9040.7, 10274.4, 12050.6,
+ 15036.8, 17000.9, 18718.3, 21826.2, 26937.3, 35260.0, 48108.5, 59810.5, 70142.5, 78060.8,
+ 83024.3, 88479.2, 98000.5, 108068.2, 119095.7)
> 
> consumption <- c(1759.1, 2014, 2336.9, 2627.5, 2867.1, 3220.9, 3689.5, 4627.4, 5293.5, 
+ 6047.6, 7532.1, 8778, 9435, 10544.5, 12312.2, 15696.2, 21446.1, 28072.9, 33660.3, 36626.3, 
+ 38821.8, 41914.9, 46987.8, 50708.8, 55076.4)
> 
> stat_data <- data.frame(GDP, consumption)
> ts.data <-ts(stat_data,frequency=1,start=c(1978))
> ts.data


上述代码的执行结果如下:

 

Time Series:
Start = 1978 
End = 2002 
Frequency = 1 
          GDP consumption
1978   3645.2      1759.1
1979   4062.6      2014.0
1980   4545.6      2336.9
1981   4889.5      2627.5
1982   5330.5      2867.1
1983   5985.6      3220.9
1984   7243.8      3689.5
1985   9040.7      4627.4
1986  10274.4      5293.5
1987  12050.6      6047.6
1988  15036.8      7532.1
1989  17000.9      8778.0
1990  18718.3      9435.0
1991  21826.2     10544.5
1992  26937.3     12312.2
1993  35260.0     15696.2
1994  48108.5     21446.1
1995  59810.5     28072.9
1996  70142.5     33660.3
1997  78060.8     36626.3
1998  83024.3     38821.8
1999  88479.2     41914.9
2000  98000.5     46987.8
2001 108068.2     50708.8
2002 119095.7     55076.4


然后我们来进行格兰杰因果校验,在R中可以用来支持Granger因果校验的包有很多,我们这里选用的是lmtest包(使用前需要先确保该包已经被正确安装)。

 

> library(lmtest)

> grangertest(GDP ~ consumption, order = 2, data =ts.data)
Granger causality test

Model 1: GDP ~ Lags(GDP, 1:2) + Lags(consumption, 1:2)
Model 2: GDP ~ Lags(GDP, 1:2)
  Res.Df Df      F Pr(>F)
1     18                 
2     20 -2 1.6437  0.221

> grangertest(consumption ~ GDP, order = 2, data =ts.data)
Granger causality test

Model 1: consumption ~ Lags(consumption, 1:2) + Lags(GDP, 1:2)
Model 2: consumption ~ Lags(consumption, 1:2)
  Res.Df Df      F    Pr(>F)    
1     18                        
2     20 -2 13.411 0.0002717 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


显然,检验结果表示,当原假设为“consumption不是引起GDP变化的Granger原因”,P值为0.221>0.05,我们无法拒绝原假设;而当原假设为“GDP不是引起consumption变化的Granger原因”时,P值为0.0002717<0.05,我们可以拒绝原假设。因此,可以证明:GDP是consumption的Granger原因。

 

 

之前计算结果中的P值也可以用下面代码算得(注意当p=2时,观测值的数量n=25-2=23):

 

> pf(1.6437, 2, 18, lower.tail = FALSE)
[1] 0.220978
> pf(13.411, 2, 18, lower.tail = FALSE)
[1] 0.0002716636

 

 

 

 

 

 

格兰杰因果关系检验(原理及R语言应用实例)的相关内容如下:

格兰杰检验的相关网页热门搜索词

什么是格兰杰因果关系|格兰杰因果怎么分析|格兰杰因果分析|格兰杰因果不显著|双向格兰杰因果关系|协整和格兰杰因果|不存在格兰杰因果关系|格兰杰因果关系图|格兰杰因果检验不通过|

本文标题:格兰杰因果关系检验(原理及R语言应用实例)
http://www.tainingxinwen.cn/qitaxinxi/344624.html

0

精彩评论

暂无评论...
验证码 换一张
取 消