Tengo algunos datos que ajusté usando un modelo LOESS en R, dándome esto:
Los datos tienen un predictor y una respuesta, y es heteroscedastic.
También agregué intervalos de confianza. El problema es que los intervalos son intervalos de confianza para la línea, mientras que estoy interesado en los intervalos de predicción. Por ejemplo, el panel inferior es más variable que el panel superior, pero esto no se captura en los intervalos.
Esta pregunta está ligeramente relacionada:
Comprender la banda de confianza a partir de una regresión polinómica , especialmente la respuesta de @AndyW, sin embargo, en su ejemplo, utiliza el interval="predict"
argumento relativamente directo que existe predict.lm
, pero está ausente predict.loess
.
Entonces tengo dos preguntas muy relacionadas:
- ¿Cómo obtengo los intervalos de predicción puntuales para LOESS?
- ¿Cómo puedo predecir valores que capturarán ese intervalo, es decir, generar un montón de números aleatorios que eventualmente se parecerán a los datos originales?
Es posible que no necesite LOESS y deba usar algo más, pero no estoy familiarizado con mis opciones. Básicamente, debe ajustarse a la línea usando regresión local o regresión lineal múltiple, lo que me da estimaciones de error para las líneas, y además también diferentes variaciones para diferentes variables explicativas, por lo que puedo predecir la distribución de la variable de respuesta (y) a ciertos valores de x .
fuente
Respuestas:
¡No sé cómo hacer bandas de predicción con la
loess
función original , pero hay una funciónloess.sd
en elmsir
paquete que hace exactamente eso! Casi al pie de la letra de lamsir
documentación:Su segunda pregunta es un poco más complicada ya
loess.sd
que no viene con una función de predicción, pero puede hackearla interpolando linealmente los medios pronosticados y las SD de las que saleloess.sd
(usandoapprox
). Estos, a su vez, se pueden utilizar para simular datos utilizando una distribución normal con los medios y las DE pronosticados:fuente
loess.sd
, no es muy diferente de lo que @rnso sugirió en un comentario a otra pregunta mía . ¡Gracias!