ПочатиПочніть безкоштовно

Екстраполяція: за край діапазону

У цій вправі розглянемо ризики екстраполяції. На рисунку показано профіль пішохідної стежки в горах. Одна ділянка стежки, позначена чорним, виглядає лінійною і була використана для побудови моделі. Але ми бачимо, що лінія найкращого наближення, показана червоним, не працює за межами початкового «діапазону», адже виходить у нові зовнішні дані, позначені синім.

Якщо ми хочемо використовувати модель для передбачення висоти й при цьому залишатися в межах заданої похибки, то які найменші й найбільші значення незалежної змінної 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)
Редагувати та запускати код