我想了解gam()
中的R为使用上的预测样条逻辑回归。在我的代码绘制的两种方法给出了同样的形状,但在罗吉特规模反应的不同范围,似乎是一个拦截在一人失踪。两者都应该是正确的,但是为什么范围不同?
library(ISLR)
attach(Wage)
library(gam)
gam.lr = gam(I(wage >250) ~ s(age), family = binomial(link = "logit"), data = Wage)
agelims = range(age)
age.grid = seq(from = agelims[1], to = agelims[2])
pred=predict(gam.lr, newdata = list(age = age.grid), type = "link")
par(mfrow = c(2,1))
plot(gam.lr)
plot(age.grid, pred)
我希望两种方法都能给出完全相同的图。 plot(gam.lr)
绘制各组分的累加效应,因为在这里只有一个,因此应该给出预测分对数函数。预测方法还给了我有关链接规模的估计。但是实际输出在不同的范围内。第一种方法的最小值是-4,而所述第二的是小于-7。
答案 0 :(得分:0)
第一个图仅包含估计的平滑函数s(age)
。平滑受制于可识别性约束,因为在用于对平滑进行参数化的基础扩展中,存在一个函数或多个函数的组合与截距完全混淆。因此,您无法在同一模型中拟合平滑和截距,因为您可能会从截距中减去一些值并将其添加回平滑中,因此拟合度相同但系数不同。由于您可以添加和减去无穷大的值,因此可以提供无限的模型,这无济于事。
因此,第一个图是平滑的,受到该和为零的约束,因此其跨度为0。此模型中的截距为:
> coef(gam.lr)[1]
(Intercept)
-4.7175
如果将此值添加到此绘图中的值,则将在第二个绘图中获取值,这是完整模型应用于所提供数据的截距+ f(age)。
这一切也都发生在链接规模上,即对数比值规模,因此所有的都是负值。