開始使用免費開始

我們可能會看到多少違約?

假設某銀行發放了 100 筆房貸。最終可能有 0 到 100 筆發生違約。你想知道在單筆貸款違約機率為 p = 0.05 的前提下,出現特定違約筆數的機率。為了研究這件事,你將進行模擬。你會使用上一個練習中寫好的 perform_bernoulli_trials() 函式,先進行 100 次 Bernoulli 試驗,並記錄我們得到的違約數量。此處所謂的成功就是違約。(請記得,「成功」只代表該次 Bernoulli 試驗為 True,也就是這位借款人是否違約。)接著你會再做另一組 100 次 Bernoulli 試驗,如此反覆,直到一共做了 1000 次。最後,你會繪製一張直方圖,描述不同違約筆數的機率。

本練習屬於課程

Statistical Thinking in Python (Part 1)

檢視課程

練習說明

  • 將隨機數產生器種子設為 42。
  • 使用 np.empty() 初始化空陣列 n_defaults。因為我們要做 1000 次模擬,所以它應該包含 1000 個元素。
  • 撰寫一個迴圈,執行 1000 次迭代,利用 perform_bernoulli_trials() 計算每 100 筆貸款的違約數量。該函式接受兩個引數:試驗次數 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
編輯並執行程式碼