R/tmvt.R
pmvt.RdThis 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) }