El intervalo de predicción para un valor individual de Y para un valor dado de X se define por:
Ejemplo Use la información del primer ejemplo: calcule el error estándar de la estimación: desarrolle un intervalo de confianza confianza de 95% para los libros de 650 páginas: [24.03, 30.25]. Verifique desarrolle un intervalo de predicción de 95% para un libro de 650 páginas: [18.09, 36.19] Verifique
#### Intervalo de prediccion ####################### #################################### ######################### ############## ## ####################### ############################### ######## ######################### ############################ ### ##################### ##### El intervalo de prediccion se calcula casi de la misma forma que ######### ##### el de respuesta respuesta media, pero se usa usa 1+t(x0)(XtX)^ 1+t(x0)(XtX)^ -1 x0 en lugar de ######## ##### solo t(x0)(XtX)^ t(x0)(XtX)^ -1 x0 para tomar en cu enta la varianza de ypred ########## lwr2<-yhath-tt*sqrt(sigma2*(1+pve)) upr2<-yhath+tt*sqrt(sigma2*(1+pve)) srp<-data.frame(pred=yhath, srp<-data.frame(pred=yhath,lwr2,upr2)## lwr2,upr2)### # Intervalo de confianza del 95% de ypred srp
###################################################################### ########## ###################################################################### ########## ###### Calculo de intervalos de respuesta media y prediccion con las ######### ###### Funciones de R ########## ###################################################################### ########## m1<-lm(y~x1+x2) #### Se ajusta el modelo newdata<-data.frame(x1=8,x2=275) #### Solo se quieren los inte rvalos de resp med #### y pred en el punto x0< -c(1,8,275) respmed<-predict(m1,newdata,interval="confidence")#### Intervalo de conf de respmed #### respuesta media srm predicc<-predict(m1,newdata,interval="predictio n")#### Intervalo de conf de predicc #### prediccion srp
Aquí está todo lo que hace en un ejercicio completo y arriba solo está el intervalo de predicción ###################################################################### ########## ###### Variables relacionadas con el tiempo de entrega ######################### ###################################################################### ########## ######## Se l ee la base de datos ############################################### TE<-read.table('C:/Documents and Settings/carlos/Escritorio/Regresion/ClasePEND/RMEPRED/tiempoe.txt', header = TRUE) attach(TE) ######## Se grafican las parejas de variables ################################## pairs(y~x1+x2,pch=20,cex=1.8,font.lab=7) ######## Se calculan los coef de correlacion de pearson entre parejas de var ### round(cor(TE),4) ###################################################################### ########## ######### Se calculan los intervalos de respuesta media ######################## ################ y prediccion directamente #################################### ###################################################################### ########## ###### Se construye la ma triz de variables independientes ###################### n<-nrow(TE) Int<-rep(1,n) X<-as.matrix(cbind(Int,TE[,2:3])) p<-ncol(X) #### Se escriben tres funciones para hacer las cosas mas faciles ############### ###################################################################### ########## #### Esta funcion calcula las betas y ademas la R de la factorizacion QR pues ## #### se utilizara mas adelante ################################################# betext<-function(X,y){ r<-qr(X) Q <- qr.Q(r) R<- qr.R(r) b<-backsolve(R,t(Q)%*%y) list(b=b,R=R) } ###################################################################### ########## #### Esta funcion calcula la suma del cuadrado de los residuale ete ############ fRSS<-function(X,y,b){ yhat<-X%*%b e<-y-yhat ete<-(t(e)%*%e)[1]
ete } ###################################################################### ########## #### Esta funcion calcula t(x0)(XtX)^ -1 x0, necesita la R del programa betaext## pestv<-function(R,x0){ R1<-solve(R) V<-R1%*%t(R1) t(x0)%*%V%*%x0 } ###################################################################### ########## rr<-betext(X,y) #### Se calculan las betas y la R b<-rr$b #### Se almacenan las betas R<-rr$R #### Se almacena la R ete<-fRSS(X,y,b) #### Se calcula ete sigma2<-ete/(n-p) #### Con ete se calcula sigma2 ##### Intervalo de respuesta media ############################################# ###################################################################### ########## #### Se quiere s aber en promedio cuanto se tardaria el repartidor si tiene que # #### llevar 8 cajas y caminar una distancia de 275 pies ######################## x0<-c(1,8,275) #### 8 cajas y 275 pies y la interseccion pve<-pestv(R,x0) #### Se calcula t(x0)(XtX)^ -1 x0 ###################################################################### ########## alfa<-.05 ### Se fija el nivel de confianza 95% tt<-qt(1-alfa/2,n -p) ### Se calcula el cuantil yhath<-t(x0)%*%b ### Estimador puntual de E[y|x1=8,x2=275] lwr<-yhath-tt*sqrt(sigma2*pve) upr<-yhath+tt*sqrt(sigma2*pve) srm<-data.frame(respmed=yhath,lwr,upr)### Intervalo de confianza del 95% de srm ### E[y|x1=8,x2=275] ##### Intervalo de prediccion ######################################### ######### ###################################################################### ########## ##### El intervalo de prediccion se calcula casi de la misma forma que ######### ##### el de respuesta media, pero se usa 1+t(x0)(XtX)^ -1 x0 en lugar de ######## ##### solo t(x0)(XtX)^ -1 x0 para tomar en cuenta la varianza de ypred ########## lwr2<-yhath-tt*sqrt(sigma2*(1+pve)) upr2<-yhath+tt*sqrt(sigma2*(1+pve)) srp<-data.frame(pred=yhath,lwr2,upr2)### Intervalo de confianza del 95% de ypred srp ###################################################################### ########## ###################################################################### ##########
###### Calculo de intervalos de respuesta media y prediccion con las ######### ###### funciones de R ########## ###################################################################### ########## m1<-lm(y~x1+x2) #### Se ajusta el modelo newdata<-data.frame(x1=8,x2=275) #### Solo se quieren los inte rvalos de resp med #### y pred en el punto x0< c(1,8,275) respmed<-predict(m1,newdata,interval="confidence")#### Intervalo de conf de respmed #### respuesta media srm predicc<-predict(m1,newdata,interval="prediction")#### Intervalo de conf de predicc #### prediccion srp