| mvtol.region {tolerance} | R Documentation | 
Multivariate Normal Tolerance Regions
Description
Determines the appropriate tolerance factor for computing multivariate normal tolerance regions based on Monte Carlo methods or other approximations.
Usage
mvtol.region(x, alpha = 0.05, P = 0.99, B = 1000, M = 1000,
             method = c("KM", "AM", "GM", "HM", "MHM", "V11", 
             "HM.V11", "MC")) 
Arguments
| x | An  | 
| alpha | The level chosen such that  | 
| P | The proportion of the population to be covered by this tolerance region.  A vector of  | 
| B | The number of iterations used for the Monte Carlo algorithms (i.e., when  | 
| M | The number of iterations used for the inner loop of the Monte Carlo algorithm specified through  | 
| method | The method for estimating the tolerance factors.  | 
Details
All of the methods are outlined in the references that we provided. In practice, we recommend using the Krishnamoorthy-Mondal approach. A basic sketch of how the Krishnamoorthy-Mondal algorithm works is as follows:
(1) Generate independent chi-square random variables and Wishart random matrices.
(2) Compute the eigenvalues of the randomly generated Wishart matrices.
(3) Iterate the above steps to generate a set of B sample values such that the 100(1-alpha)-th percentile is an approximate tolerance factor.
Value
mvtol.region returns a matrix where the rows pertain to each confidence level 1-alpha specified and the columns
pertain to each proportion level P specified.
References
Krishnamoorthy, K. and Mathew, T. (1999), Comparison of Approximation Methods for Computing Tolerance Factors for a Multivariate Normal Population, Technometrics, 41, 234–249.
Krishnamoorthy, K. and Mondal, S. (2006), Improved Tolerance Factors for Multivariate Normal Distributions, Communications in Statistics - Simulation and Computation, 35, 461–478.
Examples
 
## 90%/90% bivariate normal tolerance region. 
set.seed(100)
x1 <- rnorm(100, 0, 0.2)
x2 <- rnorm(100, 0, 0.5)
x <- cbind(x1, x2)
out1 <- mvtol.region(x = x, alpha = 0.10, P = 0.90, B = 1000,
                     method = "KM")
out1
plottol(out1, x)
## 90%/90% trivariate normal tolerance region. 
set.seed(100)
x1 <- rnorm(100, 0, 0.2)
x2 <- rnorm(100, 0, 0.5)
x3 <- rnorm(100, 5, 1)
x <- cbind(x1, x2, x3)
mvtol.region(x = x, alpha = c(0.10, 0.05, 0.01), 
             P = c(0.90, 0.95, 0.99), B = 1000, method = "KM") 
out2 <- mvtol.region(x = x, alpha = 0.10, P = 0.90, B = 1000, 
                     method = "KM")
out2
plottol(out2, x)