3

我想为 R 中的滚动窗口矢量误差校正模型 (VECM) 估计获得一些帮助。我有近 1600 个观察值的数据,我想通过使用一个包含 300 个观察值的滚动窗口来估计 VECM . (前三个估计窗口应该是 [1:300], [2:301], [3:302], ...)

我想收集每个估计窗口的误差校正系数并观察它们如何随时间变化。我对R不太熟悉。

我已经使用了 rollapplyr 方法,并且我使用的一种形式的代码如下所示:

vec <- function(x) lineVar(x, lag=1, include="const", model="VECM", estim="ML")
rollapplyr(data5, 300, vec, by.column = FALSE )

或者:

vec <- function(x) c(VECM(x, lag=2, r = 1, include = c("const", "trend", "none", "both"), beta = NULL, estim = c("2OLS", "ML"), LRinclude = c("none", "const","trend", "both"), exogen = NULL)) 
rollapplyr(data5, 300, vec, by.column = FALSE )

但是,这些给了我每一行:

[1,] Numeric,2796 Numeric,8    2 1398 1400 8    4     "linear" Numeric,2796  Numeric,5592 "const" 1   Numeric,8400 1394        FALSE  0         
[2,] Numeric,2796 Numeric,8    2 1398 1400 8    4     "linear" Numeric,2796  Numeric,5592 "const" 1   Numeric,8400 1394        FALSE  0         
[3,] Numeric,2796 Numeric,8    2 1398 1400 8    4     "linear" Numeric,2796  Numeric,5592 "const" 1   Numeric,8400 1394        FALSE  0
...

和这个:

   model.specific
[1,] List,9        
[2,] List,9        
[3,] List,9
....

当我使用简单的线性回归模型时,此 rollapplyr 方法有效。但是,当我试图估计 VECM 时,情况似乎并非如此。我应该怎么办?

4

0 回答 0