外插:越界的風險
在本題中,我們要探討外插的風險。下圖顯示一座山上的健行步道高程剖面。其中有一段以黑色標示的路段看起來近似線性,並被用來建立模型。不過你會發現,紅色所示的最佳擬合直線在超出原始「定義域」後,無法貼合新的外部資料(藍色標示)。
如果我們想用這個模型來預測高度,且仍要在某個容許誤差範圍內保持準確,那麼可以套用模型的自變數 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)