Modulul np.random și încercările Bernoulli
O încercare Bernoulli poate fi gândită ca aruncarea unei monede, posibil dezechilibrate. Mai concret, fiecare aruncare are o probabilitate \(p\) de a obține cap (succes) și o probabilitate \(1-p\) de a obține pajură (eșec). În acest exercițiu, vei scrie o funcție care efectuează n încercări Bernoulli, perform_bernoulli_trials(n, p), și returnează numărul de succese obținute din cele n încercări, fiecare cu probabilitatea p de succes. Pentru a efectua fiecare încercare Bernoulli, folosește funcția rng.random(), care returnează un număr aleatoriu între zero și unu.
Acest exercițiu face parte din cursul
Gândire statistică în Python (Partea 1)
Instrucțiuni pentru exercițiu
- Definește o funcție cu semnătura
perform_bernoulli_trials(n, p).- Inițializează cu zero o variabilă
n_success, care va fi contorul valorilorTrue– adică al succeselor din încercările Bernoulli. - Scrie o buclă
forîn care efectuezi câte o încercare Bernoulli la fiecare iterație și incrementezi numărul de succese dacă rezultatul esteTrue. Efectueazăniterații parcurgândrange(n).- Pentru a efectua o încercare Bernoulli, alege un număr aleatoriu între zero și unu folosind
rng.random(). Dacă numărul ales este mai mic decâtp, incrementeazăn_success(folosește operatorul+= 1pentru aceasta). Un RNG a fost deja instanțiat ca variabilarngși inițializat cu o valoare seed.
- Pentru a efectua o încercare Bernoulli, alege un număr aleatoriu între zero și unu folosind
- Funcția returnează numărul de succese
n_success.
- Inițializează cu zero o variabilă
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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