Computes the equicoordinate quantile \(q\) such that \(P(X_1 \le q, X_2 \le q, \ldots, X_k \le q) = p\) for a multivariate normal random vector \(X\).
Usage
qmvnormr(
p,
mean = NULL,
sigma,
n0 = 1024,
n_max = 16384,
R = 8,
abseps = 1e-04,
releps = 0,
seed = 314159,
parallel = TRUE,
nthreads = 0
)Arguments
- p
The probability level (cumulative probability).
- mean
The mean vector. If
NULL(default), a zero vector of appropriate length is used.- sigma
The covariance (or correlation) matrix of the distribution.
- n0
Initial number of samples per replication for the Monte Carlo integration.
- n_max
Maximum number of samples allowed per replication.
- R
Number of independent replications used to estimate the error.
- abseps
Absolute error tolerance for the probability calculation.
- releps
Relative error tolerance for the probability calculation.
- seed
Random seed for reproducibility. If 0, a seed is generated from the computer clock.
- parallel
Logical; if
TRUE, computations are performed in parallel.- nthreads
Number of threads for parallel execution. If 0, the default RcppParallel behavior is used.
Details
This function finds the value \(q\) using a root-finding algorithm
applied to the pmvnormr function. It solves for the value where
the multivariate normal cumulative distribution function equals the
target probability \(p\).
Positive semidefinite sigma matrices (including singular cases) are
supported in the general covariance branch via minimal diagonal
stabilization during factorization.
Author
Kaifeng Lu, kaifenglu@gmail.com