การ Extrapolation: ข้ามขอบเขตข้อมูล
ในแบบฝึกหัดนี้ เราจะมาดูความเสี่ยงของการ extrapolation ภาพที่แสดงคือโปรไฟล์ของเส้นทางเดินป่าบนภูเขา ส่วนหนึ่งของเส้นทาง (เส้นสีดำ) มีลักษณะเป็นเส้นตรง จึงถูกนำมาสร้างโมเดล แต่จะเห็นได้ว่าเส้น best fit (เส้นสีแดง) ไม่ได้พอดีกับข้อมูลนอก "โดเมน" เดิม เมื่อขยายออกไปยังข้อมูลชุดใหม่ (สีน้ำเงิน)
หากต้องการใช้โมเดลในการทำนายระดับความสูง โดยยังคงความแม่นยำภายใน tolerance ที่กำหนด ค่าน้อยสุดและมากสุดของตัวแปรอิสระ x ที่สามารถนำโมเดลไปใช้ได้คือเท่าใด?
ใช้ x_data, y_data, y_model และ plot_data_model_tolerance() ที่เตรียมไว้ให้เพื่อทำแบบฝึกหัดนี้

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Linear Modeling in Python
คำแนะนำการฝึกหัด
- ใช้
np.abs()คำนวณ residuals จากผลต่างy_data - y_model - หาค่า
.min()และ.max()ของxที่residualsน้อยกว่าtolerance = 100เมตร - ใช้
np.min()และnp.max()เพื่อแสดงช่วง (ค่ามากสุดและน้อยสุด) ของค่าx_good - ใช้
plot_data_model_tolerance()ที่กำหนดไว้ล่วงหน้าเพื่อเปรียบเทียบข้อมูล โมเดล และช่วงของค่าx_goodที่residuals < toleranceเป็นTrue
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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)