Skip to content

Releases: ygeunkim/bvhar

bvhar 2.1.2

12 Oct 00:58
Compare
Choose a tag to compare
  • Fix MCMC algorithm for include_mean = TRUE case.

  • Fix predictive distribution update codes (predict(), forecast_roll(), and forecast_expand() for ldltmod and svmod classes).

  • Fix out-of-forecasting (forecast_roll() and forecast_expand()) result process codes.

bvhar 2.1.1

05 Oct 07:01
Compare
Choose a tag to compare
  • When using GIG generation in MCMC, it has maximum iteration numbers of while statement.

  • Defined USE_RCPP macro in the C++ header so that Rcpp source usage works fine.

bvhar 2.1.0

16 Sep 08:25
Compare
Choose a tag to compare
  • Use Signal Adaptive Variable Selector (SAVS) to generate sparse coefficient from shrinkage priors.

  • var_bayes() and vhar_bayes() now handle both shrinkage priors and stochastic volatility.

  • bvar_ssvs(), bvar_horseshoe(), bvar_sv(), bvhar_ssvs(), bvhar_horseshoe(), and bvhar_sv() are deprecated, and will be removed in v2.1.0 with their source functions.

  • set_horseshoe() has additional setting for group_shrinkage. Horseshoe sampling now has additional group shrinkage level parameters.

  • set_ssvs() now additionally should specify different Beta hyperparameters for each own-lag and cross-lag.

  • set_ssvs() sets scaling factor and inverse-gamma hyperparameters for coefficients and cholesky factor slab sd.

  • Use full bayesian approach to SSVS spike and slab sd's instead of semi-automatic approach, in var_bayes() and vhar_bayes().

  • MCMC functions return give $param and $param_names, not individual $*_record members.

  • sim_gig() generates Generalized Inverse Gaussian (GIG) random numbers using the algorithm of R package GIGrvg.

New priors

  • set_dl() specifies Dirichlet-Laplace (DL) prior in var_bayes() and vhar_bayes().

  • set_ng() specifies Normal-Gamma (NG) prior in var_bayes() and vhar_bayes().

  • bvar_sv() and bvhar_sv() supports hierarchical Minnesota prior.

Internal changes

  • Added regularization step in internal Normal posterior generation function against non-existing LLT case.

  • Added BOOST_DISABLE_ASSERTS flag against boost asserts.

Spillover effects

  • spillover() computes static spillover given model.

  • dynamic_spillover() computes dynamic spillover given model.

Forecasting

  • predict(), forecast_roll(), and forecast_expand() with LDLT models can use CI level when adding sparsity.

  • predict(), forecast_roll(), and forecast_expand() of ldltmod have sparse option to use sparsity.

  • predict(), forecast_roll(), and forecast_expand() with SV models can use CI level when adding sparsity.

  • predict(), forecast_roll(), and forecast_expand() of svmod have sparse option to use sparsity.

  • Out-of-sample forecasting functions are now S3 generics (forecast_roll() and forecast_expand()).

  • Add Rolling-window forecasting for LDLT models (forecast_roll.ldltmod()).

  • Add Expanding-window forecasting for LDLT models (forecast_expand.ldltmod()).

  • Add Rolling-window forecasting for SV models (forecast_roll.svmod()).

  • Add Expanding-window forecasting for SV models (forecast_expand.svmod()).

  • When forecasting SV models, it is available to choose whether to use time-varying covariance (use_sv option, which is TRUE by default).

  • forecast_roll() and forecast_expand() can implement OpenMP multithreading, except in bvarflat class.

  • If the model uses multiple chain MCMC, static schedule is used in forecast_roll() and dynamic schedule in forecast_expand().

  • sim_mniw() output format has been changed into list of lists.

  • Now can use MNIW generation by including header (std::vector<Eigen::MatrixXd> sim_mn_iw(...)).

  • Compute LPL inside forecast_roll.svmod() and forecast_expand.svmod() using lpl option.

  • Instead, lpl method is removed.

bvhar 2.0.1

01 Mar 14:21
Compare
Choose a tag to compare
  • Fix internal vectorization and unvectorization behavior.

  • Used Eigen 3.4 feature (reshaped()) to solve these (RcppEigen >= 0.3.4.0.0).

bvhar 2.0.0

15 Feb 02:21
Compare
Choose a tag to compare
  • 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)]].

Parallel Chain MCMC

  • 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.

bvhar 1.2.0

09 Jan 08:25
Compare
Choose a tag to compare
  • 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()).

bvhar 1.1.0

18 Dec 06:26
Compare
Choose a tag to compare
  • 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).

bvhar 1.0.2

06 Dec 11:17
Compare
Choose a tag to compare
  • License has been changed to GPLv3.

  • Remove unnecessary Rcpp plugins in source files.

bvhar 1.0.1

11 Nov 01:48
Compare
Choose a tag to compare
  • Fix knitr::knit_print() method export methods (#2).

bvhar 1.0.0

08 Nov 12:26
Compare
Choose a tag to compare

Bayesian Vector Heterogeneous Autoregressive Modeling, JSCS

  • Update to major version before publication.