De la forma habitual:
p <- predict(mod, newdata, type = "link", se.fit = TRUE)
A continuación, observe que p
contiene un componente $se.fit
con los errores estándar de las predicciones para las observaciones en newdata
. A continuación, puede formar el CI multiplicando el SE por un valor adecuado al nivel deseado. Por ejemplo, un intervalo de confianza aproximado del 95% se forma como:
upr <- p$fit + (2 * p$se.fit)
lwr <- p$fit - (2 * p$se.fit)
Se sustituye por un valor apropiado de un $t$ o la distribución gaussiana para el intervalo que necesita.
Tenga en cuenta que utilizo type = "link"
ya que no dices si tienes un GAM o sólo un AM. En el GAM, hay que formar el intervalo de confianza en la escala del predictor lineal y luego transformarlo en la escala de la respuesta aplicando la inversa de la función de enlace:
upr <- mod$family$linkinv(upr)
lwr <- mod$family$linkinv(lwr)
Tenga en cuenta que se trata de intervalos muy aproximados. Además estos intervalos son puntuales sobre los valores predichos y no tienen en cuenta el hecho de que se haya realizado la selección de suavidad.
Se puede calcular un intervalo de confianza simultáneo mediante simulación a partir de la distribución posterior de los parámetros. Tengo un ejemplo de ello en mi blog .
Si desea un intervalo de confianza que no esté condicionado por los parámetros de suavidad (es decir, uno que tenga en cuenta que no conocemos, sino que estimamos, los valores de los parámetros de suavidad), entonces añada unconditional = TRUE
a la predict()
llamar.
Además, si no quiere hacerlo usted mismo, tenga en cuenta que las nuevas versiones de mgcv tener un plot.gam()
que devuelve un objeto con todos los datos utilizados para crear los gráficos de los suavizados y sus intervalos de confianza. Puede guardar la salida de plot.gam()
en un objeto
obj <- plot(model, ....)
y luego inspeccionar obj
, que es una lista con un componente por liso. Añadir seWithMean = TRUE
a la plot()
para obtener intervalos de confianza que no estén condicionados por el parámetro de suavidad.