| Mit | R Documentation |
Density function or random generation for an adaptive mixture of Student-t distributions
dMit(theta, mit = list(), log = TRUE)
rMit(N = 1, mit = list())
theta |
matrix (of size |
mit |
list containing information on the mixture approximation (see *Details*). |
log |
logical; if |
N |
number of draws (positive integer number). |
dMit returns the density values while rMit generates
draws from a mixture of Student-t distributions.
The argument mit is a list containing information on the
adaptive mixture of Student-t distributions. The following components must
be provided:
pvector (of length H) of mixture probabilities.
mumatrix (of size H \times d) containing
the vectors of modes (in row) of the mixture components.
Sigmamatrix (of size H \times d^2)
containing the scale matrices (in row) of the mixture components.
dfdegrees of freedom parameter of the Student-t components (positive real number).
where H (\geq 1) is the number of components and
d (\geq 1) is
the dimension of the mixture approximation. Typically,
mit is estimated by the function AdMit. If
mit = list(), a standard Cauchy distribution is used, that is, a
univariate Student-t distribution located at 0 with unit
scale and one degree of freedom, whatever the dimension of the problem.
Vector (of length N of density values, or matrix (of size
Nxd) of random draws, where d (\geq 1) is the
dimension of the mixture approximation.
Further details and examples of the R package AdMit
can be found in Ardia, Hoogerheide, van Dijk (2009a,b).
Please cite the package in publications. Use citation("AdMit").
David Ardia
Ardia, D., Hoogerheide, L.F., van Dijk, H.K. (2009a). AdMit: Adaptive Mixture of Student-t Distributions. R Journal 1(1), pp.25-30. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.32614/RJ-2009-003")}
Ardia, D., Hoogerheide, L.F., van Dijk, H.K. (2009b). Adaptive Mixture of Student-t Distributions as a Flexible Candidate Distribution for Efficient Simulation: The R Package AdMit. Journal of Statistical Software 29(3), pp.1-32. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.18637/jss.v029.i03")}
AdMit for fitting an adaptive mixture of
Student-t distributions to a given function KERNEL,
AdMitIS for importance sampling using an adaptive
mixture of Student-t distributions as the importance density,
AdMitMH for the independence chain Metropolis-Hastings
using an adaptive mixture of Student-t distributions as the
candidate density.
## NB : Low number of draws for speedup. Consider using more draws!
## The examples below change the graphical parameters; restore them on exit
oldpar <- par(no.readonly = TRUE)
on.exit(par(oldpar))
## One dimensional two components mixture of Student-t distributions
mit <- list(p = c(0.5, 0.5),
mu = matrix(c(-2.0, 0.5), 2, 1, byrow = TRUE),
Sigma = matrix(0.1, 2),
df = 10)
## Generate draws from the mixture
hist(rMit(1e4, mit = mit), nclass = 100, freq = FALSE)
x <- seq(from = -5.0, to = 5.0, by = 0.01)
## Add the density to the histogram
lines(x, dMit(x, mit = mit, log = FALSE), col = "red", lwd = 2)
## Two dimensional (one component mixture) Student-t distribution
mit <- list(p = 1,
mu = matrix(0.0, 1.0, 2.0),
Sigma = matrix(c(1.0, 0.0, 0.0, 1.0), 1, 4),
df = 10)
## Function used to plot the mixture in two dimensions
dMitPlot <- function(x1, x2, mit = mit)
{
dMit(cbind(x1, x2), mit = mit, log = FALSE)
}
x1 <- x2 <- seq(from = -10.0, to = 10.0, by = 0.1)
thexlim <- theylim <- range(x1)
z <- outer(x1, x2, FUN = dMitPlot, mit = mit)
## Contour plot of the mixture
contour(x1, x2, z, nlevel = 20, las = 1,
col = rainbow(20),
xlim = thexlim, ylim = theylim)
par(new = TRUE)
## Generate draws from the mixture
plot(rMit(1e4, mit = mit), pch = 20, cex = 0.3,
xlim = thexlim, ylim = theylim, col = "red", las = 1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.