Začněte nyníZačněte zdarma

Extrapolace: Za hranice dat

V tomto cvičení se podíváme na úskalí extrapolace. Na obrázku vidíš profil turistické stezky na hoře. Jedna část stezky, vyznačená černě, vypadá lineárně, a právě ta posloužila jako základ pro sestavení modelu. Nejlepší přímka (červená) však mimo původní „doménu" dat přestává odpovídat novým datům označeným modře.

Chceme-li model využít k předpovědi nadmořské výšky a zároveň se vejít do určité tolerance, jaké jsou nejmenší a největší hodnoty nezávislé proměnné x, pro které ještě můžeme model použít?

Pro řešení využij předpřipravené proměnné x_data, y_data, y_model a funkci plot_data_model_tolerance().

Toto cvičení je součástí kurzu

Úvod do lineárního modelování v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Pomocí np.abs() vypočítej rezidua jako rozdíly y_data - y_model.
  • Najdi hodnoty .min() a .max() proměnné x, při kterých jsou residuals menší než tolerance = 100 metrů.
  • Pomocí np.min() a np.max() vypiš rozsah (největší a nejmenší) hodnot x_good.
  • Pomocí předpřipravené funkce plot_data_model_tolerance() porovnej data, model a rozsah hodnot x_good, kde platí residuals < tolerance.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
Upravit a spustit kód