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
Istruzioni dell'esercizio
- Usa
np.abs()per calcolare i residui come differenzey_data - y_model - Trova i valori
.min()e.max()dixai quali iresidualssono inferiori a unatolerance = 100metri. - Usa
np.min()enp.max()per stampare l’intervallo (il più grande e il più piccolo) dei valorix_good. - Usa la funzione predefinita
plot_data_model_tolerance()per confrontare i dati, il modello e l’intervallo di valorix_goodin cuiresiduals < 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)