CommencezCommencez gratuitement

Combien de défauts peut-on anticiper?

Supposons qu'une banque ait accordé 100 prêts hypothécaires. Il est possible que n'importe quel nombre entre 0 et 100 de ces prêts soit en défaut de paiement. Vous voulez connaître la probabilité d'obtenir un nombre donné de défauts, sachant que la probabilité d'un défaut est p = 0.05. Pour explorer cela, vous allez faire une simulation. Vous exécuterez 100 épreuves de Bernoulli à l'aide de la fonction perform_bernoulli_trials() que vous avez écrite à l'exercice précédent et vous noterez combien de défauts surviennent. Ici, un succès correspond à un défaut. (Rappelez-vous que le mot « succès » signifie simplement que l'épreuve de Bernoulli évalue à True, c'est-à-dire que la personne ayant reçu le prêt est en défaut?) Vous referez ensuite 100 autres épreuves de Bernoulli. Et ainsi de suite jusqu'à l'avoir répété 1000 fois. Vous tracerez ensuite un histogramme décrivant la probabilité du nombre de défauts.

Cette activité fait partie du cours

Réflexion statistique en Python (Partie 1)

Voir le cours

Instructions de l’exercice

  • Amorcez le générateur de nombres aléatoires à 42.
  • Initialisez n_defaults, un tableau vide, avec np.empty(). Il doit contenir 1000 entrées, puisque nous effectuons 1000 simulations.
  • Écrivez une boucle for de 1000 itérations pour calculer le nombre de défauts par tranche de 100 prêts à l'aide de la fonction perform_bernoulli_trials(). Elle accepte deux arguments : le nombre d'épreuves n — ici 100 — et la probabilité de succès p — ici la probabilité d'un défaut, soit 0.05. À chaque itération de la boucle, stockez le résultat dans une entrée de n_defaults.
  • Tracez un histogramme de n_defaults. Ajoutez l'argument nommé density=True afin que la hauteur des barres de l'histogramme indique la probabilité.
  • Affichez votre graphique.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Instantiate and seed random number generator


# Initialize the number of defaults: n_defaults


# Compute the number of defaults
for i in ____:
    n_defaults[i] = ____


# Plot the histogram with default number of bins; label your axes
_ = plt.hist(____, ____)
_ = plt.xlabel('number of defaults out of 100 loans')
_ = plt.ylabel('probability')

# Show the plot
Modifier et exécuter le code