1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wprowadzenie do modelowania liniowego w Pythonie

Connected

ćwiczenie

Optymalizacja z użyciem Scipy

Można napisać implementację w numpy opartą na analitycznym rozwiązaniu, które pozwala znaleźć minimalną wartość RSS. Jednak w przypadku bardziej złożonych modeli wyznaczenie wzorów analitycznych nie jest możliwe – dlatego sięgamy po inne metody.

W tym ćwiczeniu użyjesz scipy.optimize, aby zastosować bardziej ogólne podejście do tego samego problemu optymalizacyjnego.

Przy okazji zobaczysz dodatkowe wartości zwracane przez tę metodę, które mówią nam „jak dobre jest najlepsze rozwiązanie". Dla łatwego porównania nowego podejścia scipy z poprzednim ćwiczeniem użyjemy tych samych danych i parametrów.

Instrukcje

100 XP
  • Zdefiniuj funkcję model_func(x, a0, a1), która dla danej tablicy x zwraca a0 + a1*x.
  • Użyj funkcji optimize.curve_fit() z biblioteki scipy, aby obliczyć optymalne wartości a0 i a1.
  • Rozpakuj param_opt, zapisując parametry modelu jako a0 = param_opt[0] i a1 = param_opt[1].
  • Użyj predefiniowanej funkcji compute_rss_and_plot_fit, aby przetestować i zweryfikować swoje rozwiązanie.