Simulación de una distribución discreta usando Java: Distribución binomial

Simulación de una distribución discreta usando Java: Distribución binomial

A continuación presentamos una implementación de un método de generación de una distribución discreta, en este caso, veremos la distribución binomial. Deseamos simular un experimento que siga una distribución binomial usando un programa realizado en el lenguaje Java.

Recordemos que un experimento binomial consta de una serie de n ensayos idénticos, donde cada ensayo produce uno de dos resultados (Mendenhall W., Beaver R., Beaver B., 2008). Un ejemplo muy sencillo de un experimento binomial es lanzar una moneda al aire. Si quisiéramos saber la cantidad de “soles” que obtenemos de lanzar al aire una moneda 10 veces, allí tenemos un experimento binomial, donde n=10 (los ensayos) y donde cada ensayo produce uno de dos resultados (águila o sol).

En el ejemplo anterior los “soles” serían nuestro resultado “exitoso” y las águilas el “fracaso”.  Llamaríamos p a la probabilidad de éxito y q a la probabilidad de fracaso. En éste problema en particular p=.50 y q=.50 pues consideramos que existe la misma probabilidad de que caiga sol a que caiga águila, aunque en otros experimentos no necesariamente tiene que ser así.

Veamos ahora el algoritmo que deseamos implementar.

  1. Hacer x=0, i=1.
  2. Si i≤ n ir al paso 3. En caso contrario ir al paso 5.
  3. Generar un número aleatorio ui. Si ui ≤ p, hacer x = x+1.
  4. Hacer i = i+1. Ir al paso 2.
  5. x es el valor generado de la variable X.

 

Veamos ahora la implementación en Java. En nuestro ejemplo deseamos simular una serie de 10 experimentos donde cada experimento consiste en lanzar al aire una moneda 5 veces y contar la cantidad de soles que salen en cada experimento.

 

En nuestro código creamos una función de tipo entera llamada getBinomial que recibe como parámetros de entrada n que representa en nuestro caso la cantidad de veces que lanzamos al aire la moneda (5 veces), y p que representa la probabilidad de éxito, en nuestro caso sería 0.5. Puedes observar dichos valores en la llamada de la función.

 

Mostramos a continuación una posible salida (en cada corrida los datos serán diferentes):

Programa Java Binomial

En este caso observamos que en el primer experimento dice que salieron 3 soles, en el segundo 2 soles, etc. La salida sigue una distribución binomial, pues si contamos los resultados se representarían de la siguiente forma:

Cantidad de soles Número de veces
0 0
1 0
2 3
3 4
4 3
5 0

 

Por lo que si la graficáramos:

Grafica Binomial

En conclusión: Este sencillo ejemplo nos permite acercarnos a la programación de experimentos binomiales. Muchos experimentos prácticos arrojan resultados similares a los de un lanzamiento de una moneda. Podemos utilizar este algoritmo para simular encuestas de preferencias, proporciones de hombres vs mujeres, proporciones de poblaciones con algún gen relacionado con alguna enfermedad, etc., es decir, cualquier tipo de experimento que siga una distribución binomial.

 

Referencias

  1. Mendenhall W., Beaver R., Beaver B. (2008). Introducción a la probabilidad y estadística. 12ª Edición. Ed. Cengage Learning. México.

 

¿Qué te pareció este artículo?
  • Excelente 
  • Interesante 
  • Regular 
  • No era lo que buscaba 
  • Poco informativo 
Facebooktwittergoogle_plusmail

Tu comentario

opiniones

Comments

  • David Martínez Lázaro | Dic 10,2015

    gracias profe apoco tambien e escuchado qu obtienen una formula estadistica donde tenemos una conbinatoria el ejemplo seria que si lansaramos una moneda 10 veses hay una probabilidad que la cara salga 3 veses entonses tendriamos las 10 veses que se lanza la moneda y la cara 3 veses y asi segiriamos asta representandolo con un codigo