Quería hacer una demostración de clase donde comparo un intervalo t con un intervalo de arranque y calculo la probabilidad de cobertura de ambos. Quería que los datos provengan de una distribución sesgada, así que elegí generar los datos como exp(rnorm(10, 0, 2)) + 1
, una muestra de tamaño 10 de un lognormal desplazado. Escribí un script para dibujar 1000 muestras y, para cada muestra, calcular un intervalo t del 95% y un intervalo de percentil de arranque del 95% basado en 1000 repeticiones.
Cuando ejecuto el script, ambos métodos dan intervalos muy similares y ambos tienen una probabilidad de cobertura del 50-60%. Me sorprendió porque pensé que el intervalo de arranque sería mejor.
Mi pregunta es si tengo
- cometió un error en el código?
- cometió un error al calcular los intervalos?
- cometió un error al esperar que el intervalo de arranque tenga mejores propiedades de cobertura?
Además, ¿hay alguna manera de construir un IC más confiable en esta situación?
tCI.total <- 0
bootCI.total <- 0
m <- 10 # sample size
true.mean <- exp(2) + 1
for (i in 1:1000){
samp <- exp(rnorm(m,0,2)) + 1
tCI <- mean(samp) + c(1,-1)*qt(0.025,df=9)*sd(samp)/sqrt(10)
boot.means <- rep(0,1000)
for (j in 1:1000) boot.means[j] <- mean(sample(samp,m,replace=T))
bootCI <- sort(boot.means)[c(0.025*length(boot.means), 0.975*length(boot.means))]
if (true.mean > min(tCI) & true.mean < max(tCI)) tCI.total <- tCI.total + 1
if (true.mean > min(bootCI) & true.mean < max(bootCI)) bootCI.total <- bootCI.total + 1
}
tCI.total/1000 # estimate of t interval coverage probability
bootCI.total/1000 # estimate of bootstrap interval coverage probability
fuente
Respuestas:
El diagnóstico y los remedios de Bootstrap de Canto, Davison, Hinkley y Ventura (2006) parecen ser un punto de partida lógico. Discuten múltiples formas en que la rutina de arranque puede descomponerse y, lo que es más importante aquí, ofrecen diagnósticos y posibles soluciones:
No veo un problema con 1, 2 y 4 en esta situación. Veamos 3. Como señala @Ben Ogorek (aunque estoy de acuerdo con @Glen_b en que la discusión sobre la normalidad puede ser una pista falsa), la validez del bootstrap depende de la pivotalidad de la estadística que nos interesa.
La sección 4 de Canty et al. sugiere remuestreo dentro de resamples para obtener una medida de sesgo y varianza para la estimación del parámetro dentro de cada remuestreo bootstrap . Aquí hay un código para replicar las fórmulas de p. 15 del artículo:
Tenga en cuenta las escalas de registro: sin registros, esto es aún más evidente. Vemos muy bien cómo la varianza de la estimación media de bootstrap aumenta con la media de la muestra de bootstrap. Para mí, esto parece una pistola humeante como para culpar a la falta de vitalidad como culpable de la baja cobertura del intervalo de confianza.
Sin embargo, felizmente admitiré que uno podría hacer un seguimiento de muchas maneras. Por ejemplo, podríamos ver cómo si el intervalo de confianza de una réplica de arranque específica incluye la media real depende de la media de la réplica particular.
En cuanto a los remedios, Canty et al. discuta las transformaciones, y los logaritmos vienen a mi mente aquí (p. ej., bootstrap y construir intervalos de confianza no para la media, sino para la media de los datos registrados), pero realmente no pude hacerlo funcionar.
Canty y col. continúe discutiendo cómo se puede reducir tanto el número de bootstraps internos como el ruido restante mediante muestreo y suavizado importantes, así como agregar bandas de confianza a los gráficos de pivote.
Este podría ser un proyecto de tesis divertido para un estudiante inteligente. Agradecería cualquier indicador de dónde me equivoqué, así como cualquier otra literatura. Y me tomaré la libertad de agregar la
diagnostic
etiqueta a esta pregunta.fuente
Si bien estoy de acuerdo con el análisis y la conclusión de Stephan Kolassa, with la media de la muestra definitivamente no es un pivote aproximado, permítanme hacer un comentario adicional. Investigué el uso de -statistic junto con bootstrapping. El resultado fue una cobertura de alrededor de 0.8. No es una solución completa, sino una mejora. μ t
Luego pensé un poco más sobre toda la configuración. Con solo 10 observaciones y una distribución extremadamente sesgada, ¿no es básicamente imposible estimar de manera no paramétrica la media y mucho menos construir intervalos de confianza con la cobertura adecuada?
La distribución logarítmica normal considerada tiene una media . ¡Dado que cuando la media es la cantidad de de la distribución! Significa que la probabilidad de que las 10 observaciones sean más pequeñas que la media es . Entonces, en poco menos del 18% de los casos, la observación más grande es menor que la media. Para obtener una cobertura mayor a 0.82 necesitamos una construcción de un intervalo de confianza para la media que se extiende más allá de la observación más grande. Me resulta difícil imaginar cómo se puede hacer (y justificar) tal construcción sin suposiciones previas de que la distribución es extremadamente sesgada. Pero agradezco cualquier sugerencia. P ( X ≤ 2 ) = 0.84 X ∼ N ( 0 , 4 ) 0.84 0.84 10 = 0.178e2+1=8.39 P(X≤2)=0.84 X∼N(0,4) 0.84 0.8410=0.178
fuente
Los cálculos fueron correctos, verifiqué con el conocido paquete de arranque . Además, agregué el intervalo BCa (por Efron), una versión con corrección de sesgo del intervalo de arranque percentil:
Supongo que los intervalos serían mucho mejores si el tamaño de la muestra original es mayor que 10, digamos 20 o 50.
Además, el método bootstrap-t generalmente conduce a mejores resultados para estadísticas sesgadas. Sin embargo, necesita un bucle anidado y, por lo tanto, más de 20 veces más tiempo de cálculo.
Para la prueba de hipótesis también es muy importante que las coberturas de 1 lado sean buenas. Por lo tanto, mirar solo las coberturas de dos lados a menudo puede ser engañoso.
fuente
También estaba confundido acerca de esto, y pasé mucho tiempo en los intervalos de confianza de Bootstrap de DiCiccio y Efron en 1996 , sin mucho que mostrar.
En realidad, me llevó a pensar menos en el bootstrap como un método de propósito general. Solía pensarlo como algo que te sacaría de apuros cuando estabas realmente atascado. Pero he aprendido su pequeño secreto sucio: los intervalos de confianza de bootstrap se basan en la normalidad de una forma u otra. Permíteme explicarte.
El bootstrap te da una estimación de la distribución de muestreo del estimador, que es todo lo que podrías esperar, ¿verdad? Pero recuerde que el vínculo clásico entre la distribución de muestreo y el intervalo de confianza se basa en encontrar una cantidad fundamental . Para cualquiera que esté oxidado, considere el caso en el que se conoce y . Entonces la cantidad es fundamental, es decir, su distribución no depende de . Por lo tanto, y el resto es historia.σ z = x - μ
Cuando piensa en lo que justifica que los percentiles de la distribución normal se relacionen con los intervalos de confianza, se basa completamente en esta conveniente cantidad fundamental. Para una distribución arbitraria, no existe un vínculo teórico entre los percentiles de la distribución de muestreo y los intervalos de confianza , y tomar proporciones crudas de la distribución de muestreo bootstrap no es suficiente.
Por lo tanto, los intervalos BCa (sesgo corregido) de Efron usan transformaciones para llegar a la normalidad aproximada y los métodos bootstrap-t dependen de que las estadísticas t resultantes sean aproximadamente fundamentales. Ahora el bootstrap puede estimar el infierno de los momentos, y siempre puedes asumir la normalidad y usar el estándar +/- 2 * SE. Pero teniendo en cuenta todo el trabajo que se hizo para no ser paramétrico con el bootstrap, no parece del todo justo, ¿verdad?
fuente
Consulte el artículo de Tim Hesterberg en The American Statistician en http://www.timhesterberg.net/bootstrap#TOC-What-Teachers-Should-Know-about-the-Bootstrap:-Resampling-in-the-Undergraduate-Statistics-Curriculum .
Esencialmente, el intervalo de percentil bootstrap no tiene una gran probabilidad de cobertura para datos asimétricos a menos que n sea grande.
fuente