> I am wondering whether anyone could explain what'd be the difference
between running a 'generalized additive regression' versus
'generalized linear regression' with splines.
The smooth terms in mgcv::gam are represented using *penalized*
regression splines, with the degree of penalization selected as part of
fitting. Using glm with ns the smooth terms are represented using
unpenalized regression splines with the smoothness controlled by how
many knots you chose (none in your example, so the ns terms were
actually straight lines).
best,
Simon
> Are they same models theoretically? My apologies if this is a silly
question. Any comments or direction to references will be highly appreciated.
>
> Thanks in advance,
>
> Ehsan
>
>
> #####################
> set.seed(545)
> require(mgcv)
> n <- 200
> x1 <- c(rnorm(n), 1+rnorm(n))
> x2 <- sqrt(c(rnorm(n,4),rnorm(n,6)))
> y <- c(rep(0,n), rep(1,n))
> #####################
> # GAM version
> #####################
> r1 <- gam(y~s(x1, bs = "cr")+s(x2, bs =
"cr"),family=binomial)
> pr1 <- predict(r1, type='response')
> summary(pr1)
> hist(pr1)
> #####################
> # GLM version
> #####################
> r2 <- glm(y~ns(x1)+ns(x2),family=binomial)
> pr2 <- predict(r2, type='response')
> summary(pr2)
> hist(pr2)
> #####################
> # Results
> #####################
>> summary(pr1)
> Min. 1st Qu. Median Mean 3rd Qu. Max.
> 0.0000394 0.0550200 0.5027000 0.5000000 0.9322000 1.0000000
>> summary(pr2)
> Min. 1st Qu. Median Mean 3rd Qu. Max.
> 0.0000403 0.0573300 0.5229000 0.5000000 0.9159000 0.9992000
> ______________________________________________
> R-help at r-project.org mailing list
> 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.
>
--
Simon Wood, Mathematical Science, University of Bath BA2 7AY UK
+44 (0)1225 386603 http://people.bath.ac.uk/sw283