IniziaInizia gratis

Extrapolation: oltre il limite

In questo esercizio consideriamo i rischi dell’extrapolation. Qui vedi il profilo di un sentiero escursionistico in montagna. Un tratto del sentiero, in nero, sembra lineare ed è stato usato per costruire un modello. Ma vediamo che la retta di best fit, in rosso, non si adatta al di fuori del "dominio" originale, perché si estende su nuovi dati esterni, in blu.

Se vogliamo usare il modello per prevedere l’altitudine, ma restare accurati entro una certa tolleranza, quali sono i valori più piccoli e più grandi della variabile indipendente x a cui possiamo permetterci di applicare il modello?"

Qui, usa le variabili pre-caricate x_data, y_data, y_model e plot_data_model_tolerance() per completare la soluzione.

Questo esercizio fa parte del corso

Introduzione alla modellazione lineare in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Usa np.abs() per calcolare i residui come differenze y_data - y_model
  • Trova i valori .min() e .max() di x ai quali i residuals sono inferiori a una tolerance = 100 metri.
  • Usa np.min() e np.max() per stampare l’intervallo (il più grande e il più piccolo) dei valori x_good.
  • Usa la funzione predefinita plot_data_model_tolerance() per confrontare i dati, il modello e l’intervallo di valori x_good in cui residuals < tolerance è True.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)
Modifica ed esegui il codice