想定される延滞(デフォルト)の件数はどれくらい?
ある銀行が住宅ローンを 100 件組成したとします。延滞(デフォルト)件数は 0 件から 100 件まで起こりえます。延滞が起こる確率が p = 0.05 のとき、特定の延滞件数が生じる確率を知りたいとします。これを調べるためにシミュレーションを行います。前の演習で作成した perform_bernoulli_trials() 関数を使ってベルヌーイ試行を 100 回実施し、延滞が何件起きたかを記録します。ここでは「成功」は延滞を意味します(「成功」とはベルヌーイ試行の結果が True、すなわち借り手が延滞したことを指すだけだと覚えておいてください)。同じことを別の 100 回のベルヌーイ試行でも行います。これを合計 1000 回繰り返します。最後に、延滞件数の確率を表すヒストグラムを描画します。
この演習はコースの一部です
Pythonで学ぶ統計的思考(パート1)
演習の手順
- 乱数生成器に 42 をシードします。
- 空の配列
n_defaultsをnp.empty()で初期化します。シミュレーションを 1000 回行うので、要素数は 1000 にしてください。 perform_bernoulli_trials()関数を使って、100 件のローンあたりの延滞件数を計算するforループ(反復回数1000)を書きます。関数は 2 つの引数を取ります。試行回数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