Wie viele Zahlungsausfälle können wir erwarten?
Angenommen, eine Bank hat 100 Hypothekendarlehen vergeben. Es ist möglich, dass zwischen 0 und 100 dieser Darlehen ausfallen. Du möchtest die Wahrscheinlichkeit für eine bestimmte Anzahl an Ausfällen kennen, gegeben, dass die Ausfallwahrscheinlichkeit p = 0.05 beträgt. Um das zu untersuchen, führst du eine Simulation durch. Du führst 100 Bernoulli-Experimente mit der Funktion perform_bernoulli_trials() aus, die du in der vorherigen Übung geschrieben hast, und erfasst, wie viele Ausfälle auftreten. Hier bedeutet „Erfolg“ einen Ausfall. (Denk daran, dass „Erfolg“ nur heißt, dass das Bernoulli-Experiment True ergibt, d. h. ist der Darlehensnehmende in Verzug geraten?) Das machst du für weitere 100 Bernoulli-Experimente. Und immer so weiter, bis wir es 1000 Mal ausprobiert haben. Anschließend zeichnest du ein Histogramm, das die Wahrscheinlichkeit für die Anzahl der Ausfälle beschreibt.
Diese Übung ist Teil des Kurses
Statistical Thinking in Python (Teil 1)
Anleitung zur Übung
- Setze den Zufallszahlengenerator auf 42.
- Initialisiere
n_defaults, ein leeres Array, mitnp.empty(). Es soll 1000 Einträge enthalten, da wir 1000 Simulationen durchführen. - Schreibe eine
for-Schleife mit1000Iterationen, um die Anzahl der Ausfälle pro 100 Darlehen mit der Funktionperform_bernoulli_trials()zu berechnen. Sie akzeptiert zwei Argumente: die Anzahl der Versuchen– hier 100 – und die Erfolgswahrscheinlichkeitp– hier die Ausfallwahrscheinlichkeit0.05. Speichere in jeder Iteration das Ergebnis in einem Eintrag vonn_defaults. - Zeichne ein Histogramm von
n_defaults. Gib das Schlüsselwortargumentdensity=Truean, sodass die Höhe der Balken die Wahrscheinlichkeit angibt. - Zeige die Grafik an.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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