fitAutoReg: Bootstrap with Exogenous Variables
Ivan Jacob Agaloos Pesigan
Source:vignettes/bootstrap-exo.Rmd
bootstrap-exo.Rmd
library(fitAutoReg)
set.seed(42)
data <- dat_p2_exo$data
exo_mat <- dat_p2_exo$exo_mat
Residual bootstrap
system.time(
rb <- RBootVARExoOLS(
data = data,
exo_mat = exo_mat,
p = 2,
B = 5000L
)
)
#> user system elapsed
#> 0.902 0.399 0.659
rb$est
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 1.1645442 0.35802166 0.03734862 0.0002366562 0.106855984 -0.02817869
#> [2,] 0.6746508 0.01936447 0.47104112 0.0408110984 0.042905903 0.20401723
#> [3,] 1.1333405 -0.01203039 0.03843933 0.5917764198 -0.002727068 -0.03541278
#> [,7] [,8] [,9] [,10]
#> [1,] -0.01532613 0.53449366 -0.0300834881 0.049418742
#> [2,] -0.01147251 -0.01486178 0.5239645393 -0.009915481
#> [3,] 0.29966676 0.01649533 -0.0009656348 0.418817274
Confidence Intervals
BootCI(rb)
#> $ll
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 0.8061537 0.30429789 -0.0162773 -0.05488401 0.052347521 -0.08134771
#> [2,] 0.3038916 -0.03516976 0.4173502 -0.01331327 -0.009919122 0.14847131
#> [3,] 0.7575254 -0.06665384 -0.0146747 0.53602522 -0.057635504 -0.08894547
#> [,7] [,8] [,9] [,10]
#> [1,] -0.06958521 0.47285084 -0.09175439 -0.01754922
#> [2,] -0.06597832 -0.07899913 0.45949697 -0.07497912
#> [3,] 0.24597899 -0.04551502 -0.06516815 0.35063868
#>
#> $ul
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] 1.533284 0.41511628 0.08987763 0.05549245 0.15992419 0.02440078 0.03797246
#> [2,] 1.049598 0.07424265 0.52694125 0.09477779 0.09725450 0.25700211 0.04301034
#> [3,] 1.511836 0.04290514 0.09283828 0.64736248 0.05231296 0.01874213 0.35416018
#> [,8] [,9] [,10]
#> [1,] 0.59755623 0.03352203 0.11323024
#> [2,] 0.04856768 0.58634379 0.05761158
#> [3,] 0.07720625 0.06178412 0.48463274
Standard Errors
BootSE(rb)
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 0.1899002 0.02828822 0.02739483 0.02795965 0.02763577 0.02748793
#> [2,] 0.1920405 0.02807034 0.02805847 0.02759376 0.02749599 0.02786318
#> [3,] 0.1915017 0.02782644 0.02776910 0.02862253 0.02770058 0.02760922
#> [,7] [,8] [,9] [,10]
#> [1,] 0.02760877 0.03207984 0.03254120 0.03304607
#> [2,] 0.02781540 0.03230481 0.03184359 0.03368794
#> [3,] 0.02819177 0.03198098 0.03246780 0.03392554
system.time(
rb <- RBootVARExoLasso(
data = data,
exo_mat = exo_mat,
p = 2,
B = 5000L,
n_lambdas = 100,
crit = "ebic",
max_iter = 1000,
tol = 1e-5
)
)
#> user system elapsed
#> 1640.419 516.425 1084.605
rb$est
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] 1.1645442 0.3223107 0.0000000 0.0000000 0.07127916 0.0000000 0.0000000
#> [2,] 0.6746508 0.0000000 0.4448539 0.0000000 0.00000000 0.1720849 0.0000000
#> [3,] 1.1333405 0.0000000 0.0000000 0.5682471 0.00000000 0.0000000 0.2731365
#> [,8] [,9] [,10]
#> [1,] 0.465707 0.0000000 0.0000000
#> [2,] 0.000000 0.4490572 0.0000000
#> [3,] 0.000000 0.0000000 0.3112725
Confidence Intervals
BootCI(rb)
#> $ll
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] 0.7961103 0.297375 0.0000000 0.0000000 0.06576462 0.0000000 0.0000000
#> [2,] 0.9329965 0.000000 0.4083041 0.0000000 0.00000000 0.1579462 0.0000000
#> [3,] 1.2651847 0.000000 0.0000000 0.5258466 0.00000000 0.0000000 0.2527561
#> [,8] [,9] [,10]
#> [1,] 0.4296774 0.000000 0.0000000
#> [2,] 0.0000000 0.412162 0.0000000
#> [3,] 0.0000000 0.000000 0.2880466
#>
#> $ul
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] 1.524423 0.3235663 0.0000000 0.0000000 0.07155685 0.0000000 0.0000000
#> [2,] 1.670456 0.0000000 0.4408508 0.0000000 0.00000000 0.1705364 0.0000000
#> [3,] 2.012884 0.0000000 0.0000000 0.5565334 0.00000000 0.0000000 0.2675062
#> [,8] [,9] [,10]
#> [1,] 0.4675213 0.0000000 0.000000
#> [2,] 0.0000000 0.4450163 0.000000
#> [3,] 0.0000000 0.0000000 0.304856
Standard Errors
BootSE(rb)
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 0.1873452 0.006650806 0.000000000 0.000000000 0.001470829 0.000000000
#> [2,] 0.1874381 0.000000000 0.008382272 0.000000000 0.000000000 0.003242555
#> [3,] 0.1919660 0.000000000 0.000000000 0.007915599 0.000000000 0.000000000
#> [,7] [,8] [,9] [,10]
#> [1,] 0.000000000 0.009609755 0.000000000 0.000000000
#> [2,] 0.000000000 0.000000000 0.008461474 0.000000000
#> [3,] 0.003804752 0.000000000 0.000000000 0.004335981