Extrapolace: Za hranice dat
V tomto cvičení se podíváme na úskalí extrapolace. Na obrázku vidíš profil turistické stezky na hoře. Jedna část stezky, vyznačená černě, vypadá lineárně, a právě ta posloužila jako základ pro sestavení modelu. Nejlepší přímka (červená) však mimo původní „doménu" dat přestává odpovídat novým datům označeným modře.
Chceme-li model využít k předpovědi nadmořské výšky a zároveň se vejít do určité tolerance, jaké jsou nejmenší a největší hodnoty nezávislé proměnné x, pro které ještě můžeme model použít?
Pro řešení využij předpřipravené proměnné x_data, y_data, y_model a funkci plot_data_model_tolerance().

Toto cvičení je součástí kurzu
Úvod do lineárního modelování v Pythonu
Pokyny k cvičení
- Pomocí
np.abs()vypočítej rezidua jako rozdílyy_data - y_model. - Najdi hodnoty
.min()a.max()proměnnéx, při kterých jsouresidualsmenší nežtolerance = 100metrů. - Pomocí
np.min()anp.max()vypiš rozsah (největší a nejmenší) hodnotx_good. - Pomocí předpřipravené funkce
plot_data_model_tolerance()porovnej data, model a rozsah hodnotx_good, kde platíresiduals < tolerance.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)