Releases: ygeunkim/bvhar
bvhar 2.1.2
-
Fix MCMC algorithm for
include_mean = TRUE
case. -
Fix predictive distribution update codes (
predict()
,forecast_roll()
, andforecast_expand()
forldltmod
andsvmod
classes). -
Fix out-of-forecasting (
forecast_roll()
andforecast_expand()
) result process codes.
bvhar 2.1.1
-
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
-
Use Signal Adaptive Variable Selector (SAVS) to generate sparse coefficient from shrinkage priors.
-
var_bayes()
andvhar_bayes()
now handle both shrinkage priors and stochastic volatility. -
bvar_ssvs()
,bvar_horseshoe()
,bvar_sv()
,bvhar_ssvs()
,bvhar_horseshoe()
, andbvhar_sv()
are deprecated, and will be removed in v2.1.0 with their source functions. -
set_horseshoe()
has additional setting forgroup_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()
andvhar_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 packageGIGrvg
.
New priors
-
set_dl()
specifies Dirichlet-Laplace (DL) prior invar_bayes()
andvhar_bayes()
. -
set_ng()
specifies Normal-Gamma (NG) prior invar_bayes()
andvhar_bayes()
. -
bvar_sv()
andbvhar_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 againstboost
asserts.
Spillover effects
-
spillover()
computes static spillover given model. -
dynamic_spillover()
computes dynamic spillover given model.
Forecasting
-
predict()
,forecast_roll()
, andforecast_expand()
with LDLT models can use CI level when adding sparsity. -
predict()
,forecast_roll()
, andforecast_expand()
ofldltmod
havesparse
option to use sparsity. -
predict()
,forecast_roll()
, andforecast_expand()
with SV models can use CI level when adding sparsity. -
predict()
,forecast_roll()
, andforecast_expand()
ofsvmod
havesparse
option to use sparsity. -
Out-of-sample forecasting functions are now S3 generics (
forecast_roll()
andforecast_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 isTRUE
by default). -
forecast_roll()
andforecast_expand()
can implement OpenMP multithreading, except inbvarflat
class. -
If the model uses multiple chain MCMC, static schedule is used in
forecast_roll()
and dynamic schedule inforecast_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()
andforecast_expand.svmod()
usinglpl
option. -
Instead,
lpl
method is removed.
bvhar 2.0.1
-
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
-
Start to implement OOP in C++ source for each model, ready for major update.
-
Add SV specification (
sv_spec
argument) inbvhar_sv()
andbvar_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
) inbvhar_sv()
andbvar_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 ofRcpp
for thread-safety. -
Introduce function overloading to internal Rcpp random generation functions temporarily.
It's for maintainingset.seed()
usage of some functions.
bvhar 1.2.0
-
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()
andbvhar_sv()
).
bvhar 1.1.0
-
For new research, add new features for shrinkage priors.
-
Add Shrinkage priors SSVS and Horseshoe (
bvar_ssvs()
,bvhar_ssvs()
,bvar_horseshoe()
, andbvhar_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
-
License has been changed to GPLv3.
-
Remove unnecessary Rcpp plugins in source files.
bvhar 1.0.1
- Fix
knitr::knit_print()
method export methods (#2).
bvhar 1.0.0
Bayesian Vector Heterogeneous Autoregressive Modeling, JSCS
- Update to major version before publication.