1
オプションtype="terms"
を使用して、GAMモデルからプレディクタの各コンポーネントを個別に評価します。サニティ・チェックとして、結果をオプションtype="response"
を使用して合計予測の評価と比較しました。mgcv:predict.gam()は、type = "terms"とtype = "response"に対して異なる結果を返します。
結果が異なることが分かります。次に例を示します。
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
誰でもこの問題を解決できますか?ご助力ありがとうございます!