Ta có thể kỳ vọng bao nhiêu khoản vỡ nợ?
Giả sử một ngân hàng đã cấp 100 khoản vay thế chấp. Có thể có từ 0 đến 100 khoản vay bị vỡ nợ. Bạn muốn biết xác suất nhận được một số lượng vỡ nợ nhất định, với giả định xác suất vỡ nợ là p = 0.05. Để khảo sát điều này, bạn sẽ chạy một mô phỏng. Bạn sẽ thực hiện 100 phép thử Bernoulli bằng hàm perform_bernoulli_trials() mà bạn đã viết ở bài trước và ghi lại có bao nhiêu khoản vỡ nợ. Ở đây, một “thành công” nghĩa là một khoản vỡ nợ. (Hãy nhớ rằng từ "thành công" chỉ có nghĩa là phép thử Bernoulli cho kết quả True, tức là người vay có vỡ nợ hay không?) Bạn sẽ làm điều này thêm 100 phép thử Bernoulli nữa. Rồi lặp đi lặp lại cho đến khi chúng ta thử 1000 lần. Sau đó, bạn sẽ vẽ một biểu đồ histogram mô tả xác suất theo số lượng các khoản vỡ nợ.
Bài tập này là một phần của khóa học
Tư duy Thống kê với Python (Phần 1)
Hướng dẫn bài tập
- Đặt hạt (seed) cho bộ sinh số ngẫu nhiên là 42.
- Khởi tạo
n_defaults, một mảng rỗng, bằngnp.empty(). Mảng này phải có 1000 phần tử vì chúng ta sẽ chạy 1000 mô phỏng. - Viết một vòng lặp
forvới1000lần lặp để tính số vỡ nợ trên mỗi 100 khoản vay bằng hàmperform_bernoulli_trials(). Hàm nhận hai đối số: số phép thửn- ở đây là 100 - và xác suất thành côngp- ở đây là xác suất vỡ nợ,0.05. Ở mỗi vòng lặp, lưu kết quả vào một phần tử củan_defaults. - Vẽ biểu đồ histogram của
n_defaults. Thêm tham sốdensity=Trueđể chiều cao cột biểu đồ biểu thị xác suất. - Hiển thị biểu đồ của bạn.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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