Questa domanda non riguarda specificamente R
, ma ho scelto di usarla R
per illustrarla.
Considera il codice per produrre bande di confidenza attorno a una (normale) linea qq:
library(car)
library(MASS)
b0<-lm(deaths~.,data=road)
qqPlot(b0$resid,pch=16,line="robust")
Sto cercando una spiegazione di (o alternativa un collegamento a un documento cartaceo / online che spieghi) come sono costruite queste bande di confidenza (ho visto un riferimento a Fox 2002 nei file della guida di R, ma purtroppo non ho questo libro a portata di mano).
La mia domanda sarà resa più precisa con un esempio. Ecco come R
calcola questi particolari elementi della configurazione (ho abbreviato / semplificato il codice utilizzato in car::qqPlot
)
x<-b0$resid
good<-!is.na(x)
ord<-order(x[good])
ord.x<-x[good][ord]
n<-length(ord.x)
P<-ppoints(n)
z<-qnorm(P)
plot(z,ord.x,type="n")
coef<-coef(rlm(ord.x~z))
a<-coef[1]
b<-coef[2]
abline(a,b,col="red",lwd=2)
conf<-0.95
zz<-qnorm(1-(1-conf)/2)
SE<-(b/dnorm(z))*sqrt(P*(1-P)/n) #[WHY?]
fit.value<-a+b*z
upper<-fit.value+zz*SE
lower<-fit.value-zz*SE
lines(z,upper,lty=2,lwd=2,col="red")
lines(z,lower,lty=2,lwd=2,col="red")
La domanda è: qual è la giustificazione per la formula utilizzata per calcolare questi SE (ad esempio la linea SE<-(b/dnorm(z))*sqrt(P*(1-P)/n)
).
FWIW questa formula è molto diversa dalla formula delle solite bande di confidenza utilizzate nella regressione lineare