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?
Respuesta
¿Demasiados anuncios?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