ПочатиПочніть безкоштовно

Скільки дефолтів ми можемо очікувати?

Припустімо, банк видав 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
Редагувати та запускати код