exdqlmMCMC: exDQLM - MCMC algorithm

View source: R/exdqlmMCMC.R

exdqlmMCMCR Documentation

exDQLM - MCMC algorithm

Description

The function applies a Markov chain Monte Carlo (MCMC) algorithm to sample the posterior of an exDQLM.

Usage

exdqlmMCMC(
  y,
  p0,
  model,
  df,
  dim.df,
  fix.gamma = FALSE,
  gam.init = NA,
  fix.sigma = FALSE,
  sig.init = NA,
  dqlm.ind = FALSE,
  Sig.mh,
  joint.sample = FALSE,
  n.burn = 2000,
  n.mcmc = 1500,
  init.from.isvb = TRUE,
  PriorSigma = NULL,
  PriorGamma = NULL,
  verbose = TRUE
)

Arguments

y

A univariate time-series.

p0

The quantile of interest, a value between 0 and 1.

model

List of the state-space model including 'GG', 'FF', prior parameters 'm0' and 'C0'.

df

Discount factors for each block.

dim.df

Dimension of each block of discount factors.

fix.gamma

Logical value indicating whether to fix gamma at 'gam.init'. Default is 'FALSE'.

gam.init

Initial value for gamma (skewness parameter), or value at which gamma will be fixed if 'fix.gamma=TRUE'.

fix.sigma

Logical value indicating whether to fix sigma at 'sig.init'. Default is 'TRUE'.

sig.init

Initial value for sigma (scale parameter), or value at which sigma will be fixed if 'fix.sigma=TRUE'.

dqlm.ind

Logical value indicating whether to fix gamma at '0', reducing the exDQLM to the special case of the DQLM. Default is 'FALSE'.

Sig.mh

Covariance matrix used in the random walk MH step to jointly sample sigma and gamma.

joint.sample

Logical value indicating whether or not to recompute 'Sig.mh' based off the initial burn-in samples of gamma and sigma. Default is 'FALSE'.

n.burn

Number of MCMC iterations to burn. Default is 'n.burn = 2000'.

n.mcmc

Number of MCMC iterations to sample. Default is 'n.mcmc = 1500'.

init.from.isvb

Logical value indicating whether or not to initialize the MCMC using the ISVB algorithm. Default is 'TRUE'.

PriorSigma

List of parameters for inverse gamma prior on sigma; shape 'a_sig' and scale 'b_sig'. Default is an inverse gamma with mean 1 (or 'sig.init' if provided) and variance 10.

PriorGamma

List of parameters for truncated student-t prior on gamma; center 'm_gam', scale 's_gam' and degrees of freedom 'df_gam'. Default is a standard student-t with 1 degree of freedom, truncated to the support of gamma.

verbose

Logical value indicating whether progress should be displayed.

Value

A list of the following is returned:

  • 'run.time' - Algorithm run time in seconds.

  • 'model' - List of the state-space model including 'GG', 'FF', prior parameters 'm0' and 'C0'.

  • 'p0' - The quantile which was estimated.

  • 'df' - Discount factors used for each block.

  • 'dim.df' - Dimension used for each block of discount factors.

  • 'samp.theta' - Posterior sample of the state vector.

  • 'samp.post.pred' - Sample of the posterior predictive distributions.

  • 'map.standard.forecast.errors' - MAP standardized one-step-ahead forecast errors.

  • 'samp.sigma' - Posterior sample of scale parameter sigma.

  • 'samp.vts' - Posterior sample of latent parameters, v_t.

  • 'theta.out' - List containing the distributions of the state vector including filtered distribution parameters ('fm' and 'fC') and smoothed distribution parameters ('sm' and 'sC').

If 'dqlm.ind=FALSE', the list also contains the following:

  • 'samp.gamma' - Posterior sample of skewness parameter gamma.

  • 'samp.sts' - Posterior sample of latent parameters, s_t.

  • 'init.log.sigma' - Burned samples of log sigma from the random walk MH joint sampling of sigma and gamma.

  • 'init.logit.gamma' - Burned samples of logit gamma from the random walk MH joint sampling of sigma and gamma.

  • 'accept.rate' - Acceptance rate of the MH step.

  • 'Sig.mh' - Covariance matrix used in MH step to jointly sample sigma and gamma.

Examples


y = scIVTmag[1:100]
trend.comp = polytrendMod(1,mean(y),10)
seas.comp = seasMod(365,c(1,2,4),C0=10*diag(6))
model = combineMods(trend.comp,seas.comp)
M2 = exdqlmMCMC(y,p0=0.85,model,df=c(1,1),dim.df = c(1,6),
                gam.init=-3.5,sig.init=15,
                n.burn=100,n.mcmc=150)



exdqlm documentation built on Sept. 11, 2025, 9:09 a.m.