¿Cómo estimar el tercer cuartil de datos agrupados?

12

¿Hay algún truco técnico para determinar el tercer cuartil si pertenece a un intervalo abierto que contiene más de un cuarto de la población (por lo que no puedo cerrar el intervalo y usar la fórmula estándar)?

Editar

En caso de que haya entendido mal algo, proporcionaré un contexto más o menos completo. Tengo datos dispuestos en una tabla con dos columnas y, digamos, 6 filas. Con cada columna corresponde un intervalo (en la primera columna) y una cantidad de población que "pertenece" a ese intervalo. El último intervalo está abierto e incluye más del 25% de la población. Todos los intervalos (con excepción del último) tienen el mismo rango.

Datos de muestra (transpuestos para presentación):

Column 1: (6;8),(8;10),(10;12),(12;14),(14;16),(16;∞)
Column 2:    51,    65,     68,     82,     78,   182 

La primera columna debe interpretarse como un rango de nivel de ingresos. El segundo debe interpretarse como el número de empleados cuyos ingresos pertenecen al intervalo.

La fórmula estándar en la que estoy pensando es .Q3=xQ3+3N4i=1k1ninQ3rQ3

un poco
fuente
Una suposición común cuando se intenta estimar cuantiles con datos agrupados es asumir la uniformidad dentro de los contenedores. Pero cuando sabe algo sobre la forma en que es probable que se distribuyan los datos (como con los ingresos, que son sesgados), suposiciones que reflejan que el conocimiento tenderá a ser mejor. Otra alternativa sería asumir que es uniforme, y luego suavizar los datos (ya sea por KDE o alguna distribución ajustada), redistribuir los puntos dentro de los contenedores de acuerdo con el modelo [y posiblemente volver a estimar (de manera similar a EM) el ajuste, & redistribuir en bins nuevamente] luego estimar cuantiles a partir de eso.
Glen_b -Reinstalar a Mónica el

Respuestas:

16

Debe ajustar estos datos agrupados con algún modelo de distribución, ya que esa es la única forma de extrapolar al cuartil superior.

Un modelo

Por definición, dicho modelo viene dado por una función cadlag aumenta de a . La probabilidad de que se asigne a cualquier intervalo es . Para realizar el ajuste, debe plantear una familia de posibles funciones indexadas por un parámetro (vector) , . Suponiendo que la muestra resume una colección de personas elegidas al azar e independientemente de una población descrita por algún específico (pero desconocido) , la probabilidad de la muestra (o probabilidad , ) es el producto del individuo probabilidades. En el ejemplo, sería igual0 1 ( a , b ] F ( b ) - F ( a ) θ { F θ } F θ LF01(a,b]F(b)F(a)θ{Fθ}FθL

L(θ)=(Fθ(8)Fθ(6))51(Fθ(10)Fθ(8))65(Fθ()Fθ(16))182

porque de las personas tienen probabilidades asociadas , tienen probabilidades , y así sucesivamente.F θ ( 8 ) - F θ ( 6 ) 65 F θ ( 10 ) - F θ ( 8 )51Fθ(8)Fθ(6)65Fθ(10)Fθ(8)

Ajustar el modelo a los datos

La estimación de máxima verosimilitud de es un valor que maximiza (o, equivalentemente, el logaritmo de ).L LθLL

Las distribuciones de ingresos a menudo se modelan mediante distribuciones lognormales (ver, por ejemplo, http://gdrs.sourceforge.net/docs/PoleStar_TechNote_4.pdf ). Escribiendo , la familia de distribuciones lognormales esθ=(μ,σ)

F(μ,σ)(x)=12π(log(x)μ)/σexp(t2/2)dt.

Para esta familia (y muchas otras) es sencillo optimizar numéricamente. Por ejemplo, en escribiríamos una función para calcular y luego optimizarla, porque el máximo de coincide con el máximo de y (generalmente) es más simple de calcular y numéricamente más estable para trabajar con:log ( L ( θ ) ) log ( L ) L log ( L )LRlog(L(θ))log(L)Llog(L)

logL <- function(thresh, pop, mu, sigma) {
  l <- function(x1, x2) ifelse(is.na(x2), 1, pnorm(log(x2), mean=mu, sd=sigma)) 
                        - pnorm(log(x1), mean=mu, sd=sigma)
  logl <- function(n, x1, x2)  n * log(l(x1, x2))
  sum(mapply(logl, pop, thresh, c(thresh[-1], NA)))
}

thresh <- c(6,8,10,12,14,16)
pop <- c(51,65,68,82,78,182)
fit <- optim(c(0,1), function(theta) -logL(thresh, pop, theta[1], theta[2]))

La solución en este ejemplo es , que se encuentra en el valor .θ=(μ,σ)=(2.620945,0.379682)fit$par

Comprobación de supuestos del modelo

Necesitamos al menos verificar qué tan bien se ajusta esto a la lognormalidad supuesta, por lo que escribimos una función para calcular :F

predict <- function(a, b, mu, sigma, n) {
  n * ( ifelse(is.na(b), 1, pnorm(log(b), mean=mu, sd=sigma)) 
        - pnorm(log(a), mean=mu, sd=sigma) )

Se aplica a los datos para obtener las poblaciones de contenedores ajustadas o "predichas":

pred <- mapply(function(a,b) predict(a,b,fit$par[1], fit$par[2], sum(pop)), 
               thresh, c(thresh[-1], NA))

Podemos dibujar histogramas de los datos y la predicción para compararlos visualmente, como se muestra en la primera fila de estos gráficos:

Histogramas

Para compararlos, podemos calcular una estadística de chi-cuadrado. Esto generalmente se refiere a una distribución de chi-cuadrado para evaluar la importancia :

chisq <- sum((pred-pop)^2 / pred)
df <- length(pop) - 2
pchisq(chisq, df, lower.tail=FALSE)

El "valor p" de es lo suficientemente pequeño como para que muchas personas sientan que el ajuste no es bueno. Mirando las parcelas, el problema evidentemente se enfoca en el contenedor más bajo de . ¿Quizás el término inferior debería haber sido cero? Si, de manera exploratoria, redujéramos el a menos de , obtendríamos el ajuste que se muestra en la fila inferior de gráficos. El valor p de chi-cuadrado es ahora , lo que indica (hipotéticamente, porque ahora estamos puramente en un modo exploratorio) que esta estadística no encuentra diferencias significativas entre los datos y el ajuste.6 - 8 6 3 0,400.008768630.40

Usando el ajuste para estimar cuantiles

Si aceptamos, entonces, que (1) los ingresos se distribuyen de manera aproximadamente lognormalmente y (2) el límite inferior de los ingresos es inferior a (digamos ), entonces la estimación de probabilidad máxima es = . Usando estos parámetros podemos invertir para obtener el percentil :3 ( μ , σ ) ( 2.620334 , 0.405454 ) F 75 th63(μ,σ)(2.620334,0.405454)F75th

exp(qnorm(.75, mean=fit$par[1], sd=fit$par[2]))

El valor es . (Si no hubiéramos cambiado el límite inferior del primer contenedor de a , habríamos obtenido ).6 3 17.7618.066317.76

Estos procedimientos y este código pueden aplicarse en general. La teoría de la máxima verosimilitud puede explotarse aún más para calcular un intervalo de confianza alrededor del tercer cuartil, si eso es de interés.

whuber
fuente
¡Wow gracias! Debo admitir que no esperaba que se utilizara una maquinaria tan avanzada (al menos para mí) para encontrar la solución.
atad
La maquinaria no tiene que ser avanzada o sofisticada, pero haga lo que haga debe seguir las mismas líneas generales de este ejemplo: suponga algo sobre la distribución del ingreso, úselo para ajustar un modelo matemático, verifique que el modelo sea razonable y si es un ajuste razonable, úselo para calcular el cuartil. En el camino, use métodos gráficos porque pueden revelar patrones interesantes. (Aquí, el interés es que hay una aparente desviación de la lognormalidad en el segmento de bajos ingresos: me pregunto por qué ocurre eso y qué podría decir sobre esta población.)
whuber
+1, gran respuesta. Parece que voy a tener que aprender R todavía.
DAV
8

Demasiado tiempo para un comentario:

La respuesta de Whubers es tan buena como cualquiera, pero él asume el sesgo correcto en su modelo logarítmico normal. Esto puede ser realista para los ingresos de una población general, pero puede no ser para los ingresos de un solo empleador en un grado en particular.

Alternativamente, podría optar por modelar la distribución como más o menos simétrica, en cuyo caso podría colocar aproximadamente en el rango 16-18, en 18-20 y en el rango 22-24 y esto le daría una estimación del tercer cuartil de alrededor de .64 50 17.568645017.5

Tendría una estimación más baja si elige continuar la frecuencia a aproximadamente por unidad doble, lo que le daría una estimación del tercer cuartil de alrededor de .17.38017.3

Estimaciones más altas son posibles con otros supuestos. Entonces, mi conclusión sería que el tercer punto del cuartil probablemente esté por encima de , pero que realmente no tienes suficientes datos para hacer una estimación precisa sin saber (o asumir) más sobre la distribución del ingreso en el extremo superior, y que es precisamente lo que no sabes.17

Enrique
fuente
1
(+1) Gracias por enfatizar (y analizar) la dependencia de la respuesta en los supuestos del modelo. Si (en el ejemplo) no puede asumir nada, entonces todo lo que puede decir es que el tercer cuartil excede de . Si asume un modelo, al menos puede decirle al consumidor su consejo, "si su imagen de la distribución del ingreso es al menos aproximadamente la que yo he asumido, entonces puede usar mi resultado como una estimación razonable de la tercera cuantil ". (La mayoría de las conclusiones estadísticas son implícitamente condicionales de este tipo.)16
whuber