[R] alternative to logistic regression
Terry Therneau
therneau at mayo.edu
Fri Nov 16 15:34:57 CET 2007
You can fit a linear probability model with glm and a bit of arm twisting.
First, make your own copy of the binomial function:
> dump('binomial', file='mybinom.R')
Edit it to change the function name to "mybinom" (or anything else you
like), and to add 'identity' to the list of okLinks.
Source the file back in, and use mybiom('identity') to fit the model.
Caveat Emptor: This will work just fine if all of your data is far enough away
from 0 or 1. But if the predicted value for any data point, at any time during
the iteration, is <=0 or >=1 then the calculation of the log-likelihood will
involve an NA and the glm routine will fail. NAs produced deep inside a
computation tend to produce unhelpful and/or misleading error messages
(sometimes the NA can propogate for some ways through the code before creating a
failure). You can also get the counterintuitive result that models with few or
poor covariates work (all the predictions are near to the mean), but more useful
covariates cause the model to fail.
Linear links for both the binomial and Poisson are a challenging computational
problem. But they are becoming important in medical work due to recent
appreciation that the absolute risk attached to a variable is often more
relevant than the relative risk (odds ratio or risk ratio).
Terry Therneau
More information about the R-help
mailing list