开始使用免费开始使用

我们可能会看到多少次违约?

假设某银行发放了 100 笔按揭贷款。实际违约的数量可能在 0 到 100 之间。已知单笔贷款违约的概率为 p = 0.05,您想知道观察到某个违约数量的概率。为此,您将进行一次模拟。您将使用上一练习中编写的 perform_bernoulli_trials() 函数执行 100 次伯努利试验,并记录出现了多少次违约。这里,"成功"指的是一次违约。(请记住,"success" 仅表示伯努利试验结果为 True,也就是借款人是否违约。)然后,您会再进行 100 次伯努利试验。如此反复,直到我们累计进行了 1000 次。最后,绘制一个直方图,展示不同违约次数对应的概率。

本练习是课程的一部分

Python 中的统计思维(第 1 部分)

查看课程

练习说明

  • 将随机数生成器的种子设为 42。
  • 使用 np.empty() 初始化空数组 n_defaults。它应包含 1000 个元素,因为我们要做 1000 次模拟。
  • 编写一个 for 循环,迭代 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
编辑并运行代码