CommencerCommencez gratuitement

Combien de défauts de paiement peut-on attendre ?

Supposons qu’une banque ait accordé 100 prêts immobiliers. Il est possible que n’importe quel nombre de prêts entre 0 et 100 fasse défaut. Vous souhaitez 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 étudier cela, vous allez effectuer une simulation. Vous réaliserez 100 essais de Bernoulli à l’aide de la fonction perform_bernoulli_trials() que vous avez écrite dans l’exercice précédent et vous noterez combien de défauts nous obtenons. Ici, un succès correspond à un défaut. (Rappelez-vous que le mot « succès » signifie simplement que l’essai de Bernoulli renvoie True, c’est-à-dire que l’emprunteur a fait défaut.) Vous recommencerez pour un autre ensemble de 100 essais de Bernoulli. Et encore et encore jusqu’à ce que nous l’ayons fait 1000 fois. Vous tracerez ensuite un histogramme décrivant la probabilité du nombre de défauts.

Cet exercice fait partie du cours

<cours>Réflexion statistique en Python (Partie 1)</cours>
Voir le cours

Instructions de l’exercice

  • Fixez la graine du générateur de nombres aléatoires à 42.
  • Initialisez n_defaults, un tableau vide, avec np.empty(). Il doit contenir 1000 éléments, puisque nous effectuons 1000 simulations.
  • Écrivez une boucle for avec 1000 itérations pour calculer le nombre de défauts par groupe de 100 prêts en utilisant la fonction perform_bernoulli_trials(). Elle accepte deux arguments : le nombre d’essais n — ici 100 — et la probabilité de succès p — ici la probabilité d’un défaut, qui est 0.05. À chaque itération de la boucle, enregistrez le résultat dans une entrée de n_defaults.
  • Tracez un histogramme de n_defaults. Incluez l’argument 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