[R] GLM results different from GAM results without smoothing terms

Prof Brian Ripley ripley at stats.ox.ac.uk
Thu Jan 3 14:54:13 CET 2008


> fit1 <- glm(factor(x1)~factor(Round)+x2,family=binomial(link="probit"))
> fit2 <- gam(factor(x1)~factor(Round)+x2,family=binomial(link="probit"))
> all.equal(fitted(fit1), fitted(fit2))
[1] TRUE

so the fits to the data are the same: your error was in over-interpreting 
the parameters in the presence on non-identifiability.

On Thu, 3 Jan 2008, Daniel Malter wrote:

> Thanks much for your response. My apologies for not putting sample code in
> the first place. Here it comes:
>
> Round=rep(1:10,each=10)
> x1=rbinom(100,1,0.3)
> x2=rep(rnorm(10,0,1),each=10)
>
> summary(glm(factor(x1)~factor(Round)+x2,family=binomial(link="probit")))
>
> library(mgcv)
> summary(gam(factor(x1)~factor(Round)+x2,family=binomial(link="probit")))
>
> Cheers,
> Daniel
>
> -------------------------
> cuncta stricte discussurus
> -------------------------
>
> -----Ursprüngliche Nachricht-----
> Von: Prof Brian Ripley [mailto:ripley at stats.ox.ac.uk]
> Gesendet: Thursday, January 03, 2008 2:13 AM
> An: Daniel Malter
> Cc: r-help at stat.math.ethz.ch
> Betreff: Re: [R] GLM results different from GAM results without smoothing
> terms
>
> On Wed, 2 Jan 2008, Daniel Malter wrote:
>
>> Hi, I am fitting two models, a generalized linear model and a
>> generalized additive model, to the same data. The R-Help tells that "A
>> generalized additive model (GAM) is a generalized linear model (GLM)
>> in which the linear predictor is given by a user specified sum of
>> smooth functions of the covariates plus a conventional parametric
>> component of the linear predictor." I am fitting the GAM without
>> smooth functions and would have expected the parameter estimates to be
> equal to the GLM.
>>
>> I am fitting the following model:
>>
>> reg.glm=glm(YES~factor(RoundStart)+DEP+SPD+S.S+factor(LOST),family=bin
>> omial(
>> link="probit"))
>> reg.gam=gam(YES~factor(RoundStart)+DEP+SPD+S.S+factor(LOST),family=bin
>> omial(
>> link="probit"))
>>
>> DEP, SPD, S.S, and LOST are invariant across the observations within
>> the same RoundStart. Therefore, I would expect to get NAs for these
>> parameter estimates.
>
> So your design matrix is rank-deficient and there is an identifiability
> problem.
>
>> I get NAs in GLM, but I get estimates in GAM. Can anyone explain why
>> that is?
>
> Because there is more than one way to handle rank deficiency.  There are two
> different 'gam' functions in contributed packages for R (and none in R
> itself), so we need more details: see the footer of this message.
> In glm() the NA estimates are treated as zero for computing predictions.
>
>> Thanks much,
>> Daniel
>>
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595


More information about the R-help mailing list