Le module np.random et les essais de Bernoulli
Vous pouvez voir un essai de Bernoulli comme le lancer d’une pièce éventuellement biaisée. Plus précisément, chaque lancer a une probabilité p d’obtenir face (succès) et une probabilité 1−p d’obtenir pile (échec). Dans cet exercice, vous allez écrire une fonction qui effectue n essais de Bernoulli, perform_bernoulli_trials(n, p), et qui renvoie le nombre de succès sur n essais de Bernoulli, chacun ayant une probabilité p de succès. Pour réaliser chaque essai de Bernoulli, utilisez la fonction rng.random(), qui renvoie un nombre aléatoire entre zéro et un.
Cet exercice fait partie du cours
<cours>Réflexion statistique en Python (Partie 1)</cours>Instructions de l’exercice
- Définissez une fonction avec la signature
perform_bernoulli_trials(n, p).- Initialisez à zéro une variable
n_success, le compteur de valeursTrue, qui correspondent aux succès des essais de Bernoulli. - Écrivez une boucle
foroù vous effectuez un essai de Bernoulli à chaque itération et incrémentez le nombre de succès si le résultat estTrue. Effectueznitérations en bouclant surrange(n).- Pour réaliser un essai de Bernoulli, tirez un nombre aléatoire entre zéro et un avec
rng.random(). Si le nombre tiré est inférieur àp, incrémentezn_success(utilisez l’opérateur+= 1). Un RNG a déjà été instancié dans la variablernget initialisé avec une graine.
- Pour réaliser un essai de Bernoulli, tirez un nombre aléatoire entre zéro et un avec
- La fonction renvoie le nombre de succès
n_success.
- Initialisez à zéro une variable
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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