Metoda najmniejszych kwadratów (MNK) — wyprowadzenie krok po kroku
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ść.
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 $$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.
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.
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.
- 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) $$
- 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) $$
- 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 $$
- 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})$.
- 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}) $$
- 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}\,} $$
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$ |
|---|---|---|---|---|---|
| 1 | 3 | −2 | −2 | 4 | 4 |
| 2 | 4 | −1 | −1 | 1 | 1 |
| 3 | 5 | 0 | 0 | 0 | 0 |
| 4 | 6 | 1 | 1 | 1 | 1 |
| 5 | 7 | 2 | 2 | 4 | 4 |
| Σ | 10 | 10 |
Ś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.
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ć
- Reszta = ile prosta się pomyliła w pionie
- Minimalizujemy sumę ich kwadratów (gładko, karze duże błędy)
- Pochodne = 0 → równania normalne → wzory
- Druga pochodna > 0 → to na pewno minimum
- Geometrycznie → rzut prostopadły, reszta ⟂ regresorom
Dalej: Regresja liniowa — od teorii do praktyki · Założenia KMNK i własności estymatora