Екстраполяція: за край діапазону
У цій вправі розглянемо ризики екстраполяції. На рисунку показано профіль пішохідної стежки в горах. Одна ділянка стежки, позначена чорним, виглядає лінійною і була використана для побудови моделі. Але ми бачимо, що лінія найкращого наближення, показана червоним, не працює за межами початкового «діапазону», адже виходить у нові зовнішні дані, позначені синім.
Якщо ми хочемо використовувати модель для передбачення висоти й при цьому залишатися в межах заданої похибки, то які найменші й найбільші значення незалежної змінної x ми можемо собі дозволити для застосування моделі?
Тут скористайтеся попередньо завантаженими x_data, y_data, y_model і plot_data_model_tolerance(), щоб завершити розв'язання.

Ця вправа є частиною курсу
Вступ до лінійного моделювання в Python
Інструкції до вправи
- Використайте
np.abs(), щоб обчислити резидуали як різниці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)