The function applies an Importance Sampling Variational Bayes (ISVB) algorithm to estimate the posterior of an exDQLM.
exdqlmISVB(
y,
p0,
model,
df,
dim.df,
fix.gamma = FALSE,
gam.init = NA,
fix.sigma = TRUE,
sig.init = NA,
dqlm.ind = FALSE,
exps0,
tol = 0.1,
n.IS = 500,
n.samp = 200,
PriorSigma = NULL,
PriorGamma = NULL,
verbose = TRUE
)A list of the following is returned:
`run.time` - Algorithm run time in seconds.
`iter` - Number of iterations until convergence was reached.
`dqlm.ind` - Logical value indicating whether gamma was fixed at `0`, reducing the exDQLM to the special case of the DQLM.
`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.
`sig.init` - Initial value for sigma, or value at which sigma was fixed if `fix.sigma=TRUE`.
`seq.sigma` - Sequence of sigma estimated by the algorithm until convergence.
`samp.theta` - Posterior sample of the state vector variational distribution.
`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 variational distribution.
`samp.vts` - Posterior sample of latent parameters, v_t, variational distributions.
`theta.out` - List containing the variational distribution of the state vector including filtered distribution parameters (`fm` and `fC`) and smoothed distribution parameters (`sm` and `sC`).
`vts.out` - List containing the variational distributions of latent parameters v_t.
If `dqlm.ind=FALSE`, the list also contains:
`gam.init` - Initial value for gamma, or value at which gamma was fixed if `fix.gamma=TRUE`.
`seq.gamma` - Sequence of gamma estimated by the algorithm until convergence.
`samp.gamma` - Posterior sample of skewness parameter gamma variational distribution.
`samp.sts` - Posterior sample of latent parameters, s_t, variational distributions.
`gammasig.out` - List containing the IS estimate of the variational distribution of sigma and gamma.
`sts.out` - List containing the variational distributions of latent parameters s_t.
Or if `dqlm.ind=TRUE`, the list also contains:
`sig.out` - List containing the IS estimate of the variational distribution of sigma.
A univariate time-series.
The quantile of interest, a value between 0 and 1.
List of the state-space model including `GG`, `FF`, prior parameters `m0` and `C0`.
Discount factors for each block.
Dimension of each block of discount factors.
Logical value indicating whether to fix gamma at `gam.init`. Default is `FALSE`.
Initial value for gamma (skewness parameter), or value at which gamma will be fixed if `fix.gamma=TRUE`.
Logical value indicating whether to fix sigma at `sig.init`. Default is `TRUE`.
Initial value for sigma (scale parameter), or value at which sigma will be fixed if `fix.sigma=TRUE`.
Logical value indicating whether to fix gamma at `0`, reducing the exDQLM to the special case of the DQLM. Default is `FALSE`.
Initial value for dynamic quantile. If `exps0` is not specified, it is set to the DLM estimate of the `p0` quantile.
Tolerance for convergence of dynamic quantile estimates. Default is `tol=0.1`.
Number of particles for the importance sampling of joint variational distribution of sigma and gamma. Default is `n.IS=500`.
Number of samples to draw from the approximated posterior distribution. Default is `n.samp=200`.
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.
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.
Logical value indicating whether progress should be displayed.
# \donttest{
y = scIVTmag[1:1095]
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)
M0 = exdqlmISVB(y,p0=0.85,model,df=c(1,1),dim.df = c(1,6),
gam.init=-3.5,sig.init=15,tol=0.05)
# }
Run the code above in your browser using DataLab