我目前正在估计VAR模型,然后估计广义脉冲响应函数。要获得那些SE,我应该先做一些自举。
此过程从“估计VAR模型的参数并提取估计残差开始,表示为Ût。”
现在,我正在使用vars包估算我的var模型,如下所示
varendoA<-data.frame(value_ts,value2_ts, price_ts, price2_ts)
library(vars)
fitvar<- VAR(varendo, type = c("both"), season = christmas, lag.max = 12,ic = c("AIC"))
summary(fitvar)
该模型包含5个变量,包含104个观测值,一个趋势,常数和一个圣诞节假人,并输出一个5滞后的结果。
现在,当我想提取其残差residuals(fitvar)
时,我得到每个变量99个数字的列表。
我应该使用这些残差来生成自举残差(从获得的残差中随机抽取)并将其与估计的方程一起使用以生成新的自举时间序列,以重新估计VAR和IRF(以及最终为我的估计获得SE)。
因为我应该递归计算新的时间序列如下:
我不应该得到每个变量104个残差的列表而不是99个?我对整个生成过程有点困惑。
任何帮助都不仅仅是值得赞赏的。
答案 0 :(得分:0)
在自回归(AR)模型中,使用变量的过去值的线性组合来预测变量。由于您已设置lag.max = 12
,因此您允许VAR
选择最多使用12个滞后值作为预测变量的模型。
由于您的模型使用了5个滞后,VAR
无法使值适合您变量的前5个观察值。这是因为前5个观测值用于拟合第6次观测的值。因此,残差数量将是观察数量减去AR模型订单。