我使用一个具有两个变量(f,m)的VAR(1)模型,每个变量有59个观察值;我已经看过R帮助和几本关于这个主题的书,但不知道如何df2 = 108。
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发布于 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并看到以下内容:
df1 <- p * length(y1.names) * length(y2.names)
df2 <- K * obs - length(PI)示例:使用加拿大数据
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。
https://stackoverflow.com/questions/18666489
复制相似问题