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 θ LF0 01( a , b ]F( b ) - F( a )θ{ Fθ}FθL
L ( θ ) = ( Fθ( 8 ) - Fθ( 6 ) )51( Fθ( 10 ) - Fθ( 8 ) )sesenta y cinco⋯ ( 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 )sesenta y cincoFθ( 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 )LR
log(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:
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.00876−8630.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.