Aan de slagBegin gratis

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

Bekijk cursus

Oefeninstructies

  • Gebruik voor elke proefwaarde a1 in a1_array model() om de modelwaarde te voorspellen, en daarna compute_rss() met y_data, y_model; sla de uitvoer rss_value op in rss_list.
  • Zet rss_list om naar een np.array() en gebruik vervolgens np.min() om de minimale waarde in rss_array te vinden.
  • Gebruik np.where() om de bijbehorende proefwaarde te vinden en wijs het resultaat toe aan best_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)
Code bewerken en uitvoeren