Esta respuesta analiza el significado de la cita y ofrece los resultados de un estudio de simulación para ilustrarlo y ayudar a comprender lo que podría estar tratando de decir. Cualquiera puede ampliar fácilmente el estudio (con R
habilidades rudimentarias ) para explorar otros procedimientos de intervalo de confianza y otros modelos.
Dos cuestiones interesantes surgieron en este trabajo. Uno se refiere a cómo evaluar la precisión de un procedimiento de intervalo de confianza. La impresión de robustez depende de eso. Muestro dos medidas de precisión diferentes para que pueda compararlas.
El otro problema es que, aunque un procedimiento de intervalo de confianza con baja confianza puede ser robusto, los límites de confianza correspondientes pueden no serlo en absoluto. Los intervalos tienden a funcionar bien porque los errores que cometen en un extremo a menudo contrarrestan los errores que cometen en el otro. Como cuestión práctica, puede estar bastante seguro de que alrededor de la mitad de sus intervalos de confianza del están cubriendo sus parámetros, pero el parámetro real podría estar consistentemente cerca de un extremo particular de cada intervalo, dependiendo de cómo la realidad se aleje de los supuestos de su modelo.50 %
Robusto tiene un significado estándar en estadística:
La solidez generalmente implica insensibilidad a las desviaciones de los supuestos que rodean un modelo probabilístico subyacente.
(Hoaglin, Mosteller y Tukey, Understanding Robust and Exploratory Data Analysis . J. Wiley (1983), p. 2.)
Esto es consistente con la cita en la pregunta. Para comprender la cita, aún necesitamos conocer el propósito previsto de un intervalo de confianza. Con este fin, repasemos lo que escribió Gelman.
Prefiero intervalos de 50% a 95% por 3 razones:
Estabilidad computacional,
Evaluación más intuitiva (la mitad de los intervalos del 50% deben contener el valor verdadero),
Una sensación de que en las aplicaciones es mejor tener una idea de dónde estarán los parámetros y los valores pronosticados, no intentar una certeza irrealista.
Como obtener una idea de los valores pronosticados no es para lo que están destinados los intervalos de confianza (IC), me enfocaré en obtener una idea de los valores de los parámetros , que es lo que hacen los IC. Llamemos a estos los valores "objetivo". Por lo tanto, por definición, un IC está destinado a cubrir su objetivo con una probabilidad específica (su nivel de confianza). Lograr las tasas de cobertura previstas es el criterio mínimo para evaluar la calidad de cualquier procedimiento de CI. (Además, podríamos estar interesados en los anchos típicos de CI. Para mantener la publicación a una longitud razonable, ignoraré este problema).
Estas consideraciones nos invitan a estudiar hasta qué punto un cálculo del intervalo de confianza podría inducirnos a error con respecto al valor del parámetro objetivo. La cita podría leerse como una sugerencia de que los IC de menor confianza pueden conservar su cobertura incluso cuando los datos se generan por un proceso diferente al modelo. Eso es algo que podemos probar. El procedimiento es:
Adopte un modelo de probabilidad que incluya al menos un parámetro. El clásico es el muestreo de una distribución Normal de media y varianza desconocidas.
Seleccione un procedimiento de CI para uno o más de los parámetros del modelo. Una excelente construye el IC a partir de la media muestral y la desviación estándar muestral, multiplicando este último por un factor dado por una distribución t de Student.
Aplique ese procedimiento a varios modelos diferentes , sin apartarse demasiado del adoptado, para evaluar su cobertura en un rango de niveles de confianza.
50 %99,8 %
αpags, luego
Iniciar sesión( p1 - p) -iniciar sesión( α1 - α)
captura muy bien la diferencia. Cuando es cero, la cobertura es exactamente el valor deseado. Cuando es negativo, la cobertura es demasiado baja, lo que significa que el IC es demasiado optimista y subestima la incertidumbre.
La pregunta, entonces, es ¿cómo varían estas tasas de error con el nivel de confianza a medida que se perturba el modelo subyacente? Podemos responderlo trazando los resultados de la simulación. Estas gráficas cuantifican cuán "poco realista" podría ser la "casi certeza" de un IC en esta aplicación arquetípica.
( 1 / 30 , 1 / 30 )
α95 %3
α = 50 %50 %95 %5 % de las veces, entonces deberíamos estar preparados para que nuestra tasa de error sea mucho mayor en caso de que el mundo no funcione del modo que supone nuestro modelo.
50 %50 %
Este es el R
código que produjo las tramas. Se modifica fácilmente para estudiar otras distribuciones, otros rangos de confianza y otros procedimientos de CI.
#
# Zero-mean distributions.
#
distributions <- list(Beta=function(n) rbeta(n, 1/30, 1/30) - 1/2,
Uniform=function(n) runif(n, -1, 1),
Normal=rnorm,
#Mixture=function(n) rnorm(n, -2) + rnorm(n, 2),
Exponential=function(n) rexp(n) - 1,
Lognormal=function(n) exp(rnorm(n, -1/2)) - 1
)
n.sample <- 12
n.sim <- 5e4
alpha.logit <- seq(0, 6, length.out=21); alpha <- signif(1 / (1 + exp(-alpha.logit)), 3)
#
# Normal CI.
#
CI <- function(x, Z=outer(c(1,-1), qt((1-alpha)/2, n.sample-1)))
mean(x) + Z * sd(x) / sqrt(length(x))
#
# The simulation.
#
#set.seed(17)
alpha.s <- paste0("alpha=", alpha)
sim <- lapply(distributions, function(dist) {
x <- matrix(dist(n.sim*n.sample), n.sample)
x.ci <- array(apply(x, 2, CI), c(2, length(alpha), n.sim),
dimnames=list(Endpoint=c("Lower", "Upper"),
Alpha=alpha.s,
NULL))
covers <- x.ci["Lower",,] * x.ci["Upper",,] <= 0
rowMeans(covers)
})
(sim)
#
# The plots.
#
logit <- function(p) log(p/(1-p))
colors <- hsv((1:length(sim)-1)/length(sim), 0.8, 0.7)
par(mfrow=c(1,2))
plot(range(alpha.logit), c(-2,1), type="n",
main="Confidence Interval Accuracies (Logit Scales)", cex.main=0.8,
xlab="Logit(alpha)",
ylab="Logit(coverage) - Logit(alpha)")
abline(h=0, col="Gray", lwd=2)
legend("bottomleft", names(sim), col=colors, lwd=2, bty="n", cex=0.8)
for(i in 1:length(sim)) {
coverage <- sim[[i]]
lines(alpha.logit, logit(coverage) - alpha.logit, col=colors[i], lwd=2)
}
plot(range(alpha), c(-0.2, 0.05), type="n",
main="Raw Confidence Interval Accuracies", cex.main=0.8,
xlab="alpha",
ylab="coverage-alpha")
abline(h=0, col="Gray", lwd=2)
legend("bottomleft", names(sim), col=colors, lwd=2, bty="n", cex=0.8)
for(i in 1:length(sim)) {
coverage <- sim[[i]]
lines(alpha, coverage - alpha, col=colors[i], lwd=2)
}