¿Cómo puedo comprobar si mis datos, por ejemplo, el salario, proceden de una distribución exponencial continua en R?
Aquí está el histograma de mi muestra:
. Cualquier ayuda será muy apreciada.
¿Cómo puedo comprobar si mis datos, por ejemplo, el salario, proceden de una distribución exponencial continua en R?
Aquí está el histograma de mi muestra:
. Cualquier ayuda será muy apreciada.
Yo lo haría estimando primero el único parámetro de la distribución rate
utilizando fitdistr
. Esto no le dirá si la distribución se ajusta o no, por lo que debe utilizar entonces bondad de ajuste prueba. Para ello, puede utilizar ks.test
:
require(vcd)
require(MASS)
# data generation
ex <- rexp(10000, rate = 1.85) # generate some exponential distribution
control <- abs(rnorm(10000)) # generate some other distribution
# estimate the parameters
fit1 <- fitdistr(ex, "exponential")
fit2 <- fitdistr(control, "exponential")
# goodness of fit test
ks.test(ex, "pexp", fit1$estimate) # p-value > 0.05 -> distribution not refused
ks.test(control, "pexp", fit2$estimate) # significant p-value -> distribution refused
# plot a graph
hist(ex, freq = FALSE, breaks = 100, xlim = c(0, quantile(ex, 0.99)))
curve(dexp(x, rate = fit1$estimate), from = 0, col = "red", add = TRUE)
Según mi experiencia personal (aunque nunca lo he encontrado oficialmente en ningún sitio, por favor, confírmalo o corrígeme), ks.test
sólo se ejecutará si se suministra primero la estimación del parámetro. No puede dejar que estime los parámetros automáticamente, como por ejemplo goodfit
lo hace. Por eso necesitas este procedimiento de dos pasos con fitdistr
.
Para más información, siga la excelente guía de Ricci: DISTRIBUCIONES DE ENTRADA CON R .
+1. ¿Es la prueba ks.test la mejor para comprobar la bondad del ajuste en estas situaciones? Creo que también has respondido a una pregunta de mina .
Sólo un aviso, debes tener cuidado si estimas los parámetros a partir de los propios datos. En ese caso, una prueba como la de Anderson Darling podría ser mejor, ya que es robusta frente a estas situaciones.
Sobre la prueba KS de exponencialidad cuando el parámetro de la tasa se estima a partir de los datos: véase Una pregunta ingenua sobre la prueba de Kolmogorov Smirnov .
Aunque normalmente recomiendo comprobar la exponencialidad mediante el uso de gráficos de diagnóstico (como los gráficos Q-Q), hablaré de las pruebas, ya que la gente suele quererlas:
Como sugiere Tomas, la prueba de Kolmogorov-Smirnov es no adecuado para probar la exponencialidad con un parámetro no especificado.
Sin embargo, si se ajustan las tablas para la estimación de los parámetros, se obtiene la prueba de Lilliefors para la distribución exponencial.
Lilliefors, H. (1969), "On the Kolmogorov-Smirnov test for the exponential distribution with mean unknown", Revista de la Asociación Americana de Estadística , Vol. 64 . pp. 387-389.
El uso de esta prueba se discute en Conover's Estadística no paramétrica práctica .
Sin embargo, en D'Agostino & Stephens Técnicas de bondad de ajuste En el libro se discute una modificación similar de la prueba de Anderson-Darling (de forma algo oblicua si no recuerdo mal, pero creo que toda la información necesaria sobre cómo abordarla para el caso exponencial se encuentra en el libro), y es casi seguro que tiene más poder contra alternativas interesantes.
Del mismo modo, se podría estimar algo así como una prueba de Shapiro-Francia (parecida pero más sencilla que la de Shapiro-Wilk), basando una prueba en $n(1-r^2)$ donde $r$ es la correlación entre las estadísticas de orden y las puntuaciones exponenciales (estadísticas de orden exponencial esperadas). Esto corresponde a la comprobación de la correlación en el gráfico Q-Q.
Por último, se podría tomar la prueba de suavidad como en el libro de Rayner & Best ( Pruebas suaves de bondad de ajuste 1990 - aunque creo que hay uno más reciente, con Thas y " en R " añadido al título). El caso exponencial también se trata en:
J. C. W. Rayner y D. J. Best (1990), "Smooth Tests of Goodness of Fit: An Overview", Revista Internacional de Estadística , Vol. 58, No. 1 (abr., 1990), pp. 9-17
Cosma Shalizi también habla de las pruebas suaves en un capítulo de su Análisis de datos avanzados para estudiantes notas de clase o ver el capítulo 15 de su libro Análisis avanzado de datos desde un punto de vista elemental .
Para algunos de los casos anteriores, es posible que tenga que simular la distribución de la estadística de la prueba; para otros, hay tablas disponibles (pero en algunos de esos casos, puede ser más fácil simular de todos modos, o incluso más exacto simularlo usted mismo, como con la prueba de Lilliefors, debido al tamaño limitado de la simulación en el original).
De todas ellas, me inclinaría por hacer la que es el equivalente exponencial al Shapiro-Francia (es decir, probaría la correlación en el gráfico Q-Q [o si estuviera haciendo tablas, quizás usaría $n(1-r^2)$ que rechazará los mismos casos] - debería ser lo suficientemente potente como para competir con las mejores pruebas, pero es muy fácil de hacer, y tiene la agradable correspondencia con el aspecto visual del gráfico Q-Q (incluso se podría optar por añadir la correlación y el valor p al gráfico, si se desea).
Puede utilizar un qq-plot que es un método gráfico para comparar dos distribuciones de probabilidad trazando sus cuantiles entre sí.
En R, no existe una función qq-plot para la distribución exponencial específicamente (al menos entre las funciones base). Sin embargo, puede utilizar esto:
qqexp <- function(y, line=FALSE, ...) {
y <- y[!is.na(y)]
n <- length(y)
x <- qexp(c(1:n)/(n+1))
m <- mean(y)
if (any(range(y)<0)) stop("Data contains negative values")
ylim <- c(0,max(y))
qqplot(x, y, xlab="Exponential plotting position",ylim=ylim,ylab="Ordered sample", ...)
if (line) abline(0,m,lty=2)
invisible()
}
Mientras interpreta sus resultados: Si las dos distribuciones que se comparan son similares, los puntos de la gráfica q-q estarán aproximadamente sobre la recta y = x. Si las distribuciones están relacionadas linealmente, los puntos de la gráfica q-q estarán aproximadamente sobre una recta, pero no necesariamente sobre la recta y = x.
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.
1 votos
¿su variable es discreta o continua? La distribución exponencial se define como continua .
0 votos
continua. Me pregunto si hay alguna prueba en R para comprobar que
1 votos
Bienvenido. Busque la función
fitdistr
en R. Ajusta las funciones de densidad de probabilidad (pdfs) basándose en el método de estimación de máxima verosimilitud (MLE). También busca en este sitio términos como pdf, fitdistr, mle y saldrán preguntas similares. Tenga en cuenta que las preguntas de este tipo casi requiere ejemplo reproducible para reunir buenas respuestas. Además, ayuda que la pregunta no sea puramente de programación (lo que podría hacer que se pusiera en espera por considerarla fuera de tema).9 votos
Una distribución exponencial se trazará como una línea recta contra $-\ln(1 - $ posición de trazado) donde la posición de trazado es (rango $- a) / (n - 2a + 1)$ El rango es $1$ para el valor más bajo, $n$ es el tamaño de la muestra, y las opciones populares para $a$ incluye $1/2$ . Eso da una prueba informal que puede ser tan o más útil que cualquier prueba formal.
0 votos
@Berkan desarrolló la idea del gráfico cuantílico en su post.
0 votos
Las pruebas para la distribución exponencial se han discutido en pregunta 32061 . La "mejor" prueba depende en gran medida de la hipótesis alternativa: gamma, Weibull, Pareto, ... Log-normal y Pareto parecen ser buenas opciones para los salarios.