Last data update: 2014.03.03

R: truncated multivariate normal cumulative distribution...
mvNqmcR Documentation

truncated multivariate normal cumulative distribution (quasi-Monte Carlo)

Description

computes an estimator and a deterministic upper bound of the probability Pr(l<X<u), where X is a zero-mean multivariate normal vector with covariance matrix Σ, that is, X is drawn from N(0,Σ) infinite values for vectors u and l are accepted;

Usage

mvNqmc(l, u, Sig, n)

Arguments

l

lower truncation limit

u

upper truncation limit

Sig

covariance matrix of N(0,Σ)

n

total randomized quasi-Monte Carlo simulation effort; higher values yield more accurate results;

Details

Quasi-Monte Carlo version:

This version uses a Quasi Monte Carlo (QMC) pointset of size ceiling(n/12) and estimates the relative error using 12 independent randomized QMC estimators; QMC is slower than ordinary Monte Carlo, but is also likely to be more accurate when d<50. For high dimensions, say d>50, you may obtain the same accuracy using the (typically faster) mvNcdf.

The non-zero mean case, that is, N(μ,Σ):

Suppose you wish to estimate p=Pr(l<AX<u), where A is a full rank matrix and X drawn from N(μ,Σ). Then, you simply compute p=Pr(l-Aμ<AY<u-Aμ), where Y is drawn from N(0,AΣ A^\top).

Value

est with structure

$prob

estimated value of probability Pr(l<X<u)

$relErr

estimated relative error of estimator

$upbnd

theoretical upper bound on true Pr(l<X<u)

Author(s)

Z. I. Botev, email: botev@unsw.edu.au and web page: http://web.maths.unsw.edu.au/~zdravkobotev/

References

Z. I. Botev (2015), The Normal Law Under Linear Restrictions: Simulation and Estimation via Minimax Tilting, submitted to JRSS(B)

See Also

See also: mvNcdf and mvrandn

Examples

d=15;l=1:d;u=l+Inf;
Sig=matrix(rnorm(d^2),d,d)*2;Sig=Sig%*%t(Sig)
n=10^3 # size of simulation effort
x=mvNqmc(l,u,Sig,10^4)
print(x)

Results