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>Instructions de l’exercice
- Fixez la graine du générateur de nombres aléatoires à 42.
- Initialisez
n_defaults, un tableau vide, avecnp.empty(). Il doit contenir 1000 éléments, puisque nous effectuons 1000 simulations. - Écrivez une boucle
foravec1000itérations pour calculer le nombre de défauts par groupe de 100 prêts en utilisant la fonctionperform_bernoulli_trials(). Elle accepte deux arguments : le nombre d’essaisn— ici 100 — et la probabilité de succèsp— ici la probabilité d’un défaut, qui est0.05. À chaque itération de la boucle, enregistrez le résultat dans une entrée den_defaults. - Tracez un histogramme de
n_defaults. Incluez l’argumentdensity=Trueafin 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