Skip to content

Taller: Simulación de Probabilidad

Published: at 12:00 AM

Table of Contents

Open Table of Contents

Explicación

Vamos a utilizar las siguientes librerías:

random

Tiene funciones para números aleatorios. Se usa el alias ran. Se importa como:

import random as ran

semilla

Los generadores de números aleatorios realmente no son verdaderamente aleatorios, siguen reglas definidas que pareciera que generan números completamente aleatorios. Ahora, durante la fase de escritura y revisión del código es útil que las funciones generadoras de números aleatorios parezcan aleatorias pero repitan siempre la misma secuencia de números cada vez que se corre de nuevo el código.

Para garantizar que cada vez que se usa el código se generan los mismos valores aleatorios se usa una semilla, que es un valor numérico. Por ejemplo, el código:

ran.seed(3)

Define que la semilla es el número 3.

ran.choice

Lo usamos para elegir elementos al azar, por ejemplo de un arreglo.

Ejemplo

El siguiente código simula un único lanzamiento de un dado de seis caras:

import random as ran
ran.seed(8)
unlance = ran.choice([1,2,3,4,5,6])

Instrucciones

  1. Simulación para revisar si una distribución es uniforme. Vamos a simular el proceso de lanzar un dado de 10 caras muchas veces y vamos a construir un histograma de los lanzamientos.

    1. ¿cómo espera que sea la distribución de valores del dado? ¿que fracción de los lanzamientos deben corresponder al número 3?

    2. Use como semilla su número de grupo. (Ayuda, la función es ran.seed)

    3. Defina una lista (inicialmente vacía) llamada “lanzamientos”.

    4. Usando la estructura for defina un proceso que se repita 100 veces.

    5. La primera instrucción que se repite es lanzar un dado, asignando el resultado a la variable dado. (Ayuda, use ran.choice)

    6. La segunda instrucción que se repite es añadir el valor de dado a la lista lanzamientos. (Ayuda, use append)

    7. Construya un histograma. Responda las preguntas: ¿los valores que construyó corresponden a lo que esperaba?

  2. Repita el proceso anterior, pero ahora cambie el número de repeticiones,

    1. En lugar de 100, use 500 repeticiones.

    2. ¿que fracción de los valores corresponde a 3? Es mejor o peor que cuando usaba 100?

    3. Repita con 100000 repeticiones.¿que fracción de los valores corresponde a 3? Es mejor o peor que cuando usaba 100?

Reglas generales

Como hemos dicho anteriormente:


Previous Post
Distribución Muestral
Next Post
Algoritmos