¿Cómo puedo calcular el intervalo de confianza de una media en una muestra no distribuida normalmente?

19

¿Cómo puedo calcular el intervalo de confianza de una media en una muestra no distribuida normalmente?

Entiendo que los métodos de arranque se usan comúnmente aquí, pero estoy abierto a otras opciones. Si bien estoy buscando una opción no paramétrica, si alguien puede convencerme de que una solución paramétrica es válida, estaría bien. El tamaño de la muestra es> 400.

Si alguien pudiera dar una muestra en R, sería muy apreciado.

fmark
fuente
3
El teorema del límite central implica que la distribución limitante de la media muestral es normal independientemente de la distribución de los datos originales (en algunas condiciones). En muchos casos, un tamaño de muestra es lo suficientemente grande como para que la aproximación normal sea bastante precisa, pero la precisión depende de la distribución principal; podría ayudar si, por ejemplo, publicara un histograma de los datos originales. norte>400
Macro

Respuestas:

18

En primer lugar, comprobaría si la media es un índice apropiado para la tarea en cuestión. Si está buscando "un valor típico / central" de una distribución sesgada, la media podría indicarle un valor bastante no representativo. Considere la distribución log-normal:

x <- rlnorm(1000)
plot(density(x), xlim=c(0, 10))
abline(v=mean(x), col="red")
abline(v=mean(x, tr=.20), col="darkgreen")
abline(v=median(x), col="blue")

Media (rojo), media recortada del 20% (verde) y mediana (azul) para la distribución log-normal

La media (línea roja) está bastante lejos del grueso de los datos. La media recortada del 20% (verde) y la mediana (azul) están más cerca del valor "típico".

Los resultados dependen del tipo de distribución "no normal" (sería útil un histograma de sus datos reales). Si no está sesgado, pero tiene colas pesadas, sus CI serán muy amplios.

En cualquier caso, creo que el bootstrapping es un buen enfoque, ya que también puede proporcionar CI asimétricos. El Rpaquete simplebootes un buen comienzo:

library(simpleboot)
# 20% trimmed mean bootstrap
b1 <- one.boot(x, mean, R=2000, tr=.2)
boot.ci(b1, type=c("perc", "bca"))

... te da el siguiente resultado:

# The bootstrap trimmed mean:
> b1$t0
[1] 1.144648

BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 2000 bootstrap replicates
Intervals : 
Level     Percentile            BCa          
95%   ( 1.062,  1.228 )   ( 1.065,  1.229 )  
Calculations and Intervals on Original Scale
Felix S
fuente
Muchas gracias por la respuesta detallada. ¿Le gustaría comentar sobre la diferencia (mínima) entre las estadísticas de percentil y percentil ajustado (BCa)?
fmark
"El intervalo acelerado de corrección de sesgo de arranque (BCa) es una modificación del método de percentil que ajusta los percentiles para corregir el sesgo y la asimetría" (Hesterberg, T., Monaghan, S., Moore, D., Clipson, A., & Epstein, R. (2005). Métodos Bootstrap y pruebas de permutación. Introducción a la práctica de la estadística, 14.1–14.70.). Siempre que el software lo permita, use el CI corregido de BCa (nota: necesita> 1000 resamples)
Felix S
De la documentación del paquete simpleboot parece que el argumento para el recorte ya no es compatible. :(
es el
8

Si está abierto a una solución semiparamétrica, aquí hay una: Johnson, N. (1978) Pruebas t modificadas e intervalos de confianza para poblaciones asimétricas, JASA . El centro del intervalo de confianza se desplaza por , donde es la estimación del tercer momento de la población, y el ancho permanece igual. Dado que el ancho del intervalo de confianza es , y la corrección de la media es , debe tener un sesgo realmente considerable (del orden ) para que importe conκ^/ /(6 6s2norte)κ^O(norte-1/ /2)O(norte-1)norte1/ /2>20norte>400. El bootstrap debería darle un intervalo asintóticamente equivalente, pero también tendría el ruido de simulación agregado a la imagen. (El CI de bootstrap se corrige automáticamente para el mismo término de primer orden, de acuerdo con la teoría general de Bootstrap y Edgeworth Expansion (Hall 1995)) . Por lo que puedo recordar sobre la evidencia de simulación, los CI de bootstrap son algo más gordos que los CI basados ​​en el análisis expresiones, sin embargo.

(Exp(1)+2)Exp(1)-1kappa = (exp(1)+2)*sqrt( exp(1) - 1) = 6.184877s = sqrt( (exp(1)-1)*exp(1) ) = 2.1611972*s*qnorm(0.975)/sqrt(n) = 0.2678999kappa*s/(6*n) = 0.00222779kappa

StasK
fuente
2

Pruebe una distribución logarítmica normal, calculando:

  1. Logaritmo de los datos;
  2. Desviación media y estándar de (1)
  3. Intervalo de confianza correspondiente a (2)
  4. Exponencial de (3)

Terminará con un intervalo de confianza asimétrico alrededor del valor esperado (que no es la media de los datos sin procesar).

Felipe G. Nievinski
fuente