¿Qué son las funciones de distribución acumulativa empírica y qué podemos hacer con ellas? Para responder a la primera pregunta, demos un primer paso atrás y asegurémonos de entender «distribuciones», o más específicamente, «distribuciones de probabilidad».

una distribución de probabilidad básica

Imagine un evento simple, digamos voltear una moneda 3 veces., Aquí están todos los resultados posibles, donde H = cabeza y T = tails:

  • HHH
  • HHT
  • HTH
  • THH
  • HTT
  • TTH
  • SITIO
  • TTT

Ahora imagina H = «éxito»., Nuestros resultados puede ser modificado de la siguiente manera:

  • HHH (3 aciertos)
  • HHT (2 aciertos)
  • HTH (2 aciertos)
  • THH (2 aciertos)
  • HTT (1 éxito)
  • TTH (1 éxito)
  • THT (1 éxito)
  • TTT (0 aciertos)

Ya hay 8 posibles resultados, las probabilidades de 0, 1, 2, y 3 éxitos son

  • 0 éxitos: 1/8
  • 1 éxitos: 3/8
  • 2 aciertos: 3/8
  • 3 éxitos: 1/8

Si sumamos esas probabilidades tenemos 1. Y esto representa la «distribución de probabilidad» para nuestro evento., Formalmente este evento sigue una distribución Binomial porque los eventos son independientes, hay un número fijo de ensayos (3), la probabilidad es la misma para cada flip (0.5), y nuestro resultado es el número de «éxitos» en el número de ensayos. De hecho lo que acabamos de demostrar es una distribución binomial con 3 ensayos y probabilidad igual a 0.5. Esto a veces se abrevia como b (3,0. 5)., Podemos generar rápidamente las probabilidades en R usando el dbinom función:

dbinom(0:3, size = 3, prob = 0.5)## 0.125 0.375 0.375 0.125

podemos visualizar rápidamente de esta distribución de probabilidad con el barplot función:

barplot(dbinom(x = 0:3, size = 3, prob = 0.5), names.arg = 0:3)

La función que se utiliza para generar estas probabilidades se refiere a menudo como la «densidad» de la función, de ahí la «d» en frente de binom., Las distribuciones que generan probabilidades para valores discretos, como el binomio en este ejemplo, a veces se llaman» funciones de masa de probabilidad » o PMFs. Las distribuciones que generan probabilidades para valores continuos, como la Normal, a veces se llaman «funciones de densidad de probabilidad», o PDF. Sin embargo, en R, independientemente de PMF o PDF, la función que genera las probabilidades se conoce como la función de» densidad».

función de distribución acumulativa

ahora hablemos de probabilidades «acumulativas»., Estas son probabilidades que se acumulan a medida que nos movemos de izquierda a derecha a lo largo del eje x en nuestra distribución de probabilidad., Mirando la gráfica de distribución por encima de que sería

  • \(P(X\le0)\)
  • \(P(X\le1)\)
  • \(P(X\le2)\)
  • \(P(X\le3)\)

podemos calcular rápidamente estos:

  • \(P(X\le0) = \frac{1}{8}\)
  • \(P(X\le1) = \frac{1}{8} + \frac{3}{8} = \frac{1}{2}\)
  • \(P(X\le2) = \frac{1}{8} + \frac{3}{8} + \frac{3}{8} = \frac{7}{8}\)
  • \(P(X\le3) = \frac{1}{8} + \frac{3}{8} + \frac{3}{8} + \frac{1}{8} = 1\)

La distribución de estas probabilidades se conoce como la distribución acumulativa., Una vez más hay una función en R que genera estas probabilidades para nosotros. En lugar de una «d» delante de «binom» ponemos una «p».

pbinom(0:3, size = 3, prob = 0.5)## 0.125 0.500 0.875 1.000

Esta función a menudo se conoce como la «función de distribución», lo que puede ser confuso cuando usted está tratando de obtener su cabeza alrededor de las distribuciones de probabilidad en general. Trazar esta función requiere un poco más de trabajo. Vamos a demostrar una manera más fácil de hacer esta parcela en breve, por lo que presentamos el siguiente código Sin comentarios.,

Este gráfico a veces se denomina gráfico de pasos. Tan pronto como llegas a un punto en el eje x, «paso» a la siguiente probabilidad. La probabilidad de 0 o menos es 0.125. De ahí la línea recta de 0 a 1. En 1 damos un paso hasta 0.5, porque la probabilidad de 1 o menos si 0.5. Y así sucesivamente. A las 3, tenemos un punto a la 1. La probabilidad de 3 o menos es certeza. Estamos garantizados para obtener 3 o menos éxitos en nuestra distribución binomial.

Ahora vamos a demostrar lo que hicimos anteriormente con una distribución continua., Para mantenerlo relativamente simple usaremos la distribución normal estándar, que tiene una media de 0 y una desviación estándar de 1. A diferencia de nuestro ejemplo de volteo de monedas anterior, que podría entenderse precisamente con una distribución binomial, no hay un ejemplo «listo para usar» de la vida real que se corresponda perfectamente con una distribución normal estándar. Por lo tanto, tendremos que usar nuestra imaginación.

primero dibujemos la distribución usando la función curve. El primer argumento, dnorm(x), es básicamente la fórmula matemática que dibuja la línea., Observe la » d «delante de «norm»; esta es la función de» densidad». Los valores predeterminados de la función dnorm es media = 0 y desviación estándar = 1. Los argumentos from y to dicen dibujar esta curva usando valores de x que van de -3 a 3.

curve(dnorm(x), from = -3, to = 3)

La curva es una línea suave, lo que significa que es una distribución de probabilidad para todos los números reales. El área bajo la curva es 1 porque es una distribución de probabilidad.,

Imagine llegar a esta distribución y dibujar un número. ¿Cuál es la probabilidad de obtener 1.134523768923? Es esencialmente 0. ¿Por qué? Porque hay \(\frac{1}{\infty}\) posibilidad de seleccionarlo. ¿Por qué está \(\infty\) en el denominador? Porque hay un número infinito de posibilidades. Si eso parece confuso, imagínese hacer zoom en el eje x con una resolución cada vez más fina, con decimales extendiéndose hasta el horizonte. Esto significa que los valores del eje y no representan probabilidad sino más bien»densidad»., La densidad es esencialmente la probabilidad de un pequeño rango de valores dividido por ese rango. Si eso también parece confuso, está bien. Solo recuerde que no usamos distribuciones normales (o cualquier distribución continua) para obtener probabilidades exactas. Los usamos para obtener probabilidades para un rango de valores.

Por ejemplo, ¿cuál es la probabilidad de que x sea menor o igual a -1? Para esto podemos usar la función pnorm, que es la función de distribución acumulativa para la distribución normal.,

pnorm(-1)## 0.1586553

El paquete mosaic proporciona la práctica función plotDist para visualizar rápidamente esta probabilidad. Colocando mosaic:: antes de la función podemos llamar a la función sin cargar el paquete de mosaico. El argumento groups dice crear dos regiones: una para menos de -1, y otra para mayor de -1. El argumento type='h' dice dibujar un gráfico «similar al histograma». Los dos colores son para las regiones respectivas. Obviamente «norma» significa dibujar una distribución normal., De nuevo, el valor predeterminado es la media 0 y la desviación estándar 1.

# install.packages('mosaic')mosaic::plotDist('norm', groups = x < -1, type='h', col = c('grey', 'lightblue')) 

Este gráfico muestra la probabilidad acumulada. La región azul es igual a 0.1586553, la probabilidad de que extraemos un valor de -1 o menos de esta distribución. Recordar utilizamos la función de distribución acumulativa para obtener este valor. Para visualizar todas las probabilidades acumulativas para la distribución normal estándar, podemos usar de nuevo la función curve pero esta vez con pnorm.,

curve(pnorm(x), from = -3, to = 3)

Si nos fijamos en el -1 en el eje x e ir directamente a la línea, y luego ir directamente a la izquierda del eje x, se debe aterrizar en 0.1586553. Podemos añadir esto a la parcela de uso de segments:

curve(pnorm(x), from = -3, to = 3)segments(x0 = -1, y0 = 0, x1 = -1, y1 = pnorm(-1), col = 'red')segments(x0 = -1, y0 = pnorm(-1), x1 = -3, y1 = pnorm(-1), col = 'blue') 

Nuevamente, esta es una línea suave porque estamos lidiando con un número infinito de valores reales.,

funciones de distribución acumulativas empíricas

Ahora que tenemos claro las distribuciones acumulativas, exploremos las distribuciones acumulativas empíricas. «Empírico» significa que nos preocupan las observaciones en lugar de la teoría. Las distribuciones acumulativas que exploramos anteriormente se basaron en teoría. Utilizamos las distribuciones binomiales y acumulativas normales, respectivamente, para calcular probabilidades y visualizar la distribución. En la vida real, sin embargo, los datos que recopilamos u observamos no provienen de una distribución teórica. Tenemos que usar los datos en sí para crear una distribución acumulativa.,

Podemos hacer esto en R con la función ecdf. ECDF significa «función de distribución acumulativa empírica». Tenga en cuenta la última palabra: «función». La función ecdf devuelve una función. Así como pbinom y pnorm fueron las funciones de distribución acumulativas para nuestros datos teóricos, ecdf crea una función de distribución acumulativa para nuestros datos observados. Vamos a probar esto con el conjunto de datos rock que viene con R.,

el conjunto de datos de roca contiene mediciones en 48 muestras de roca de un yacimiento de petróleo. Contiene 4 variables: área, peri, forma y permanente. Trabajaremos con la variable de área, que es el área total de poros en cada muestra.

las funciones ecdf funcionan en vectores numéricos, que a menudo son columnas de números en un marco de datos. A continuación le damos la columna de área del marco de datos de roca.

ecdf(rock$area)## Empirical CDF ## Call: ecdf(rock$area)## x = 1016, 1468, 1651, ..., 11878, 12212

Observe el resultado no es muy útil. Esto se debe a que la función ecdf devuelve una función., Necesitamos asignar el resultado a un nombre para que podamos crear nuestra función ECDF. Vamos a usar Fn

Fn <- ecdf(rock$area)

Ahora tienes un custom función de distribución acumulativa que puede utilizar con sus datos. Por ejemplo podemos crear un complot para visualizar la distribución acumulativa.

plot(Fn)

Buscar en la trama podemos ver estima la probabilidad de que el área de una muestra es menor que o igual a 8000 es de aproximadamente 0,6., Pero no tenemos que confiar en el ojo-balling el gráfico. Tenemos una función! Podemos usarlo para obtener una estimación más precisa. Solo dale un número dentro del rango del eje x y devolverá la probabilidad acumulada.

# Prob area less than or equal to 8000Fn(8000)## 0.625

podemos usar la función con más de un valor. Por ejemplo, podemos obtener probabilidades estimadas que el área es menor o igual a 4000, 6000 y 8000.

Fn(c(4000, 6000, 8000))## 0.1250000 0.3333333 0.6250000

también Hay un summary método para ECDF funciones., Devuelve un resumen de los valores únicos de los datos observados. Observe que es similar al método de resumen tradicional para vectores numéricos, pero el resultado es ligeramente diferente ya que resume los valores únicos en lugar de todos los valores.

finalmente, si queremos, podemos superponer una distribución acumulativa teórica sobre el ECDF. Esto puede ayudarnos a evaluar si podemos asumir o no que nuestros datos podrían modelarse con una distribución teórica particular. Por ejemplo, ¿se podría pensar que nuestros datos han sido muestreados de una distribución Normal?, A continuación trazamos la función step y luego superponemos una distribución normal acumulativa utilizando la media y la desviación estándar de nuestros datos observados.

plot(ecdf(rock$area))curve(pnorm(x, mean(rock$area), sd(rock$area)), from = 0, to = 12000, add = TRUE, col='blue', lwd = 2) 

Las líneas parecen solaparse un poco, lo que sugiere que los datos puedan ser aproximada con una distribución Normal. También podemos comparar las estimaciones de nuestra ECDF con una CDF teórica. Vimos que la probabilidad de que el área es menor o igual a 8000 es de aproximadamente 0.625., ¿Cómo se compara eso con una distribución acumulativa Normal con una media y desviación estándar de rock$area?

pnorm(8000, mean = mean(rock$area), sd = sd(rock$area))## 0.6189223

Eso es muy cerca!

otra evaluación gráfica es la gráfica Q-Q, que también se puede hacer fácilmente en R usando las funciones qqnorm y qqline. La idea es que si los puntos caen a lo largo de la línea diagonal, entonces tenemos buena evidencia de que los datos son plausiblemente normales., Una vez más esta gráfica revela que los datos parecen que podrían ser bien aproximados con una distribución Normal. (Para obtener más información sobre las gráficas Q-Q, consulte nuestro artículo, entendiendo las gráficas Q-Q).

qqnorm(rock$area)qqline(rock$area)

para preguntas o aclaraciones sobre este artículo, póngase en contacto con la Biblioteca uva StatLab: [email protected]

vea toda la colección de artículos de Statlab de la biblioteca UVA.

Clay Ford
consultor de investigación estadística
Biblioteca de la Universidad de Virginia
9 de julio de 2020

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *