VAR模型:如何为静态一期提前预测计算95%的预测间隔

问题描述

我仅使用部分数据( series_mod )创建了具有 2个滞后时间的VAR模型,并希望根据其余数据( series_fore ):

library(vars)
data(Canada)

series_mod = window(Canada,start = c(1990,1),end = c(1998,4))
series_fore = window(Canada,start = c(1999,end = c(2000,4))

series_mod 的最后两个观察结果:

               e     prod       rw     U
1998 Q3 956.0561 412.2659 465.7478  8.17
1998 Q4 956.7966 412.9106 465.8995  8.03

型号:

mod = VAR(series_mod,p = 2,type = "const")
summary(mod)

e 的系数:

e = e.l1 + prod.l1 + rw.l1 + U.l1 + e.l2 + prod.l2 + rw.l2 + U.l2 + const 
          Estimate Std. Error t value Pr(>|t|)    
e.l1       1.45052    0.28617   5.069 3.12e-05 ***
prod.l1    0.03016    0.09467   0.319    0.753    
rw.l1      0.03656    0.09443   0.387    0.702    
U.l1       0.40652    0.28380   1.432    0.164    
e.l2      -0.34092    0.32648  -1.044    0.306    
prod.l2    0.05677    0.10165   0.558    0.582    
rw.l2     -0.06119    0.08542  -0.716    0.480    
U.l2       0.04745    0.33353   0.142    0.888    
const   -132.60074  107.65099  -1.232    0.229

预测系列, series_fore

series_fore
               e     prod       rw    U
1999 Q1 957.3865 413.8294 466.4099 7.90
1999 Q2 958.0634 414.2242 466.9552 7.87
1999 Q3 958.7166 415.1678 467.6281 7.53
1999 Q4 959.4881 415.7016 467.7026 6.93
2000 Q1 960.3625 416.8674 469.1348 6.80
2000 Q2 960.7834 417.6104 469.3364 6.70
2000 Q3 961.0290 418.0030 470.0117 6.93
2000 Q4 961.7657 417.2667 469.6472 6.87

但是我不想进行动态预测,该动态预测默认在 vars 库中实现(当下一个预测模型使用先前的预测值时):>

predict(mod,n.ahead = 8,ci = 0.95)

相反,我想进行静态预测-在进行预测时,我想在每个步骤上使用实际可用数据。例如,对于 e -3个静态预测:

1999,Q1
1.45052 * 956.7966 + 
0.03016 * 412.9106 +
0.03656 * 465.8995 +
0.40652 * 8.03 +
-0.34092 * 956.0561 + 
0.05677 * 412.2659 + 
-0.06119 * 465.7478 + 
0.04745 * 8.17 +
-132.60074 = 957.3571

1999,Q2
1.45052 * 957.3865 + 
0.03016 * 413.8294 +
0.03656 * 466.4099 +
0.40652 * 7.90 +
-0.34092 * 956.7966 + 
0.05677 * 412.9106 + 
-0.06119 * 465.8995 + 
0.04745 * 8.03 +
-132.60074 = 957.9745

1999,Q3
1.45052 * 958.0634 + 
0.03016 * 414.2242 +
0.03656 * 466.9552 +
0.40652 * 7.87 +
-0.34092 * 957.3865 + 
0.05677 * 413.8294 + 
-0.06119 * 466.4099 + 
0.04745 * 7.90 +
-132.60074 = 958.7897

以此类推,直到2000年第四季度。

我的问题是:在这种情况下,如何为我的每个静态预测(957.3571、957.9745、958.7897等)计算95%的预测间隔?

PS 。我想预测间隔应该是平坦的。这是带有静态预测的EViews(不适用于该模型)的示例:

enter image description here

相反-动态预测,对于同一模型,预测间隔不断增加:

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...