[R] mboost: Interpreting coefficients from glmboost if center=TRUE
Kyle Werner
kylewerner10 at gmail.com
Sun Feb 7 23:03:14 CET 2010
I'm running R 2.10.1 with mboost 2.0 in order to build predictive
models . I am performing prediction on a binomial outcome, using a
linear function (glmboost). However, I am running into some confusion
regarding centering. (I am not aware of an mboost-specific mailing
list, so if the main R list is not the right place for this topic,
please let me know.)
The boost_control() function allows for the choice between center=TRUE
and center=FALSE. If I select center=FALSE, I am able to interpret the
coefficients just like those from standard logistic regression.
However, if I select center=TRUE, this is no longer the case. In
theory and in practice with my data, centering improves the
predictions made by the model, so this is an issue worth pursuing for
me.
Below is output from running the exact same data in exactly the same
way, only differing by whether the "center" bit is flipped or not:
Output with center=TRUE:
[(Intercept)] => -0.04543632
[painscore] => 0.007553608
[Offset] => -0.546520621809327
Output with center=FALSE:
[(Intercept)] => -0.989742
[painscore] => 0.001342585
[Offset] => -0.546520621809327
The mean of painscore is 741. It seems to me that for center=FALSE,
mboost should modify the intercept by subtracting 741*0.007553608 from
it (thus intercept should = -11.285). If I manually do this, the
output is credible, and in the ballpark of that given by other methods
(e.g., lrm or glm with a Binomial link function). If I don't do this,
then the inverse logistic interpretation of the output is off by
orders of magnitude.
In the end, with "center=TRUE", and I want to make a prediction based
on the coefficients returned by mboost, the results only make sense if
I manually rescale my independent variables prior to making a
prediction. Is this the desired behavior, or am I doing something
wrong?
Many thanks.
More information about the R-help
mailing list