ÎncepețiÎncepe gratuit

Extrapolare: Dincolo de Margini

În acest exercițiu, explorăm pericolele extrapolării. Imaginea de mai jos arată profilul unui traseu de drumeție pe un munte. O porțiune a traseului, marcată cu negru, pare liniară și a fost folosită pentru a construi un model. Observăm însă că linia de potrivire optimă, afișată în roșu, nu se potrivește în afara „domeniului" original – acolo unde se extinde spre noile date exterioare, marcate cu albastru.

Dacă vrem să folosim modelul pentru a face predicții despre altitudine, dar să rămânem în limitele unei toleranțe de eroare acceptabile, care sunt valorile minimă și maximă ale variabilei independente x pentru care putem aplica modelul?

Folosește x_data, y_data, y_model și plot_data_model_tolerance(), deja încărcate, pentru a-ți completa soluția.

Acest exercițiu face parte din cursul

Introducere în modelarea liniară în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește np.abs() pentru a calcula reziduurile ca diferențe y_data - y_model.
  • Găsește valorile .min() și .max() ale lui x pentru care residuals sunt mai mici decât tolerance = 100 de metri.
  • Folosește np.min() și np.max() pentru a afișa intervalul (cea mai mare și cea mai mică valoare) al valorilor x_good.
  • Folosește funcția predefinită plot_data_model_tolerance() pentru a compara datele, modelul și intervalul valorilor x_good unde condiția residuals < tolerance este True.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)
Editează și rulează codul