Me he dado cuenta de que hay muchas preguntas sobre el tema (la mayoría son del tipo: cómo hacer una prueba de bondad de ajuste de Chi-cuadrado), pero la mía es quizás más general.
Utilizando un ejemplo que encontré recientemente. Tengo un conjunto de datos de una muestra, donde los datos son estrictamente positivos, y tienen una distribución sesgada a la derecha. Hago una adivinar que los datos pueden ajustarse a una de las cuatro distribuciones:
- Log-normal
- Exponencial
- Weibull
- Gamma
Al principio, evalúo la distribución visualmente utilizando geom_histotgram
(del paquete ggplot2
) y trazar las distribuciones estimadas utilizando stat_function
donde los parámetros de la distribución se estiman utilizando fitdistr
(del paquete MASS
).
ggplot(DT4, aes(TTE)) + geom_histogram(aes(y=..density..), bins=90) +
stat_function(fun=dlnorm,args=fitdistr(DT4[, TTE],"log-normal")$estimate, color=pal[1], size=.5) +
stat_function(fun=dexp,args=fitdistr(DT4[, TTE],"exponential")$estimate, color=pal[2], size=.5) +
stat_function(fun=dweibull,args=fitdistr(DT4[, TTE],"weibull")$estimate, color=pal[3], size=.5) +
stat_function(fun=dgamma,args=fitdistr(DT4[, TTE],"gamma")$estimate, color=pal[4], size=.5) +
annotate("text", label="Log-normal", x=250, y=0.025, color=pal[1]) +
annotate("text", label="Exponential", x=250, y=0.023, color=pal[2]) +
annotate("text", label="Weibull", x=250, y=0.021, color=pal[3]) +
annotate("text", label="Gamma", x=250, y=0.019, color=pal[4])
Las cuatro distribuciones se ajustan bastante bien, siendo la log-normal la que mejor se ajusta, sólo a partir de una evaluación visual.
Sin embargo, imagina que eres un estadístico profesional (que no lo soy) que quiere evaluar el ajuste con rigor. He buscado y he encontrado numerosas pruebas de bondad de ajuste, entre ellas
- Prueba Chi-cuadrado / G (diseñada para datos discretos, pero puede aplicarse a datos continuos si se dividen en intervalos arbitrarios)
- Kolmogorov-Smirnov
- Cramér-von Mises
- Anderson-Darling
- Estimación de máxima probabilidad
- Criterios de información: AIC/AIC $_\text{c}$ /CAIC/BIC/HQIC
- ¿Alguna otra que se me haya escapado?
Pregunta
-
¿Cómo elegimos qué bondad de ajuste utilizar para comparar el ajuste de diferentes distribuciones? En casos sencillos, una distribución puede tener el mejor ajuste según todas las pruebas, pero en casos más marginales, ¿qué pasa si una distribución es la mejor según una prueba, y otra es la mejor según otra prueba? (¿Hay alguna referencia, como un capítulo de un libro, que explore esta cuestión?)
-
¿Existe una función/paquete de R que realice convenientemente una serie de pruebas de bondad de ajuste a la vez?