Aan de slagGa gratis aan de slag

Hoeveel wanbetalingen kunnen we verwachten?

Stel, een bank heeft 100 hypotheekleningen verstrekt. Het is mogelijk dat tussen 0 en 100 van deze leningen niet worden terugbetaald. Je wilt de kans weten op een gegeven aantal wanbetalingen, gegeven dat de kans op wanbetaling p = 0.05 is. Om dit te onderzoeken ga je een simulatie doen. Je voert 100 Bernoulli-proeven uit met de functie perform_bernoulli_trials() die je in de vorige oefening hebt geschreven en noteert hoeveel wanbetalingen we krijgen. Hier is een succes een wanbetaling. (Onthoud dat het woord "succes" alleen betekent dat de Bernoulli-proef True oplevert, dus: ging de lener in gebreke?) Dit doe je opnieuw voor nog eens 100 Bernoulli-proeven. En nog eens, totdat we het 1000 keer hebben geprobeerd. Daarna maak je een histogram dat de kans op het aantal wanbetalingen laat zien.

Deze oefening maakt deel uit van de cursus

Statistisch denken in Python (deel 1)

Cursus bekijken

Oefeninstructies

  • Zet de willekeurigegetallengenerator op zaadwaarde 42.
  • Initialiseer n_defaults als een lege array met np.empty(). Deze moet 1000 elementen bevatten, omdat we 1000 simulaties doen.
  • Schrijf een for-lus met 1000 iteraties om het aantal wanbetalingen per 100 leningen te berekenen met de functie perform_bernoulli_trials(). Die accepteert twee argumenten: het aantal proeven n - in dit geval 100 - en de succeskans p - in dit geval de kans op wanbetaling, 0.05. Sla bij elke iteratie het resultaat op in een element van n_defaults.
  • Plot een histogram van n_defaults. Neem het keywordargument density=True op zodat de hoogte van de balken de kans weergeeft.
  • Toon je plot.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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
Code bewerken en uitvoeren