nlregtol.int {tolerance} | R Documentation |
Nonlinear Regression Tolerance Bounds, Version 2
Description
Provides 1-sided or 2-sided nonlinear regression tolerance bounds.
Usage
nlregtol.int(formula, xy.data = data.frame(), x.new = NULL,
side = 1, alpha = 0.05, P = 0.99, maxiter = 50,
new = FALSE, ...)
Arguments
formula |
A nonlinear model formula including variables and parameters. |
xy.data |
A data frame in which to evaluate the formulas in |
x.new |
Any new levels of the predictor(s) for which to report the tolerance bounds. The number of columns must be
1 less than the number of columns for |
side |
Whether a 1-sided or 2-sided tolerance bound is required (determined by |
alpha |
The level chosen such that |
P |
The proportion of the population to be covered by the tolerance bound(s). |
maxiter |
A positive integer specifying the maximum number of iterations that the nonlinear least squares routine ( |
new |
When |
... |
Optional arguments passed to |
Details
It is highly recommended that the user specify starting values for the nls
routine.
Value
npregtol.int2
returns a list with items:
tol |
Data frame of original response varible |
alpha.P.side |
Model specifications of critical level, content level and side. |
reg.type |
Type of regression model. |
model |
The linear regression model fitted. |
newdata |
X values of new data for prediction. |
xy.data.original |
Original data frame |
References
Wallis, W. A. (1951), Tolerance Intervals for Linear Regression, in Second Berkeley Symposium on Mathematical Statistics and Probability, ed. J. Neyman, Berkeley: University of CA Press, 43–51.
Young, D. S. (2013), Regression Tolerance Intervals, Communications in Statistics - Simulation and Computation, 42, 2040–2055.
See Also
Examples
## 95%/95% 2-sided nonlinear regression tolerance bounds
## for a sample of size 50.
set.seed(100)
x <- runif(50, 5, 45)
f1 <- function(x, b1, b2) b1 + (0.49 - b1)*exp(-b2*(x - 8)) +
rnorm(50, sd = 0.01)
y <- f1(x, 0.39, 0.11)
formula <- as.formula(y ~ b1 + (0.49 - b1)*exp(-b2*(x - 8)))
out1 <- nlregtol.int(formula = formula,
xy.data = data.frame(cbind(y, x)),
x.new=c(10,20), side = 2,
alpha = 0.05, P = 0.95 , new = TRUE)
out1
#########
set.seed(100)
x1 <- runif(50, 5, 45)
x2 <- rnorm(50, 0, 10)
f1 <- function(x1, x2, b1, b2) {(0.49 - b1)*exp(-b2*(x1 + x2 - 8)) +
rnorm(50, sd = 0.01)}
y <- f1(x1 , x2 , 0.25 , 0.39)
formula <- as.formula(y ~ (0.49 - b1)*exp(-b2*(x1 + x2 - 8)))
out2 <- nlregtol.int(formula = formula,
xy.data = data.frame(cbind(y, x1 , x2)),
x.new=cbind(c(10,20) , c(47 , 53)), side = 2,
alpha = 0.05, P = 0.95 , new = TRUE)
out2