sábado, 9 de mayo de 2009

R: Distribución Binomial.

En este apartado, detallaremos cómo se puede obtener resultados válidos en R usando las funciones para la distribución discreta de probabilidad, concretamente, la distribución binomial.

Ya que aquí sólo se expondrá cómo es el manejo de las funciones, se recomienda que se visite el capítulo: Variables Aleatorias Discretas y Distribuciones de Probabilidad, para determinar en qué consiste dicha distribución.

Para obtener valores que se basen en la distribución binomial, R, dispone de cuatro funciones:

R: Distribución Binomial.
dbinom(x, size, prob, log = F)Devuelve resultados de la función de densidad.
pbinom(q, size, prob, lower.tail = T, log.p = F)Devuelve resultados de la función de distribución acumulada.
qbinom(p, size, prob, lower.tail = T, log.p = F)Devuelve resultados de los cuantiles de la binomial.
rbinom(n, size, prob)Devuelve un vector de valores binomiales aleatorios.


Los argumentos que podemos pasar a las funciones expuestas en la anterior tabla, son:
  • x, q: Vector de cuantiles.
  • p: Vector de probabilidades.
  • n: Número de observaciones
  • size: Números de ensayos(debe ser cero o más).
  • prob: Probabilidad de éxito en cada ensayo.
  • log, log.p: Parámetro booleano, si es TRUE, las probabilidades p se ofrecen como log(p).
  • lower.tail: Parámetro booleano, si es TRUE (por defecto), las probabilidades son P[X ≤ x], de lo contrario, P [X > x].

Para comprobar el funcionamiento de estas funciones, usaremos algunos ejemplos de aplicación.

Imaginemos el experimento siguiente: Tirar un dado 7 veces y contamos el número de cincos que se obtiene.

El espacio muestral es el siguiente:

Ω = {1, 2, 3, 4, 5, 6}

Y la probabilidad de que suceda cada elemento es de: 1/6. Sea el evento X, número de 5 que se obtienen al tirar 7 veces un dado.

Entonces, ¿cual sería la probabilidad de obtener 3 cincos? Es un claro ejemplo de distribución binomial, por lo tanto, en R , tendremos que declarar el evento (3), el número de intentos (7) y la probabilidad de éxito (1/6):

> dbinom(3, 7, 1/6)
[1] 0.07814286

Por lo tanto, la probabilidad de obtener tres cincos en siete intentos al lanzar un dado es: 0.07814286.

Y ahora, ¿cuál es la probabilidad de obtener menos o igual de 2 cincos en 7 intentos? procedemos igual que el apartado anterior, pero esta vez, especificamos todos los casos posibles: 2 1 0:

> dbinom(c(2, 1, 0), 7, 1/6)
[1] 0.2344286 0.3907143 0.2790816

Observamos que de esta forma, sólo nos devuelve las probabilidades de los eventos: 2 1 0 respectivamente, así que si queremos la probabilidad total, empleamos la función suma:

> sum(dbinom(c(2, 1, 0), 7, 1/6))
[1] 0.9042245

Y observamos directamente nos devuelve el resultado previamente sumado, por lo tanto, la probabilidad de obtener menos o dos cincos en siete intentos al lanzar un dado es de: 0.9042245.

Pero existe otra manera de obtener dicho resultado, para ello dispone de la función: pbinom(), que nos devuelve la función de distribución acumulada de la binomial:

> pbinom(c(2), size=7, prob=1/6)
[1] 0.9042245

Donde podemos comprobar, que el resultado es el mismo.

Ahora bien, si se quiere ver qué conjunto formado por los valores más pequeños posibles de la variable X, que tengan una probabilidad de ocurrir, por ejemplo, en torno al 90%, procedemos tal y como sigue:

> qbinom(c(0.90), size=7, prob=1/6)
[1] 2

Esto indica que para una probabilidad del 90%, el número mínimo de cincos que aparecerán de siete tiradas de un dado, serán 2, y para corroborarlo:

> pbinom(c(2), size=7, prob=1/6)
[1] 0.9042245

Podemos comprobar, que para obtener dos cincos en siete tiradas de un dado, la probabilidad es de 0.9042245, prácticamente, el 90%. Esta función se usa para obtener el número de eventos dada una probabilidad.

Y por último, ¿cuál es la probabilidad de obtener más de dos cincos en siete tiradas? En este caso, debemos especificar que la probabilidad es del tipo P[X > x]:

> pbinom(c(2), size=7, prob=1/6, lower.tail=F)
[1] 0.09577546
Como hemos podido comprobar, R dispone de varias funciones que satisfacen cualquier cálculo y operación que se desee realizar sobre distribuciones binomiales discretas.

Por supuesto, se recomienda que se emplee la ayuda de R para ampliar conocimientos sobre las funciones expuestas en este capítulo.

> ?stats::Binomial

4 comentarios:

melizabethtt dijo...

Muchas gracias, ha sido de gran ayuda.

xiscobernal dijo...

Muchas gracias. No es fácil encontrar tan buenas explicaciones.

Anónimo dijo...

muy bueno tu blog! me ha ayudado mucho, gracias por la gran explicación, estoy viendo el de varias distribuciones

rena dijo...

he visto hartas distribuciones de tu blog y me han ayudado mucho !!