| Mit {AdMit} | R Documentation |
Mixture of Student-t Distributions
Description
Density function or random generation for an adaptive mixture of Student-t distributions
Usage
dMit(theta, mit = list(), log = TRUE)
rMit(N = 1, mit = list())
Arguments
theta |
matrix (of size |
mit |
list containing information on the mixture approximation (see *Details*). |
log |
logical; if |
N |
number of draws (positive integer number). |
Details
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 (integer number not smaller than one).
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 the
mit = list(), a Student-t distribution located
at rep(0,d) with scale matrix diag(d) and one
degree of freedom parameter is used.
Value
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.
Note
Further details and examples of the R package AdMit
can be found in Ardia, Hoogerheide, van Dijk (2009a,b). See also
the package vignette by typing vignette("AdMit").
Please cite the package in publications. Use citation("AdMit").
Author(s)
David Ardia
References
Ardia, D., Hoogerheide, L.F., van Dijk, H.K. (2009a). AdMit: Adaptive Mixture of Student-t Distributions. R Journal 1(1), pp.25-30. 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. doi: 10.18637/jss.v029.i03
See Also
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.
Examples
## NB : Low number of draws for speedup. Consider using more draws!
## 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)