ComenzarEmpieza gratis

El módulo np.random y pruebas de Bernoulli

Puedes pensar en una prueba de Bernoulli como el lanzamiento de una moneda posiblemente sesgada. En concreto, cada lanzamiento tiene una probabilidad \(p\) de salir cara (éxito) y una probabilidad \(1-p\) de salir cruz (fracaso). En este ejercicio, escribirás una función para realizar n pruebas de Bernoulli, perform_bernoulli_trials(n, p), que devuelve el número de éxitos de n pruebas de Bernoulli, cada una con probabilidad p de éxito. Para realizar cada prueba de Bernoulli, usa la función rng.random(), que devuelve un número aleatorio entre cero y uno.

Este ejercicio forma parte del curso

Pensamiento estadístico en Python (Parte 1)

Ver curso

Instrucciones del ejercicio

  • Define una función con la firma perform_bernoulli_trials(n, p).
    • Inicializa a cero una variable n_success, el contador de valores True, que son los éxitos de las pruebas de Bernoulli.
    • Escribe un bucle for donde realices una prueba de Bernoulli en cada iteración e incrementes el número de éxitos si el resultado es True. Realiza n iteraciones iterando sobre range(n).
      • Para realizar una prueba de Bernoulli, elige un número aleatorio entre cero y uno usando rng.random(). Si el número que eliges es menor que p, incrementa n_success (usa el operador += 1 para hacerlo). Ya se ha instanciado un RNG como la variable rng y tiene semilla.
    • La función devuelve el número de éxitos n_success.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

def perform_bernoulli_trials(n, p):
    """Perform n Bernoulli trials with success probability p
    and return number of successes."""
    # Initialize number of successes: n_success
    n_success = ____

    # Perform trials
    for i in ____:
        # Choose random number between zero and one: random_number


        # If less than p, it's a success so add one to n_success
        if ____:
            ____

    return n_success
Editar y ejecutar código