[R] GAM without intercept
Simon Wood
s.wood at bath.ac.uk
Fri Oct 12 10:49:04 CEST 2012
Smooth terms are constrained to sum to zero over the covariate values.
This is an identifiability constraint designed to avoid confounding with
the intercept (particularly important if you have more than one smooth).
If you remove the intercept from you model altogether (m2) then the
smooth will still sum to zero over the covariate values, which in your
case will mean that the smooth is quite a long way from the data. When
you include the intercept (m1) then the intercept is effectively
shifting the constrained curve up towards the data, and you get a nice fit.
So it's not quite true that m2 has nothing to do with the data. The
curve you get is as close to the data as a curve constrained to average
to zero can get.
best,
Simon
On 10/10/12 23:22, SAEC wrote:
> Hi everybody,
>
> I am trying to fit a GAM model without intercept using library mgcv.
> However, the result has nothing to do with the observed data. In fact
> the predicted points are far from the predicted points obtained from the
> model with intercept. For example:
>
> #First I generate some simulated data:
>
> library(mgcv)
> x<-seq(0,10,length=100)
> y<-x^2+rnorm(100)
>
> #then I fit a gam model with and without intercept
>
> m1<-gam(y~s(x,k=10,bs='cs'))
> m2<-gam(y~s(x,k=10,bs='cs')-1)
>
> #and now I obtain predicted values for the interval 0-1
>
> x1<-seq(0,10,0.1)
> y1<-predict(m1,newdata=list(x=x1))
> y2<-predict(m2,newdata=list(x=x1))
>
> #plotting predicted values
>
> plot(x,y,ylim=c(0,100))
> lines(x1,y1,lwd=4,col='red')
> lines(x1,y2,lwd=4,col='blue')
>
> In this example you can see that the red line are the predicted points
> from the model with intercept which fit pretty good to the data, but the
> blue line (without intercept) is far from the observed points.
>
> Probably I missunderstanding some key elements in gam modelling or using
> incorrect syntaxis. I don't know what the problem is. Any ideas will be
> helpful.
>
> Sergio
>
>
>
>
>
>
>
--
Simon Wood, Mathematical Science, University of Bath BA2 7AY UK
+44 (0)1225 386603 http://people.bath.ac.uk/sw283
More information about the R-help
mailing list