ML Atlas

03 · Nadzorowane · 4 min czytania · Interaktywne · aktualizacja

Na czym polega metoda najmniejszych kwadratów i dlaczego akurat kwadraty?

W skrócie

Metoda najmniejszych kwadratów dobiera parametry modelu tak, by suma kwadratów błędów była minimalna. Ma wzór zamknięty, ale jest wrażliwa na odstające punkty.

Co to jest

Metoda najmniejszych kwadratów (ordinary least squares, OLS) to sposób dopasowania modelu do danych polegający na wyborze takich parametrów, dla których suma kwadratów różnic między wartościami obserwowanymi a przewidywanymi jest najmniejsza. Te różnice nazywa się resztami; minimalizowana wielkość to RSS = Σ (yᵢ − ŷᵢ)². Metodę opublikował Adrien-Marie Legendre w 1805 roku, a Carl Friedrich Gauss w 1809 roku podał jej uzasadnienie probabilistyczne.

Intuicja: przez chmurę punktów można przeprowadzić nieskończenie wiele prostych. Do każdego punktu dorysuj pionowy odcinek do prostej i zbuduj na nim kwadrat. Metoda najmniejszych kwadratów wybiera prostą, dla której łączna powierzchnia tych kwadratów jest najmniejsza.

To nie jest jedyny możliwy wybór — można minimalizować sumę wartości bezwzględnych reszt albo największą resztę. Kwadraty wygrały, bo mają wyjątkowo wygodne własności matematyczne i dobre uzasadnienie statystyczne.

Mechanizm — dlaczego tak działa

Dlaczego kwadraty — rachunek. Suma kwadratów jest gładką, wypukłą funkcją parametrów: ma jedno minimum i żadnych pułapek. Przyrównanie pochodnych do zera daje układ równań liniowych, tzw. równania normalne XᵀX·b = Xᵀy, z rozwiązaniem b = (XᵀX)⁻¹Xᵀy. Dla jednej cechy upraszcza się to do wzoru, który da się policzyć na kartce: nachylenie = kowariancja(x, y) / wariancja(x), a stała dobrana tak, by prosta przechodziła przez punkt średnich (x̄, ȳ).

Dlaczego kwadraty — statystyka. Jeśli błędy są niezależne i mają rozkład normalny o stałej wariancji, to minimalizacja sumy kwadratów jest dokładnie tym samym co metoda największej wiarygodności. Nawet bez założenia normalności twierdzenie Gaussa–Markowa mówi, że OLS daje najmniejszą wariancję wśród estymatorów liniowych i nieobciążonych.

Geometria. Wektor przewidywań ŷ to rzut prostokątny wektora y na przestrzeń rozpiętą przez kolumny X. Stąd dwie zawsze prawdziwe własności (gdy model ma stałą): reszty sumują się do zera i są nieskorelowane z każdą cechą. Model „wyciska” z cech całą liniową informację o y.

Cena kwadratów. Kwadrat karze duże błędy nieproporcjonalnie: reszta 10 kosztuje sto razy więcej niż reszta 1. Jeden odstający punkt może więc przeciągnąć prostą w swoją stronę. Minimalizacja wartości bezwzględnych (regresja medianowa) albo funkcja straty Hubera są pod tym względem odporniejsze. Druga słabość: gdy cechy są silnie współliniowe, macierz XᵀX jest bliska osobliwej, a współczynniki stają się niestabilne — to motywacja regresji grzbietowej.

Obliczenia w praktyce. Biblioteki nie odwracają XᵀX wprost, bo to numerycznie ryzykowne; używają rozkładu QR albo SVD. Przy milionach wierszy lub cech zamiast wzoru zamkniętego stosuje się spadek gradientu, który minimalizuje tę samą funkcję krok po kroku.

Na przykładzie

Weźmy ze zbioru Diabetes (442 pacjentów) jedną cechę: BMI (średnio 26,4) i miarę postępu choroby po roku (średnio 152,1). Kowariancja podzielona przez wariancję BMI daje nachylenie 10,23, a stała wynosi −117,8 — dokładnie te same liczby zwraca LinearRegression i rozwiązanie równań normalnych. Prosta przechodzi przez punkt (26,4; 152,1), suma reszt wynosi zero (z dokładnością do błędu zaokrągleń rzędu 10⁻¹¹), a RMSE to 62,4.

Teraz test wrażliwości: dopisujemy jednego fikcyjnego pacjenta z BMI 45 (więcej niż ktokolwiek w zbiorze) i najniższym możliwym wynikiem 25. Jeden punkt na 443 zmienia nachylenie z 10,23 na 9,57, czyli o ponad 6%. Punkt odległy w osi x ma dużą „dźwignię”: im dalej od średniej leży, tym silniej obraca prostą.

Ta ilustracja działa w przeglądarce z włączonym JavaScriptem: na danych o cukrzycy dopasowujesz prostą suwakami nachylenia i wyrazu wolnego; widać reszty i porównanie Twojego błędu z minimum metody najmniejszych kwadratów.

Dane: Diabetes (progresja cukrzycy)

W praktyce

  • sklearn.linear_model.LinearRegression (pod spodem scipy.linalg.lstsq), w NumPy np.linalg.lstsq(X, y, rcond=None).
  • Nie licz np.linalg.inv(X.T @ X) — przy współliniowości wynik bywa numerycznie bezużyteczny; lstsq i solve są stabilniejsze.
  • Odstające punkty: sprawdź dźwignię i odległość Cooka (statsmodels, get_influence()), rozważ HuberRegressor lub QuantileRegressor.
  • Dla bardzo dużych danych: SGDRegressor minimalizuje tę samą sumę kwadratów spadkiem gradientu.
  • Pamiętaj, że OLS minimalizuje błąd pionowy (w y); jeśli obie zmienne mają błędy pomiaru, potrzebne są inne metody (np. regresja Deminga).

Najczęstsze pytania

Dlaczego nie minimalizuje się po prostu sumy błędów?
Bo błędy dodatnie i ujemne by się znosiły: prosta mijająca punkty raz z góry, raz z dołu mogłaby mieć sumę błędów równą zeru. Trzeba pozbyć się znaku — przez wartość bezwzględną albo kwadrat. Kwadrat daje gładką funkcję z prostym rozwiązaniem.
Czym różni się błąd kwadratowy od bezwzględnego w praktyce?
Minimalizacja kwadratów prowadzi do średniej warunkowej, minimalizacja wartości bezwzględnych — do mediany warunkowej. Mediana jest odporna na odstające wartości, średnia nie. Przy symetrycznym szumie bez ekstremów obie metody dają podobne proste.
Czy metoda najmniejszych kwadratów działa tylko dla prostych?
Nie. Działa dla każdego modelu liniowego w parametrach, także z cechami wielomianowymi czy logarytmami. Istnieje też nieliniowa metoda najmniejszych kwadratów dla modeli nieliniowych w parametrach, rozwiązywana iteracyjnie, a sieci neuronowe z błędem MSE minimalizują tę samą sumę kwadratów spadkiem gradientu.

Źródła

  • Legendre A.-M. „Nouvelles méthodes pour la détermination des orbites des comètes”, Paryż, 1805.
  • Gauss C. F. „Theoria motus corporum coelestium in sectionibus conicis solem ambientium”, Hamburg, 1809.
  • Hastie T., Tibshirani R., Friedman J. „The Elements of Statistical Learning”, 2nd ed., 2009, rozdz. 3.2.
  • James G., Witten D., Hastie T., Tibshirani R. „An Introduction to Statistical Learning”, 2nd ed., 2021, rozdz. 3.1.
  • Dokumentacja scikit-learn, „Ordinary Least Squares”: https://scikit-learn.org/stable/modules/linear_model.html

Zobacz też