Сколько дефолтов можно ожидать?
Предположим, банк выдал 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