Cálculo del intervalo de predicción


9

Tengo los siguientes datos ubicados aquí . Estoy tratando de calcular el intervalo de confianza del 95% en la pureza media cuando el porcentaje de hidrocarburos es 1.0. En R, ingreso lo siguiente.

> predict(purity.lm, newdata=list(hydro=1.0), interval="confidence", level=.95)
   fit      lwr      upr
1 89.66431 87.51017 91.81845

Sin embargo, ¿cómo puedo obtener este resultado yo mismo? Intenté usar la siguiente ecuación.

snew=s2(1+1N+(xnewx¯)2(xix¯)2)

Y entro lo siguiente en R.

> SSE_line = sum((purity - (77.863 + 11.801*hydro))^2)
> MSE = SSE_line/18
> t.quantiles <- qt(c(.025, .975), 18)
> prediction = B0 + B1*1
> SE_predict = sqrt(MSE)*sqrt(1+1/20+(mean(hydro)-1)^2/sum((hydro - mean(hydro))^2))
> prediction + SE_predict*t.quantiles
[1] 81.80716 97.52146

Mis resultados son diferentes de la función de predicción de R. ¿Qué estoy malentendido acerca de los intervalos de predicción?


¿Cómo estás calculando el MSE en tu código?

Agregué el cálculo a la publicación.
idealistikz

1
como MMJ sugirió que debe tratarpredict(purity.lm, newdata=list(hydro=1.0), interval="prediction", level=.95)
Vinux

Respuestas:


16

Su predict.lmcódigo está calculando intervalos de confianza para los valores ajustados. El cálculo de su mano está calculando intervalos de predicción para nuevos datos. Si desea obtener el mismo resultado predict.lmque obtuvo del cálculo manual, cambie interval="confidence"a interval="prediction"


1

Buena respuesta de dpel. Agregaría que la diferencia entre el intervalo de confianza y el intervalo de predicción se puede establecer como a continuación:

Intervalo de confianza

snew=s2(1N+(xnewx¯)2(xix¯)2)

Intervalo de predicción

snew=s2(1+1N+(xnewx¯)2(xix¯)2)

Fuente Ver diapositivas páginas 5/17 y 11/17

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.