Extrapoleren: over de rand gaan
In deze oefening kijken we naar de gevaren van extrapoleren. Hier zie je het hoogteprofiel van een bergwandelpad. Een deel van het pad, gemarkeerd in zwart, lijkt lineair en is gebruikt om een model te bouwen. Maar we zien dat de best-fit-lijn, in rood, niet past buiten het oorspronkelijke "domein", want hij loopt door in nieuwe externe data, gemarkeerd in blauw.
Als we het model willen gebruiken om de hoogte te voorspellen, maar wel binnen een bepaalde foutmarge nauwkeurig willen blijven, wat zijn dan de kleinste en grootste waarden van de onafhankelijke variabele x waarop we het model nog kunnen toepassen?
Gebruik hier de vooringeladen x_data, y_data, y_model en plot_data_model_tolerance() om je oplossing te voltooien.

Deze oefening maakt deel uit van de cursus
Introductie tot lineaire modellering in Python
Oefeninstructies
- Gebruik
np.abs()om de residuals te berekenen als de verschilleny_data - y_model. - Zoek de
.min()- en.max()-waarden vanxwaarvoor deresidualskleiner zijn dan eentolerance = 100meter. - Gebruik
np.min()ennp.max()om het bereik (de grootste en kleinste) vanx_good-waarden af te drukken. - Gebruik de vooraf gedefinieerde
plot_data_model_tolerance()om de data, het model en het bereik vanx_good-waarden te vergelijken waarresiduals < toleranceTrueis.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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)