Fix internal vectorization and unvectorization behavior.
Used Eigen 3.4 feature (reshaped()
) to solve these (RcppEigen >= 0.3.4.0.0
).
Start to implement OOP in C++ source for each model, ready for major update.
Add SV specification (sv_spec
argument) in bvhar_sv()
and bvar_sv()
(set_sv()
).
Prevent SSVS overflow issues by using log-sum-exp trick when computing Bernoulli posterior probability.
Add separate constant term prior specification (intercept
) in bvhar_sv()
and bvar_sv()
(set_intercept()
).
Convert every header file inst/include to header-only format. This enables external inclusion of our classes, structs, and Rcpp functions by using LinkingTo
(in R package development) or // [[Rcpp::depends(RcppEigen, BH, bvhar)]]
.
Use OpenMP parallel for loop
Progress bar will show the status only for master thread when OpenMP enabled.
Interruption detect will just save values and break the loop, not return immediately.
Do burn-in and thinning in each returnRecords()
method to make pre-process parallel chains easier.
Use boost library (BH
package) RNG instead of Rf_* RNG of Rcpp
for thread-safety.
Introduce function overloading to internal Rcpp random generation functions temporarily. It’s for maintaining set.seed()
usage of some functions.
Replace progress bar of RcppProgress
package with custom header (bvharprogress.h
).
Replace checking user interruption in the same package with custom header (bvharinterrupt.h
).
Fix triangular algorithm. Found missing update of some variables (bvar_sv()
and bvhar_sv()
).
For new research, add new features for shrinkage priors.
Add Shrinkage priors SSVS and Horseshoe (bvar_ssvs()
, bvhar_ssvs()
, bvar_horseshoe()
, and bvhar_horseshoe()
).
bvar_sv()
, bvhar_sv()
works with SSVS (set_ssvs()
) and Horseshoe (set_horseshoe()
).
Update the shrinkage structure in the spirit of Minnesota. (minnesota = TRUE
, minnesota = c("no", "short", "longrun")
).
Stochastic volatility models implement corrected triangular algorithm of Carriero et al. (2021).
License has been changed to GPLv3.
Remove unnecessary Rcpp plugins in source files.
knitr::knit_print()
method export methods (#2).“Bayesian Vector Heterogeneous Autoregressive Modeling” has been accepted in JSCS 🎉
Update to major version before publication.
Add Stochastic Search Variable Selection (SSVS) models for VAR and VHAR (bvar_ssvs()
and bvhar_ssvs()
)
Can do corresponding variable selection (summary.ssvsmod()
)
bvar_sv()
and bvhar_sv()
).Fix not working Hierarchical natural conjugate MNIW function (bvar_niwhm()
).
Use posterior
package for summary.normaliw()
to improve processing and printing.
Now can use heavy-tailed distribution (Multivariate t-distribution) when generating VAR and VHAR process (sim_var()
and sim_vhar()
).
Also provide independent MVT generation function (sim_mvt()
).
Added method = c("nor", "chol", "qr")
option in VAR and VHAR fitting function to use cholesky and Householder QR method (var_lm()
and vhar_lm()
).
Now include_mean
works internally with Rcpp
.
Add partial t-test for each VAR and VHAR coefficient (summary.varlse()
and summary.vharlse()
).
Appropriate print method for the updated summary method (print.summary.varlse()
and print.summary.vharlse()
).
Can compute impulse response function for VAR (varlse
) and VHAR (vharlse
) models (analyze_ir()
).
Can draw impulse -> response plot in grid panels (autoplot.bvharirf()
).
Changed the way of specifying the lower and upper bounds of empirical bayes (bound_bvhar()
).
Added Empirical Bayes vignette.
sim_mgaussian()
).choose_bayes()
and bound_bvhar()
).oxfordman
more elaborately (it becomes same with etf_vix
).Added weekly and monthly order feature in VHAR family (vhar_lm()
and bvhar_minnesota()
).
Other functions are compatible with har order option (predict.vharlse()
, predict.bvharmn()
, and choose_bvhar()
)
choose_bvar()
and choose_bvhar()
).gg_loss()
).Added rolling window and expanding window features (forecast_roll()
and forecast_expand()
).
Can compute loss for each rolling and expanding window method (mse.bvharcv()
, mae.bvharcv()
, mape.bvharcv()
, and mape.bvharcv()
).
Fix Marginal likelihood form (compute_logml()
).
Optimize empirical bayes method using stabilized marginal likelihood function (logml_stable()
).
Change the way to compute the CI of BVAR and BVHAR (predict.bvarmn()
, predict.bvharmn()
, and predict.bvarflat()
)
Used custom random generation function - MN, IW, and MNIW based on RcppEigen
Added Bayesian model specification functions and class (bvharspec
).
Replaced hyperparameters with model specification in Bayesian models (bvar_minnesota()
, bvar_flat()
, and bvhar_minnesota()
).
var_lm()
, vhar_lm()
, bvar_minnesota()
, bvar_flat()
, and bvhar_minnesota()
).NEWS.md
file to track changes to the package.