mvTcdf: Truncated multivariate student cumulative distribution

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/mvTcdf.R

Description

Computes an estimator of the probability Pr(l<X<u), where X is a centered multivariate student vector with scale matrix Sig and degrees of freedom df. Infinite values for vectors u and l are accepted.

Usage

1
mvTcdf(l, u, Sig, df, n = 1e+05)

Arguments

l

lower bound for truncation (infinite values allowed)

u

upper bound for truncation

Sig

covariance matrix

df

degrees of freedom

n

sample size

Details

Monte Carlo method uses sample size n; the larger the n, the smaller the relative error of the estimator;

Value

a list with components

Note

If you want to estimate Pr(l<Y<u), where Y follows a Student distribution with df degrees of freedom, location vector m and scale matrix Sig, then use mvTqmc(Sig, l - m, u - m, nu, n).

Author(s)

Matlab code by Zdravko Botev, R port by Leo Belzile

References

Z. I. Botev (2017), The Normal Law Under Linear Restrictions: Simulation and Estimation via Minimax Tilting, Journal of the Royal Statistical Society, Series B, 79 (1), pp. 1–24

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

See Also

mvTqmc, mvrandt, mvNqmc, mvrandn

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
 d <- 15; nu <- 30;
 l <- rep(2, d); u <- rep(Inf, d);
 Sig <- 0.5 * matrix(1, d, d) + 0.5 * diag(1, d);
 est <- mvTcdf(l, u, Sig, nu, n = 1e4)
 # mvtnorm::pmvt(lower = l, upper = u, df = nu, sigma = Sig)
## Not run: 
d <- 5
Sig <- solve(0.5*diag(d)+matrix(0.5, d,d))
# mvtnorm::pmvt(lower = rep(-1,d), upper = rep(Inf, d), df = 10, sigma = Sig)[1]
mvTcdf(rep(-1, d), u = rep(Inf, d), Sig = Sig, df = 10, n=1e4)$prob

## End(Not run)

TruncatedNormal documentation built on Sept. 8, 2021, 5:07 p.m.