De RSS-minima visualiseren
In deze oefening bereken en visualiseer je hoe de RSS varieert voor verschillende waarden van modelparameters. Begin met een constante intercept en varieer de helling: voor elke hellingswaarde bereken je de modelwaarden en de resulterende RSS. Zodra je een array met RSS-waarden hebt, bepaal je in code de minimale RSS-waarde en leid je uit dat minimum de helling af die tot die minimale RSS leidde.
Gebruik de vooraf geladen gegevensarrays x_data, y_data en de lege container rss_list om te beginnen.

Deze oefening maakt deel uit van de cursus
Introductie tot lineaire modellering in Python
Oefeninstructies
- Gebruik voor elke proefwaarde
a1ina1_arraymodel()om de modelwaarde te voorspellen, en daarnacompute_rss()mety_data, y_model; sla de uitvoerrss_valueop inrss_list. - Zet
rss_listom naar eennp.array()en gebruik vervolgensnp.min()om de minimale waarde inrss_arrayte vinden. - Gebruik
np.where()om de bijbehorende proefwaarde te vinden en wijs het resultaat toe aanbest_a1. - Gebruik
plot_rss_vs_parameters()om visueel te bevestigen dat je waarden overeenkomen met de getoonde figuur.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# Loop over all trial values in a1_array, computing rss for each
a1_array = np.linspace(15, 35, 101)
for a1_trial in a1_array:
y_model = model(x_data, a0=150, a1=____)
rss_value = compute_rss(y_data, ____)
rss_list.append(____)
# Find the minimum RSS and the a1 value from whence it came
rss_array = np.array(____)
best_rss = np.min(____)
best_a1 = a1_array[np.where(rss_array==____)]
print('The minimum RSS = {}, came from a1 = {}'.format(best_rss, best_a1))
# Plot your rss and a1 values to confirm answer
fig = plot_rss_vs_a1(a1_array, rss_array)