首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在因果关系中获得df2 ()R中的格兰杰检验

如何在因果关系中获得df2 ()R中的格兰杰检验
EN

Stack Overflow用户
提问于 2013-09-07 04:58:29
回答 1查看 1.5K关注 0票数 1

我使用一个具有两个变量(f,m)的VAR(1)模型,每个变量有59个观察值;我已经看过R帮助和几本关于这个主题的书,但不知道如何df2 = 108

代码语言:javascript
复制
library(vars)
var.causal.m <- causality(ajustVAR1FM, cause = "m")
> var.causal.m
$Granger

    Granger causality H0: m do not Granger-cause f

data:  VAR object ajustVAR1FM 
F-Test = 5.9262, df1 = 1, df2 = 108, p-value = 0.01656
EN

回答 1

Stack Overflow用户

发布于 2013-09-07 05:52:55

如果您看到manual包,就会清楚地看到测试是以F(pK1k2, KT-n*)的形式分布的,其中K=k1+k2和n*等于上面的VAR(p) (包括确定性回归变量)中的参数总数。此外,对于测试,使用K=K1+K2将内生变量yt的向量划分为维度为(K1×1)和(K2×1)的两个子向量y1t和y2t。

您也可以在控制台中键入causality并看到以下内容:

代码语言:javascript
复制
df1 <- p * length(y1.names) * length(y2.names)
  df2 <- K * obs - length(PI)

示例:使用加拿大数据

代码语言:javascript
复制
library(vars)
var.2c <- VAR(Canada, p = 2, type = "const") 
causality(var.2c, cause = "e") 
> dim(Canada)
[1] 84  4



Causality(var.2c, cause = "e")
$Granger

Granger causality H0: e do not Granger-cause prod rw U

data:  VAR object var.2c 
F-Test = 6.2768, df1 = 6, df2 = 292, p-value = 3.206e-06

原因变量是1,所以k1=1,k2=3 (4-1)其中4是变量的总数,T是有效观测值(这里是84-2(lag=2))=82,n*=36 (4个方程,每个方程9个参数)。因此,df1=2*1*3=6和df2=4*82-36=292

注意:在你的例子中,滞后p=1,n*=8 (你估计两个模型每个有4个参数(我怀疑你也有趋势,所以它应该是4),obs (有效的59-1 (滞后p=1)) = 58,k1=1,k2=1和K=2。所以,df1=1*1*1=1和df2=2*58-8=108。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18666489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档