Extrapolation: Att gå utanför gränserna
I den här övningen undersöker vi riskerna med extrapolation. Bilden visar höjdprofilen för en vandringsled på ett berg. En del av leden, markerad i svart, ser linjär ut och användes för att bygga en modell. Men vi ser att den bäst anpassade linjen, markerad i rött, inte stämmer utanför det ursprungliga "domänområdet" – när den sträcker sig in i de nya datapunkterna utanför, markerade i blått.
Om vi vill använda modellen för att förutsäga altituden, men ändå hålla oss inom en viss tolerans, vilka är de minsta och största värdena på den oberoende variabeln x som vi kan tillåta oss att använda modellen för?"
Använd de fördefinierade variablerna x_data, y_data, y_model och funktionen plot_data_model_tolerance() för att slutföra din lösning.

Den här övningen är en del av kursen
Introduktion till linjär modellering i Python
Övningsinstruktioner
- Använd
np.abs()för att beräkna residualerna som differensernay_data - y_model. - Hitta
.min()och.max()för de värden avxdärresidualsär mindre äntolerance = 100meter. - Använd
np.min()ochnp.max()för att skriva ut intervallet (det största och minsta) förx_good-värdena. - Använd den fördefinierade funktionen
plot_data_model_tolerance()för att jämföra data, modell och det intervall avx_good-värden därresiduals < toleranceärTrue.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)