Wizualizacja minimum RSS
W tym ćwiczeniu obliczysz i zwizualizujesz, jak RSS zmienia się dla różnych wartości parametrów modelu. Zacznij od utrzymania stałego wyrazu wolnego i zmieniaj tylko nachylenie – dla każdej wartości nachylenia obliczysz wartości modelu oraz odpowiadające im RSS. Gdy uzyskasz tablicę wartości RSS, wyznaczysz w kodzie minimalne RSS, a następnie na jego podstawie określisz wartość nachylenia, która dała to minimum.
Do pracy wykorzystaj wczytane wcześniej tablice danych x_data, y_data oraz pustą listę rss_list.

To ćwiczenie jest częścią kursu
Wprowadzenie do modelowania liniowego w Pythonie
Instrukcje do ćwiczenia
- Dla każdej próbnej wartości
a1z tablicya1_arrayużyj funkcjimodel(), aby wyznaczyć wartości modelu, a następniecompute_rss()z argumentamiy_data, y_model– wynikrss_valuezapisz w liścierss_list. - Przekształć
rss_listna tablicęnp.array(), a następnie użyjnp.min(), aby znaleźć minimalną wartość wrss_array. - Użyj
np.where(), aby znaleźć odpowiadającą jej próbną wartość, i przypisz wynik dobest_a1. - Użyj funkcji
plot_rss_vs_parameters(), aby wizualnie potwierdzić, że twoje wartości zgadzają się z pokazanym wykresem.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)