Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: RE: Michaelis-Menten and regression


From   "Simon MOORE" <[email protected]>
To   <[email protected]>, <[email protected]>
Subject   Re: st: RE: Michaelis-Menten and regression
Date   Thu, 23 Sep 2004 12:09:53 +0100

Thank you!

>>> [email protected] 22/09/04 3:23 PM >>>
Michaelis-Menten function fitting is a can of worms. 
The main thing is to be aware of that and to have 
looked at the literature on it. There is 
a lot, going back decades; do not try to reinvent 
wheels without reading first. 

_Biometrics_ is a good journal here. You may be able to 
exploit stuff on http://www.jstor.org 

However, in Stata one attractive route is to reformulate
the problem as a generalised linear model with reciprocal 
link. 

See the exchange in 

Generalized Linear Models for Enzyme-Kinetic Data 
J. A. Nelder; D. Ruppert; N. Cressie; R. J. Carroll
Biometrics 47(4) (Dec., 1991), pp. 1605-1615

which I haven't read for some years, so the memories
are hazy. As I recall, the main idea is this. You have 

y = ax / (1 + bx) 

so 

1/y = 1 / ax + b / a 

Let us define 

X =  1/x 

and reparameterise 

A = 1 / a 

B = b / a 

We then have 

1/y = AX + B 

and the right-hand side is then a piece of cake. 
The left-hand side we take care of by 
using a reciprocal link, another piece of cake
with -glm-. 

In Stata terms 

. gen rec_x = 1 / x 
. glm y rec_x, link(power -1) 

Of course, all this is just algebra with the 
deterministic curve and says 
nothing about error structure. 

Nelder I guess recommends using a gamma
family. 

Nick 
[email protected] 

Simon Moore
 
> I have a reasonably simple hypothesis that the form of relationship
> between the independent variable (x) and the dependent variable (y)
> follows the Michaelis-Menten rational function, f(x) = ax/(1+bx).  I
> want to have this in a regression model with the cluster() option: reg
> y f(x) V, cluster().  But I can't see a way of achieving this and
> having reg solve for a and b.  I thought maybe a power expansion of
> f(x) might work, but this does not seem appropriate.
> 

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index