Michaelis-Menten Model
micmen.RdFits a Michaelis-Menten nonlinear regression model.
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
divisorshould 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
Linksfor 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
CommonVGAMffArgumentsfor information.- nsimEIM, zero
See
CommonVGAMffArgumentsfor information.- oim
Use the OIM? See
CommonVGAMffArgumentsfor 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.
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.
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.
Warning
This function is not (nor could ever be) entirely reliable. Plotting the fitted function and monitoring convergence is recommended.
Examples
mfit <- vglm(velocity ~ 1, micmen, data = enzyme, trace = TRUE,
crit = "coef", form2 = ~ conc - 1)
#> Iteration 1: coefficients = 0.10545563, 1.69618463
#> Iteration 2: coefficients = 0.10564093, 1.70261028
#> Iteration 3: coefficients = 0.10564256, 1.70268504
#> Iteration 4: coefficients = 0.10564271, 1.70269018
#> Iteration 5: coefficients = 0.10564271, 1.70269000
#> Iteration 6: coefficients = 0.10564271, 1.70268999
summary(mfit)
#>
#> Call:
#> vglm(formula = velocity ~ 1, family = micmen, data = enzyme,
#> form2 = ~conc - 1, trace = TRUE, crit = "coef")
#>
#> Coefficients:
#> Estimate Std. Error z value
#> (Intercept):1 0.10564 0.01788 5.909
#> (Intercept):2 1.70269 0.47756 3.565
#>
#> Names of linear predictors: theta1, theta2
#>
#> (Estimated) Dispersion Parameter for micmen family: 2.011e-05
#>
#> Residual deviance: 0.0002011 on 10 degrees of freedom
#>
#> Number of Fisher scoring iterations: 6
#>
if (FALSE) { # \dontrun{
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") } # }