R/tmvt.R
pmvt.Rd
This function computes the distribution function of a multivariate normal distribution vector for an arbitrary rectangular region [lb
, ub
].
pmvt
computes an estimate and the value is returned along with a relative error and a deterministic upper bound of the distribution function of the multivariate normal distribution.
Infinite values for vectors \(u\) and \(l\) are accepted. The Monte Carlo method uses sample size \(n\): the larger the sample size, the smaller the relative error of the estimator.
pmvt( mu, sigma, df, lb = -Inf, ub = Inf, type = c("mc", "qmc"), log = FALSE, B = 10000 )
mu | vector of location parameters |
---|---|
sigma | scale matrix |
df | degrees of freedom |
lb | vector of lower truncation limits |
ub | vector of upper truncation limits |
type | string, either of |
log | logical; if |
B | number of replications for the (quasi)-Monte Carlo scheme |
Z. I. Botev and P. L'Ecuyer (2015), Efficient probability estimation and simulation of the truncated multivariate Student-t distribution, Proceedings of the 2015 Winter Simulation Conference, pp. 380-391
d <- 15; nu <- 30; l <- rep(2, d); u <- rep(Inf, d); sigma <- 0.5 * matrix(1, d, d) + 0.5 * diag(1, d); est <- pmvt(lb = l, ub = u, sigma = sigma, df = nu) # mvtnorm::pmvt(lower = l, upper = u, df = nu, sigma = sigma) if (FALSE) { d <- 5 sigma <- solve(0.5 * diag(d) + matrix(0.5, d, d)) # mvtnorm::pmvt(lower = rep(-1,d), upper = rep(Inf, d), df = 10, sigma = sigma)[1] pmvt(lb = rep(-1, d), ub = rep(Inf, d), sigma = sigma, df = 10) }