Nội suy quá đà: Đi quá giới hạn
Trong bài này, chúng ta xem xét rủi ro của việc nội suy vượt phạm vi. Hình dưới là mặt cắt độ cao của một lối mòn trên núi. Một đoạn của lối mòn, tô đen, trông có vẻ tuyến tính và đã được dùng để xây dựng mô hình. Nhưng ta thấy đường hồi quy tốt nhất, tô đỏ, không còn phù hợp khi ra ngoài "miền" ban đầu, vì nó kéo dài sang dữ liệu mới ở bên ngoài, tô xanh.
Nếu muốn dùng mô hình để dự đoán độ cao nhưng vẫn chính xác trong một mức dung sai nào đó, thì giá trị nhỏ nhất và lớn nhất của biến độc lập x mà chúng ta có thể áp dụng mô hình là bao nhiêu?
Tại đây, hãy dùng sẵn x_data, y_data, y_model, và plot_data_model_tolerance() để hoàn thành lời giải của bạn.

Bài tập này là một phần của khóa học
Nhập môn Mô hình tuyến tính với Python
Hướng dẫn bài tập
- Dùng
np.abs()để tính residuals là hiệuy_data - y_model. - Tìm giá trị
.min()và.max()củaxtại những điểm màresidualsnhỏ hơntolerance = 100mét. - Dùng
np.min()vànp.max()để in ra khoảng (lớn nhất và nhỏ nhất) của các giá trịx_good. - Dùng hàm dựng sẵn
plot_data_model_tolerance()để so sánh dữ liệu, mô hình, và khoảng các giá trịx_goodnơiresiduals < tolerancelàTrue.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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)