Zacznij terazZacznij za darmo

Ile niespłaconych kredytów możemy się spodziewać?

Załóżmy, że bank udzielił 100 kredytów hipotecznych. Liczba kredytów, które nie zostaną spłacone, może wynosić od 0 do 100. Chcemy poznać prawdopodobieństwo uzyskania danej liczby niespłaconych kredytów, przy założeniu, że prawdopodobieństwo niewywiązania się z kredytu wynosi p = 0.05. Aby to zbadać, przeprowadzisz symulację. Wykonasz 100 prób Bernoulliego za pomocą funkcji perform_bernoulli_trials() napisanej w poprzednim ćwiczeniu i zarejestrujesz, ile razy kredyt nie zostanie spłacony. Tutaj sukcesem jest właśnie brak spłaty. (Pamiętaj, że „sukces" oznacza po prostu, że próba Bernoulliego przyjmuje wartość True, czyli że kredytobiorca nie spłacił zobowiązania.) Powtórzysz to kolejne 100 prób Bernoulliego, i tak dalej – łącznie 1000 razy. Na koniec wykreślisz histogram przedstawiający rozkład prawdopodobieństwa liczby niespłaconych kredytów.

To ćwiczenie jest częścią kursu

Myślenie statystyczne w Pythonie (część 1)

Zobacz kurs

Instrukcje do ćwiczenia

  • Ustaw ziarno generatora liczb losowych na 42.
  • Zainicjuj n_defaults jako pustą tablicę za pomocą np.empty(). Powinna zawierać 1000 elementów, ponieważ przeprowadzamy 1000 symulacji.
  • Napisz pętlę for z 1000 iteracjami, która oblicza liczbę niespłaconych kredytów na 100 prób, korzystając z funkcji perform_bernoulli_trials(). Funkcja przyjmuje dwa argumenty: liczbę prób n – w tym przypadku 100 – oraz prawdopodobieństwo sukcesu p – w tym przypadku prawdopodobieństwo niespłacenia kredytu, czyli 0.05. W każdej iteracji pętli zapisz wynik w odpowiednim elemencie tablicy n_defaults.
  • Wykreśl histogram n_defaults. Użyj argumentu density=True, aby wysokość słupków odzwierciedlała prawdopodobieństwo.
  • Wyświetl wykres.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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
Edytuj i uruchom kod