开始使用免费开始使用

估计测试误差

现在您已经得到了 posterior_predictive(已在您的工作空间中可用),可以在新数据上评估模型表现了。为此,您需要遍历测试集中的观测,对每个观测,将其预测分布与真实值之差作为预测误差。这样就能得到模型误差的分布,随后即可进行可视化。

您将用到 pymc3numpy,它们已分别以 pmnp 导入。测试数据 bikes_test 也已在您的工作空间中准备好。我们开始吧!

本练习是课程的一部分

Python 中的贝叶斯数据分析

查看课程

练习说明

  • errors 初始化为空列表。
  • 对于 bikes_test 中的每一行,计算该行的预测误差:用 posterior_predictive 中该行的预测抽样减去该行单一真实值 num_bikes
  • 通过将 errors 转为 numpy 数组并对其应用 .reshape() 方法来重塑形状,将最终结果赋给 error_distribution
  • 使用 pymc3plot_posterior() 函数绘制测试误差分布。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Initialize errors
errors = ____

# Iterate over rows of bikes_test to compute error per row
for index, test_example in bikes_test.iterrows():
    error = ____[____][:, ____] - ____[____]
    errors.append(error)

# Reshape errors
error_distribution = ____(____).____()

# Plot the error distribution
____
plt.show()
编辑并运行代码