demo如下
library(mgcv)
x = 1:10
y = exp(x+0.2*x^2-0.03*x^3)
data = cbind(x = x, y = y)
data <- as.data.frame(data)
mod <- gam(y~s(x, k=3), data = data, family = quasipoisson())
exp(predict(mod, newdata=data))
predict(mod, newdata=data)
mod$coefficients
summary(mod)
我的问题是,输入 mod$coefficients,可以获得如下数据
(Intercept) s(x).1 s(x).2
4.127378 8.203529 0.979974
而输入的预测变量从1,2,3一致到10,对应的直接回归数据点为:
-0.6599784 1.6182487 3.6916027 5.3395535 6.3826767 6.7238598 6.3631029 5.3975184 4.0065307 2.4106698
我原来以为它们的含义是不同次数多项式前面的系数,也就是说y = 4.127378+8.2x+0.98x2 ,但是预测值似乎并非是这样计算出来的,无法套用这个公式算出结果。
所以,究竟s(x).1下的数字的含义是什么呢?