Cette question ne concerne pas spécifiquement R
, mais j'ai choisi de l'utiliser R
pour l'illustrer.
Considérez le code pour produire des bandes de confiance autour d'une ligne qq (normale):
library(car)
library(MASS)
b0<-lm(deaths~.,data=road)
qqPlot(b0$resid,pch=16,line="robust")
Je cherche une explication (ou un lien alternatif vers un document papier / en ligne expliquant) comment ces bandes de confiance sont construites (j'ai vu une référence à Fox 2002 dans les fichiers d'aide de R mais malheureusement je ne l'ai pas livre à portée de main).
Ma question sera précisée avec un exemple. Voici comment R
calcule ces CI particuliers (j'ai raccourci / simplifié le code utilisé dans 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 question est: quelle est la justification de la formule utilisée pour calculer ces SE (par exemple la ligne SE<-(b/dnorm(z))*sqrt(P*(1-P)/n)
).
FWIW cette formule est très différente de la formule des bandes de confiance habituelles utilisées en régression linéaire