De module np.random en Bernoulli-proeven
Je kunt een Bernoulli-proef zien als het opgooien van een mogelijk oneerlijke munt. Elke worp heeft kans \(p\) om kop (succes) te worden en kans \(1-p\) om munt (mislukking) te worden. In deze oefening schrijf je een functie die n Bernoulli-proeven uitvoert, perform_bernoulli_trials(n, p), die het aantal successen teruggeeft uit n Bernoulli-proeven, waarbij elke proef kans p op succes heeft. Gebruik voor elke Bernoulli-proef de functie rng.random(), die een willekeurig getal tussen nul en één teruggeeft.
Deze oefening maakt deel uit van de cursus
Statistisch denken in Python (deel 1)
Oefeninstructies
- Definieer een functie met de signatuur
perform_bernoulli_trials(n, p).- Initialiseer de variabele
n_successop nul; dit is de teller vanTrue-waarden (successen in Bernoulli-proeven). - Schrijf een
for-lus waarin je in elke iteratie een Bernoulli-proef uitvoert en het aantal successen verhoogt als het resultaatTrueis. Voerniteraties uit door te lopen overrange(n).- Om een Bernoulli-proef uit te voeren, kies je een willekeurig getal tussen nul en één met
rng.random(). Als het gekozen getal kleiner is danp, verhoog dann_success(gebruik hiervoor de operator+= 1). Er is al een RNG geïnstantieerd als de variabelerngen voorzien van een seed.
- Om een Bernoulli-proef uit te voeren, kies je een willekeurig getal tussen nul en één met
- De functie retourneert het aantal successen
n_success.
- Initialiseer de variabele
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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