外推:越界的风险
本练习将讨论外推的风险。图中展示了一条山地徒步路线的海拔剖面。路径中有一段(黑色部分)看起来近似线性,并据此建立了模型。但我们看到,最佳拟合直线(红色)在原始"定义域"之外并不适用,因为它延伸到了新的外部数据(蓝色部分)。
如果我们想用该模型来预测海拔,并且希望误差控制在一定公差范围内,那么自变量 x 的取值最小和最大分别是多少,才能保证我们仍可合理地应用该模型?
这里,请使用预加载的 x_data、y_data、y_model 和 plot_data_model_tolerance() 来完成您的解答。

本练习是课程的一部分
Python 线性建模入门
练习说明
- 使用
np.abs()计算残差,即y_data - y_model的差值。 - 找到当
residuals小于tolerance = 100米时对应的x的.min()和.max()值。 - 使用
np.min()和np.max()打印x_good的取值范围(最小值与最大值)。 - 使用预定义的
plot_data_model_tolerance()比较数据、模型,以及residuals < tolerance为True时x_good的取值范围。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Compute the residuals, "data - model", and determine where [residuals < tolerance]
residuals = np.abs(____ - ____)
tolerance = 100
x_good = x_data[____ < ____]
# Find the min and max of the "good" values, and plot y_data, y_model, and the tolerance range
print('Minimum good x value = {}'.format(np.____(____)))
print('Maximum good x value = {}'.format(np.____(____)))
fig = plot_data_model_tolerance(x_data, y_data, y_model, tolerance)