Algorytm regresji liniowej
Aby naprawdę zrozumieć regresję liniową, warto wiedzieć, jak działa ten algorytm. Kod funkcji ols() liczy setki wierszy, ponieważ musi działać z dowolną formułą i dowolnym zbiorem danych. Jednak w przypadku prostej regresji liniowej dla konkretnego zbioru danych możesz zaimplementować ten algorytm w zaledwie kilku linijkach kodu.
Kolejność kroków jest następująca:
- Najpierw napisz funkcję obliczającą sumę kwadratów, korzystając z ogólnej składni:
def function_name(args):
# some calculations with the args
return outcome
- Następnie użyj funkcji
minimize()z bibliotekiscipy, aby znaleźć współczynniki minimalizujące tę funkcję.
Wartości objaśniające (kolumna n_convenience ze zbioru taiwan_real_estate) są dostępne jako x_actual.
Wartości zmiennej odpowiedzi (kolumna price_twd_msq ze zbioru taiwan_real_estate) są dostępne jako y_actual.
Funkcja minimize() jest również wczytana.
To ćwiczenie jest częścią kursu
Regresja średnio zaawansowana ze statsmodels w Pythonie
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Complete the function
def calc_sum_of_squares(coeffs):
# Unpack coeffs
____, ____ = ____
# Calculate predicted y-values
y_pred = ____ + ____ * ____
# Calculate differences between y_pred and y_actual
y_diff = ____ - ____
# Calculate sum of squares
sum_sq = ____
# Return sum of squares
return sum_sq
# Test the function with intercept 10 and slope 1
print(calc_sum_of_squares([10, 1]))