I want to evaluate each component of the predictor from a GAM model separately using the option type="terms"
. As a sanity check, I compared the results to an evaluation of the total prediction using the option type="response"
.
It turns out that the results differ. Here is an example:
library(mgcv)
n<-200
sig <- 2
dat <- gamSim(1,n=n,scale=sig)
b<-gam(y~x0+s(I(x1^2))+s(x2)+offset(x3),da=dat)
nd <- data.frame(x0=c(.25,.5),x1=c(.25,.5),x2=c(.25,.5),x3=c(.25,.5))
a1 <- predict.gam(b,newdata=nd,type="response")
a2 <- rowSums(predict.gam(b,newdata=nd,type="terms")) + b$coefficients[1]
a1 - a2 # Should be zero!
# 1 2
# 0.25 0.50
Can anyone help me with this problem? Thank you very much for your help!