Open syrop87 opened 11 months ago
Hey Pawel,
You raise good points. I'd have though that sigma
is already the Cholesky factor (may be wrong), but the forecast definitely seems off to me. I'll have to put a closer investigation off until a later date, but thanks for raising the issue!
Best,
Nikolas
Hey @syrop87, your observation wrt to the forecasting noise hits the mark – seems that I introduced this bug while over-optimizing vectorization. We're putting off a fix until the next version, but a patched version of the package is available here: https://github.com/nk027/bvar/tree/dev_fcasts.
Hello,
First, thanks a lot for developing the package! I am relying on it heavily in my daily work.
However, only recently I started to doubt if I understand the details of how the BVAR unconditional forecasts are generated. In
predict
method there is a line made to add noise to a forecast generated withcompute_fcast
method.fcast_store[["fcast"]][i, , ] <- fcast_base + t(crossprod(sigma[j, , ], matrix(rnorm(M * fcast[["horizon"]]), nrow = M)))
I have a two questions on that:
compute_fcast
in a period-by-period manner? I mean doing that within a core loop incompute_fcast
, so that Y_f[i+1,] is calculated based Y_f[i, ] that is consistent with added period i noise/shock. Adding all the shocks as a batch after the full path of base forecast was calculated seems inconsistent. The loop that I refer to:Thanks,
Pawel