Metoda najmniejszych kwadratów (MNK) — wyprowadzenie krok po kroku

Streszczenie

Skąd biorą się wzory MNK? Pełne wyprowadzenie estymatora najmniejszych kwadratów prostymi słowami: od intuicji przez rysunki do dowodu krok po kroku

Problem i intuicja

Masz chmurę punktów — np. staż pracy (oś pozioma) i płaca (oś pionowa). Chcesz przeprowadzić przez nie jedną prostą, która „najlepiej pasuje".

Ale co znaczy „najlepiej"? Każda prosta jakoś się myli — przechodzi obok punktów, nie przez nie. Błąd dla jednego punktu to pionowa odległość: ile prosta „nie trafiła" w rzeczywistą wartość.

płaca ystaż xŷ = b₀ + b₁xeᵢ
Każdy czerwony odcinek to błąd (reszta) — pionowa odległość punktu od prostej. MNK szuka prostej, dla której suma kwadratów tych odcinków jest najmniejsza.
Intuicja
W skrócie
Prosta jest „najlepsza", gdy łącznie najmniej się myli. Liczymy każdy błąd, podnosimy do kwadratu (żeby plusy i minusy się nie skasowały i żeby duże błędy bolały bardziej), sumujemy — i szukamy prostej, dla której ta suma jest najmniejsza. Stąd nazwa: metoda najmniejszych kwadratów.

Krok 0: Nazwijmy rzeczy

Mamy $n$ par obserwacji $(x_1, y_1), (x_2, y_2), \dots, (x_n, y_n)$. Dopasowujemy prostą:

$$ \hat{y}_i = b_0 + b_1 x_i $$

gdzie $b_0$ to wyraz wolny (gdzie prosta przecina oś $y$), a $b_1$ to nachylenie (o ile rośnie $y$, gdy $x$ wzrasta o 1).

Reszta (błąd) dla punktu $i$ to różnica między tym, co widzimy, a tym, co przewiduje prosta:

$$ e_i = y_i - \hat{y}_i = y_i - b_0 - b_1 x_i $$
yᵢ (rzeczywiste)ŷᵢ (z prostej)eᵢxᵢyᵢŷᵢ
Dla jednego punktu: $y_i$ to wartość rzeczywista, $\hat{y}_i$ to wartość z prostej, a reszta $e_i = y_i - \hat{y}_i$ to ich różnica.

Krok 1: Funkcja celu

Sumę kwadratów reszt — po angielsku Sum of Squared Residuals, oznaczmy $S$:

$$ S(b_0, b_1) = \sum_{i=1}^{n} e_i^2 = \sum_{i=1}^{n} \left(y_i - b_0 - b_1 x_i\right)^2 $$

To jest funkcja dwóch niewiadomych: $b_0$ i $b_1$. Szukamy takich ich wartości, by $S$ było najmniejsze.

Intuicja
Uzasadnienie podnoszenia do kwadratu
Gdybyśmy sumowali same reszty $e_i$, to dodatnie i ujemne by się skasowały — kiepska miara. Można by brać wartości bezwzględne $|e_i|$, ale są „kanciaste" (nieróżniczkowalne w zerze) i trudne w rachunku. Kwadrat jest gładki, zawsze dodatni i mocniej karze duże błędy. Dodatkowo daje piękne, zamknięte wzory — zaraz je wyprowadzimy.

Funkcja $S$ jest paraboloidą — miską skierowaną do góry. Ma dokładnie jedno minimum, na dnie miski. A na dnie miski styczna jest pozioma, czyli pochodne są równe zeru.

S(b₁)b₁minimum: dS/db₁ = 0b̂₁
Suma kwadratów reszt $S$ jako funkcja nachylenia $b_1$ to parabola (miska). Minimum jest tam, gdzie styczna jest pozioma — gdzie pochodna = 0.

Krok 2: Dowód — warunki pierwszego rzędu

Minimum znajdziemy, licząc pochodne cząstkowe $S$ względem $b_0$ i $b_1$ i przyrównując je do zera.

Dowód
Wyprowadzenie wzorów MNK
  1. Pochodna względem $b_0$. Różniczkujemy $S$ po $b_0$ (reguła łańcuchowa — pochodna kwadratu razy pochodna wnętrza, która po $b_0$ wynosi $-1$): $$ \frac{\partial S}{\partial b_0} = \sum_{i=1}^n 2\left(y_i - b_0 - b_1 x_i\right)(-1) = -2\sum_{i=1}^n \left(y_i - b_0 - b_1 x_i\right) $$
  2. Pochodna względem $b_1$. Tak samo, ale pochodna wnętrza po $b_1$ to $-x_i$: $$ \frac{\partial S}{\partial b_1} = \sum_{i=1}^n 2\left(y_i - b_0 - b_1 x_i\right)(-x_i) = -2\sum_{i=1}^n x_i\left(y_i - b_0 - b_1 x_i\right) $$
  3. Przyrównujemy do zera. Dzielimy przez $-2$ i otrzymujemy równania normalne: $$ \sum_{i=1}^n \left(y_i - b_0 - b_1 x_i\right) = 0 \qquad\text{oraz}\qquad \sum_{i=1}^n x_i\left(y_i - b_0 - b_1 x_i\right) = 0 $$
  4. Z pierwszego równania wyciągamy $b_0$. Rozbijamy sumę i dzielimy przez $n$ (pamiętając, że $\frac{1}{n}\sum y_i = \bar{y}$ oraz $\frac{1}{n}\sum x_i = \bar{x}$): $$ \sum y_i = n b_0 + b_1 \sum x_i \;\;\Longrightarrow\;\; \boxed{\,b_0 = \bar{y} - b_1 \bar{x}\,} $$ To mówi rzecz ważną: prosta MNK zawsze przechodzi przez punkt średnich $(\bar{x}, \bar{y})$.
  5. Podstawiamy $b_0$ do drugiego równania. Wstawiając $b_0 = \bar{y} - b_1\bar{x}$ i porządkując: $$ \sum x_i\Big(y_i - \bar{y} + b_1\bar{x} - b_1 x_i\Big) = 0 \;\;\Longrightarrow\;\; \sum x_i(y_i - \bar{y}) = b_1 \sum x_i(x_i - \bar{x}) $$
  6. Rozwiązujemy względem $b_1$. Korzystając z tożsamości $\sum x_i(y_i-\bar y)=\sum (x_i-\bar x)(y_i-\bar y)$ (bo $\sum \bar x (y_i - \bar y)=0$), dostajemy wzór końcowy: $$ \boxed{\,b_1 = \dfrac{\sum_{i=1}^n (x_i - \bar{x})(y_i - \bar{y})}{\sum_{i=1}^n (x_i - \bar{x})^2}\,} $$
Twierdzenie
Estymator MNK

Nachylenie to kowariancja podzielona przez wariancję $x$, a wyraz wolny dopina prostą do punktu średnich:

$$ b_1 = \frac{\mathrm{Cov}(x,y)}{\mathrm{Var}(x)} = \frac{\sum (x_i-\bar{x})(y_i-\bar{y})}{\sum (x_i-\bar{x})^2}, \qquad b_0 = \bar{y} - b_1\bar{x} $$

Krok 3: Sprawdźmy, że to naprawdę minimum

Pochodna = 0 wskazuje punkt krytyczny — ale czy to dolina, czy szczyt? Liczymy drugą pochodną:

$$ \frac{\partial^2 S}{\partial b_1^2} = 2\sum_{i=1}^n x_i^2 > 0 $$

Druga pochodna jest dodatnia (suma kwadratów), więc funkcja jest wypukła — to faktycznie minimum. Miska skierowana do góry, dokładnie jak na rysunku wyżej.

Krok 4: Przykład na liczbach

Pięć obserwacji: staż $x$ (lata) i płaca $y$ (tys. zł).

$x_i$$y_i$$x_i-\bar{x}$$y_i-\bar{y}$$(x_i-\bar{x})(y_i-\bar{y})$$(x_i-\bar{x})^2$
13−2−244
24−1−111
350000
461111
572244
Σ1010

Średnie: $\bar{x} = 3$, $\bar{y} = 5$. Podstawiamy do wzorów:

$$ b_1 = \frac{10}{10} = 1, \qquad b_0 = 5 - 1\cdot 3 = 2 $$

Czyli $\hat{y} = 2 + 1\cdot x$ — każdy rok stażu to średnio +1 tys. zł. Sprawdzenie w R/Pythonie:

x <- c(1,2,3,4,5); y <- c(3,4,5,6,7)
coef(lm(y ~ x))     # (Intercept) 2,  x 1
import numpy as np
x = np.array([1,2,3,4,5]); y = np.array([3,4,5,6,7])
b1 = np.cov(x, y, bias=True)[0,1] / np.var(x)   # 1.0
b0 = y.mean() - b1 * x.mean()                    # 2.0

Krok 5: Spojrzenie geometryczne (bonus)

Jest piękniejszy sposób patrzenia na MNK. Ustaw wszystkie $y_i$ w jeden wektor $\mathbf{y}$ w przestrzeni $n$-wymiarowej. Wszystkie możliwe dopasowania $\hat{\mathbf{y}}$ leżą na płaszczyźnie (przestrzeni rozpiętej przez kolumny $\mathbf{X}$). MNK wybiera ten punkt na płaszczyźnie, który jest najbliżej $\mathbf{y}$ — czyli rzut prostopadły.

przestrzeń kolumn Xyŷe
Geometria MNK: $\hat{\mathbf{y}}$ to rzut prostopadły wektora $\mathbf{y}$ na płaszczyznę dopasowań. Reszta $\mathbf{e}$ jest prostopadła do tej płaszczyzny — dlatego $\mathbf{X}^\top\mathbf{e}=0$.

To samo równanie normalne $\sum x_i e_i = 0$, które wyprowadziliśmy rachunkiem, mówi geometrycznie: reszta jest prostopadła do $x$. Dwa języki, jedna prawda.

Co zapamiętać

Definicja
Podsumowanie w jednym zdaniu
MNK dobiera prostą, minimalizując sumę kwadratów pionowych odległości. Rozwiązanie: $b_1 = \dfrac{\mathrm{Cov}(x,y)}{\mathrm{Var}(x)}$, $b_0 = \bar{y} - b_1\bar{x}$ — a prosta zawsze przechodzi przez $(\bar{x}, \bar{y})$.
  1. Reszta = ile prosta się pomyliła w pionie
  2. Minimalizujemy sumę ich kwadratów (gładko, karze duże błędy)
  3. Pochodne = 0 → równania normalne → wzory
  4. Druga pochodna > 0 → to na pewno minimum
  5. Geometrycznie → rzut prostopadły, reszta ⟂ regresorom

Dalej: Regresja liniowa — od teorii do praktyki · Założenia KMNK i własności estymatora