7 votos

¿Mediana de medianas como media robusta de medios?

La ubicación y escala de datos normalmente distribuidos pueden estimarse por muestreo de los datos y luego tomando la media de la muestra medios y desviaciones estándar, respectivamente. ¿Para no-normal (cola pesada) los datos, es correcto tomar la mediana de las medias de muestra y IQR/MAD, en su lugar? ¿Es decir, es correcto usar la mediana de la mediana de la muestra como un estimador robusto de ubicación similar a la media de los medios de la muestra para datos normales?

4voto

Alan Puntos 7273

Si todas las muestras provienen de la misma distribución, entonces sí que la mediana de la muestra en los camellones es bastante una estimación robusta de la mediana de la distribución subyacente (aunque esto no tiene que ser la misma que la media), ya que la mediana de una muestra a partir de una continua tiene una distribución de probabilidad de 0,5 de estar debajo (o por encima) de la mediana de la población.

Agregó

Aquí hay algunos ilustrativos R código. Se toma una muestra de una distribución normal y un caso con valores atípicos donde el 1% de los datos es de 10.000 vez más grande de lo que debería ser. Se ve en las estadísticas para el total de la muestra de datos (50.000 puntos) y, a continuación, por el centro (media o mediana) de las estadísticas de las 10.000 muestras con 5 puntos en cada una de las muestras.

library(matrixStats)

wholestats <- function(x,n) {
     mea <- sum(x)/n  
     var <- sum((x-mea)^2)/(n-1)
     sdv <- sqrt(var) 
     qun <- quantile(x, c(0.25,0.5,0.75))
     mad <- median(abs(x-qun[2]))
     c(mean=mea, variance=var, st.dev=sdv, 
       median=qun[2], IQR=qun[3]-qun[1], 
       MAD=mad)
    }

rowstats <- function(x,b) {
     rmea <- rowSums(x)/b     
     rvar <- rowSums((x-rmea)^2)/(b-1)
     rsdv <- sqrt(rvar)
     rqun <- rowQuantiles(x, c(0.25,0.5,0.75))  
     rmad <- rowMedians(abs(x-rqun[,2]))
     c(mean=mean(rmea), variance=mean(rvar), st.dev=mean(rsdv), 
       median=median(rqun[,2]), IQR=median(rqun[,3]-rqun[,1]), 
       MAD=median(rmad))
    }

a <- 10000 # number of samples
b <- 5     # samplesize

set.seed(1)
d <- array(rnorm(a*b), dim=c(a,b))
doutlier <- array(d * ifelse(runif(a*b)>0.99, 10000, 1) , dim=c(a,b))

La mediana de la base de estadísticas de espera son más robustos, a pesar de que no muestran que el pesado de cola de las demás variante es pesado de cola.

> wholestats(d,a*b)
        mean     variance       st.dev   median.50%      IQR.75%          MAD 
-0.002440456  1.011306552  1.005637386 -0.001610677  1.357029247  0.678706371 
> wholestats(doutlier,a*b) 
         mean      variance        st.dev    median.50%       IQR.75%           MAD 
-3.425664e+00  9.591583e+05  9.793663e+02 -1.610677e-03  1.373658e+00  6.871415e-01 
> rowstats(d,b)
        mean     variance       st.dev       median          IQR          MAD 
-0.002440456  1.014611308  0.947630870  0.003460172  0.917642167  0.510115277 
> rowstats(doutlier,b) 
         mean      variance        st.dev        median           IQR           MAD 
-3.425664e+00  9.607212e+05  1.685929e+02  3.460172e-03  9.301795e-01  5.175084e-01 

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X