library(fitAutoReg)
set.seed(42)
Parametric bootstrap
Ordinary Least Squares
system.time(
pb <- PBootVAROLS(
data = dat_p2,
p = 2,
B = 5000L,
burn_in = 20
)
)
#> user system elapsed
#> 2.269 0.800 1.689
pb$est
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 0.7899726 0.36836768 0.008539283 0.02231498 0.11338780 0.024505442
#> [2,] 1.0001995 0.01334496 0.481949237 -0.01730029 -0.03223315 0.234373552
#> [3,] 1.0666814 -0.03022951 0.014945306 0.60741736 -0.01610408 -0.006149189
#> [,7]
#> [1,] -0.01143384
#> [2,] 0.01815779
#> [3,] 0.29620975
Confidence Intervals
BootCI(pb)
#> $ll
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 0.3930411 0.30243070 -0.05185648 -0.03849399 0.04688586 -0.03550674
#> [2,] 0.6350418 -0.04917660 0.41791715 -0.07721118 -0.09365483 0.16905824
#> [3,] 0.7550794 -0.09117618 -0.04405513 0.54600712 -0.07846017 -0.06972934
#> [,7]
#> [1,] -0.07073310
#> [2,] -0.04054043
#> [3,] 0.23301166
#>
#> $ul
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] 1.216560 0.42682587 0.06782304 0.08315715 0.16945918 0.08704334 0.05005643
#> [2,] 1.467842 0.07662838 0.53987760 0.04214739 0.03196550 0.29297797 0.07827508
#> [3,] 1.564963 0.02987062 0.07614816 0.66584296 0.04581326 0.05240143 0.35204252
Standard Errors
BootSE(pb)
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 0.2107664 0.03188506 0.03058665 0.03074068 0.03166114 0.03104488
#> [2,] 0.2125385 0.03225289 0.03128615 0.03034050 0.03213982 0.03118650
#> [3,] 0.2069018 0.03115981 0.03099450 0.03051704 0.03158845 0.03093653
#> [,7]
#> [1,] 0.03046117
#> [2,] 0.03038119
#> [3,] 0.03044588
Lasso Regularization
system.time(
pb <- PBootVARLasso(
data = dat_p2,
p = 2,
B = 5000L,
burn_in = 20,
n_lambdas = 100,
crit = "ebic",
max_iter = 1000,
tol = 1e-5
)
)
#> user system elapsed
#> 747.834 237.093 494.789
pb$est
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] 0.7899726 0.3421906 0.0000000 0.0000000 0.08468105 0.0000000 0.0000000
#> [2,] 1.0001995 0.0000000 0.4570574 0.0000000 0.00000000 0.2120659 0.0000000
#> [3,] 1.0666814 0.0000000 0.0000000 0.5880327 0.00000000 0.0000000 0.2736337
Confidence Intervals
BootCI(pb)
#> $ll
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] 0.4525121 0.232941 0.0000000 0.000000 0 0.0000000 0.0000000
#> [2,] 0.6654436 0.000000 0.3570167 0.000000 0 0.1123831 0.0000000
#> [3,] 0.7716108 0.000000 0.0000000 0.495299 0 0.0000000 0.1792551
#>
#> $ul
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] 1.159776 0.3677067 0.0000000 0.0000000 0.1091948 0.0000000 0.0000000
#> [2,] 1.400407 0.0000000 0.4885537 0.0000000 0.0000000 0.2386771 0.0000000
#> [3,] 1.502570 0.0000000 0.0000000 0.6190948 0.0000000 0.0000000 0.3024522
Standard Errors
BootSE(pb)
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 0.1836561 0.033969403 0.0039287223 0.002997388 0.03303036 0.0042954247
#> [2,] 0.1847760 0.003498757 0.0335239317 0.002683062 0.00317081 0.0321772202
#> [3,] 0.1872402 0.000000000 0.0006966567 0.031850464 0.00000000 0.0006960347
#> [,7]
#> [1,] 0.003290205
#> [2,] 0.002102045
#> [3,] 0.031403824
Residual bootstrap
system.time(
rb <- RBootVAROLS(
data = dat_p2,
p = 2,
B = 5000L
)
)
#> user system elapsed
#> 0.503 0.172 0.381
rb$est
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 0.7899726 0.36836768 0.008539283 0.02231498 0.11338780 0.024505442
#> [2,] 1.0001995 0.01334496 0.481949237 -0.01730029 -0.03223315 0.234373552
#> [3,] 1.0666814 -0.03022951 0.014945306 0.60741736 -0.01610408 -0.006149189
#> [,7]
#> [1,] -0.01143384
#> [2,] 0.01815779
#> [3,] 0.29620975
Confidence Intervals
BootCI(rb)
#> $ll
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 0.3839273 0.30570875 -0.05045661 -0.03616193 0.05360932 -0.03620637
#> [2,] 0.6152027 -0.04844387 0.42032083 -0.07602342 -0.09435631 0.17352943
#> [3,] 0.6776991 -0.09221144 -0.04477236 0.54898395 -0.07559571 -0.06678908
#> [,7]
#> [1,] -0.07109326
#> [2,] -0.04233783
#> [3,] 0.23617815
#>
#> $ul
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] 1.182030 0.43080273 0.07056887 0.08205255 0.17397136 0.08446557 0.04812053
#> [2,] 1.383620 0.07530547 0.54163071 0.04225714 0.02964764 0.29605927 0.07791947
#> [3,] 1.447858 0.03106341 0.07565905 0.66548065 0.04464443 0.05290041 0.35383044
Standard Errors
BootSE(rb)
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 0.1986051 0.03147822 0.03094748 0.03009308 0.03096673 0.03022597
#> [2,] 0.1985471 0.03170047 0.03102411 0.03060897 0.03194205 0.03119196
#> [3,] 0.1982309 0.03159793 0.03060304 0.03004535 0.03093621 0.03051910
#> [,7]
#> [1,] 0.03030087
#> [2,] 0.03068079
#> [3,] 0.02995961
system.time(
rb <- RBootVARLasso(
data = dat_p2,
p = 2,
B = 5000L,
n_lambdas = 100,
crit = "ebic",
max_iter = 1000,
tol = 1e-5
)
)
#> user system elapsed
#> 999.180 315.122 660.447
rb$est
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] 0.7899726 0.3421906 0.0000000 0.0000000 0.08468105 0.0000000 0.0000000
#> [2,] 1.0001995 0.0000000 0.4570574 0.0000000 0.00000000 0.2120659 0.0000000
#> [3,] 1.0666814 0.0000000 0.0000000 0.5880327 0.00000000 0.0000000 0.2736337
Confidence Intervals
BootCI(rb)
#> $ll
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] 0.7200072 0.3215185 0.0000000 0.0000000 0.07956536 0.0000000 0.0000000
#> [2,] 0.7257168 0.0000000 0.4272317 0.0000000 0.00000000 0.1982273 0.0000000
#> [3,] 1.0591072 0.0000000 0.0000000 0.5514172 0.00000000 0.0000000 0.2565951
#>
#> $ul
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] 1.512197 0.3511282 0.0000000 0.0000000 0.0868928 0.0000000 0.0000000
#> [2,] 1.526624 0.0000000 0.4622982 0.0000000 0.0000000 0.2144975 0.0000000
#> [3,] 1.843198 0.0000000 0.0000000 0.5846179 0.0000000 0.0000000 0.2720446
Standard Errors
BootSE(rb)
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 0.2011787 0.007537697 0.00000000 0.000000000 0.001865334 0.000000000
#> [2,] 0.2025995 0.000000000 0.00902006 0.000000000 0.000000000 0.004185135
#> [3,] 0.2004661 0.000000000 0.00000000 0.008504886 0.000000000 0.000000000
#> [,7]
#> [1,] 0.000000000
#> [2,] 0.000000000
#> [3,] 0.003957642