Скільки дефолтів ми можемо очікувати?
Припустімо, банк видав 100 іпотечних кредитів. Можливо, що від 0 до 100 із них будуть у дефолті. Ви хочете дізнатися ймовірність отримати певну кількість дефолтів, якщо ймовірність дефолту дорівнює p = 0.05. Щоб це дослідити, ви виконаєте моделювання. Ви проведете 100 випробувань Бернуллі за допомогою функції perform_bernoulli_trials(), яку ви написали в попередній вправі, і зафіксуєте, скільки дефолтів ми отримали. Тут успіх — це дефолт. (Пам'ятайте, що слово «успіх» лише означає, що випробування Бернуллі дало True, тобто позичальник справді пішов у дефолт.) Ви зробите це ще для 100 випробувань Бернуллі. І знову, і знову, доки не повторите це 1000 разів. Потім ви побудуєте гістограму, що показує ймовірність різної кількості дефолтів.
Ця вправа є частиною курсу
Статистичне мислення в Python (Частина 1)
Інструкції до вправи
- Задайте зерно генератора випадкових чисел значенням 42.
- Ініціалізуйте
n_defaults— порожній масив — за допомогоюnp.empty(). Він має містити 1000 елементів, адже ми виконуємо 1000 симуляцій. - Напишіть цикл
forна1000ітерацій, щоб обчислити кількість дефолтів на кожні 100 кредитів за допомогою функціїperform_bernoulli_trials(). Вона приймає два аргументи: кількість випробуваньn— у нашому випадку 100 — та ймовірність успіхуp— тут це ймовірність дефолту0.05. На кожній ітерації зберігайте результат у відповідному елементіn_defaults. - Побудуйте гістограму
n_defaults. Додайте ключовий аргументdensity=True, щоб висота стовпчиків гістограми відображала ймовірність. - Показуйте графік.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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