Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Använd np.abs() för att beräkna residualerna som differenserna y_data - y_model.
  • Hitta .min() och .max() för de värden av x där residuals är mindre än tolerance = 100 meter.
  • Använd np.min() och np.max() för att skriva ut intervallet (det största och minsta) för x_good-värdena.
  • Använd den fördefinierade funktionen plot_data_model_tolerance() för att jämföra data, modell och det intervall av x_good-värden där residuals < tolerance är True.

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)
Redigera och kör kod