เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

คาดว่าจะมีการผิดนัดชำระหนี้กี่ครั้ง?

สมมติว่าธนาคารปล่อยสินเชื่อที่อยู่อาศัย 100 รายการ จำนวนรายการที่อาจผิดนัดชำระหนี้นั้นอยู่ระหว่าง 0 ถึง 100 รายการ เราต้องการทราบความน่าจะเป็นของจำนวนการผิดนัดชำระหนี้ในแต่ละค่า เมื่อกำหนดให้ความน่าจะเป็นของการผิดนัดชำระหนี้คือ p = 0.05 ในการศึกษานี้จะใช้การจำลอง โดยทดสอบ Bernoulli 100 ครั้งด้วยฟังก์ชัน perform_bernoulli_trials() ที่เขียนไว้ในแบบฝึกหัดก่อนหน้า แล้วบันทึกจำนวนการผิดนัดชำระหนี้ที่ได้ ในที่นี้ "ความสำเร็จ" หมายถึงการผิดนัดชำระหนี้ (โปรดจำไว้ว่า "ความสำเร็จ" หมายถึงการที่ผล Bernoulli trial มีค่าเป็น True นั่นคือผู้กู้ผิดนัดชำระหนี้หรือไม่?) จากนั้นจะทำการทดสอบ Bernoulli อีก 100 ครั้ง แล้วทำซ้ำไปเรื่อย ๆ จนครบ 1000 รอบ จากนั้นจะวาด histogram เพื่อแสดงความน่าจะเป็นของจำนวนการผิดนัดชำระหนี้

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Statistical Thinking in Python (ตอนที่ 1)

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนด seed ของตัวสร้างเลขสุ่มเป็น 42
  • สร้าง n_defaults ซึ่งเป็นอาร์เรย์ว่างโดยใช้ np.empty() โดยให้มี 1000 สมาชิก เนื่องจากจะทำการจำลอง 1000 รอบ
  • เขียนลูป for จำนวน 1000 รอบ เพื่อคำนวณจำนวนการผิดนัดชำระหนี้จากสินเชื่อ 100 รายการโดยใช้ฟังก์ชัน perform_bernoulli_trials() ซึ่งรับอาร์กิวเมนต์ 2 ตัว ได้แก่ จำนวนการทดสอบ n — ในที่นี้คือ 100 — และความน่าจะเป็นของความสำเร็จ p — ในที่นี้คือความน่าจะเป็นของการผิดนัดชำระหนี้ซึ่งเท่ากับ 0.05 โดยในแต่ละรอบของลูปให้เก็บผลลัพธ์ไว้ใน n_defaults
  • วาด histogram ของ 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
แก้ไขและรันโค้ด