เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การ 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)
แก้ไขและรันโค้ด