micmen: Michaelis-Menten Model

View source: R/family.nonlinear.R

micmenR Documentation

Michaelis-Menten Model

Description

Fits a Michaelis-Menten nonlinear regression model.

Usage

micmen(rpar = 0.001, divisor = 10, init1 = NULL, init2 = NULL,
       imethod = 1, oim = TRUE, link1 = "identitylink",
       link2 = "identitylink", firstDeriv = c("nsimEIM", "rpar"),
       probs.x = c(0.15, 0.85), nsimEIM = 500, dispersion = 0,
       zero = NULL)

Arguments

rpar

Numeric. Initial positive ridge parameter. This is used to create positive-definite weight matrices.

divisor

Numerical. The divisor used to divide the ridge parameter at each iteration until it is very small but still positive. The value of divisor should be greater than one.

init1, init2

Numerical. Optional initial value for the first and second parameters, respectively. The default is to use a self-starting value.

link1, link2

Parameter link function applied to the first and second parameters, respectively. See Links for more choices.

dispersion

Numerical. Dispersion parameter.

firstDeriv

Character. Algorithm for computing the first derivatives and working weights. The first is the default.

imethod, probs.x

See CommonVGAMffArguments for information.

nsimEIM, zero

See CommonVGAMffArguments for information.

oim

Use the OIM? See CommonVGAMffArguments for information.

Details

The Michaelis-Menten model is given by

E(Y_i) = (\theta_1 u_i) / (\theta_2 + u_i)

where \theta_1 and \theta_2 are the two parameters.

The relationship between iteratively reweighted least squares and the Gauss-Newton algorithm is given in Wedderburn (1974). However, the algorithm used by this family function is different. Details are given at the Author's web site.

Value

An object of class "vglmff" (see vglmff-class). The object is used by modelling functions such as vglm, and vgam.

Warning

This function is not (nor could ever be) entirely reliable. Plotting the fitted function and monitoring convergence is recommended.

Note

The regressor values u_i are inputted as the RHS of the form2 argument. It should just be a simple term; no smart prediction is used. It should just a single vector, therefore omit the intercept term. The LHS of the formula form2 is ignored.

To predict the response at new values of u_i one must assign the @extra$Xm2 slot in the fitted object these values, e.g., see the example below.

Numerical problems may occur. If so, try setting some initial values for the parameters. In the future, several self-starting initial values will be implemented.

Author(s)

T. W. Yee

References

Seber, G. A. F. and Wild, C. J. (1989). Nonlinear Regression, New York: Wiley.

Wedderburn, R. W. M. (1974). Quasi-likelihood functions, generalized linear models, and the Gauss-Newton method. Biometrika, 61, 439–447.

Bates, D. M. and Watts, D. G. (1988). Nonlinear Regression Analysis and Its Applications, New York: Wiley.

See Also

enzyme.

Examples

mfit <- vglm(velocity ~ 1, micmen, data = enzyme, trace = TRUE,
             crit = "coef", form2 = ~ conc - 1)
summary(mfit)

## Not run: 
plot(velocity ~ conc, enzyme, xlab = "concentration", las = 1,
     col = "blue",
     main = "Michaelis-Menten equation for the enzyme data",
     ylim = c(0, max(velocity)), xlim = c(0, max(conc)))
points(fitted(mfit) ~ conc, enzyme, col = 2, pch = "+", cex = 2)

# This predicts the response at a finer grid:
newenzyme <- data.frame(conc = seq(0, max(with(enzyme, conc)),
      len = 200))
mfit@extra$Xm2 <- newenzyme$conc # This is needed for prediction
lines(predict(mfit, newenzyme, "response") ~ conc, newenzyme,
      col = "red") 
## End(Not run)

VGAM documentation built on Sept. 18, 2024, 9:09 a.m.