Wariancja i odchylenie standardowe — miary rozrzutu
Wariancja i odchylenie standardowe prostymi słowami: po co podnosić do kwadratu, jak to czytać, różnica między populacją a próbą — z rysunkami
Średnia to za mało
Dwie klasy piszą ten sam test. Obie mają średnią 60 punktów. Identyczne? Niekoniecznie:
- Klasa A: wszyscy dostali 58–62 (równo)
- Klasa B: połowa dostała 30, połowa 90 (skrajnie)
Średnia ich nie odróżnia. Potrzebujemy miary rozrzutu — jak bardzo wartości odbiegają od środka. To właśnie wariancja i odchylenie standardowe.
Jak liczymy: krok po kroku
Pomysł: zmierz, jak daleko każda wartość jest od średniej, i uśrednij te odległości. Ale jest haczyk — odległości są raz dodatnie, raz ujemne i skasowałyby się. Rozwiązanie: podnieś do kwadratu.
- Odchylenie każdej wartości od średniej: $d_i = x_i - \bar{x}$. Mówi, jak daleko i w którą stronę.
- Problem: suma odchyleń jest zawsze zerem — $\sum (x_i - \bar{x}) = 0$ (dodatnie kasują ujemne). Czyli „średnie odchylenie" to bezużyteczne 0.
- Naprawa — kwadrat: $d_i^2 = (x_i-\bar{x})^2$ jest zawsze dodatni, więc nic się nie skasuje. Dodatkowo mocniej karze duże odchyłki.
- Wariancja to średni kwadrat odchylenia: $$ \sigma^2 = \frac{1}{n}\sum_{i=1}^n (x_i - \bar{x})^2 $$
- Problem jednostek: wariancja jest w jednostkach **do kwadratu** (np. „złotówki²" — bez sensu). Dlatego bierzemy pierwiastek i wracamy do normalnych jednostek — to odchylenie standardowe: $$ \sigma = \sqrt{\sigma^2} = \sqrt{\frac{1}{n}\sum (x_i-\bar{x})^2} $$
Populacja a próba (n a n−1)
Tu jest subtelność, która myli początkujących. Wzór zależy od tego, czy masz całą populację, czy tylko próbę:
$$ \sigma^2 = \frac{1}{n}\sum (x_i-\bar{x})^2 \quad\text{(populacja)} \qquad s^2 = \frac{1}{n-1}\sum (x_i-\bar{x})^2 \quad\text{(próba)} $$Zastosowanie w ekonometrii
Rozrzut jest wszędzie w ekonometrii:
- Odchylenie standardowe reszt mierzy, jak dobrze model pasuje
- Błędy standardowe współczynników to rozrzut oszacowań — podstawa testów i przedziałów ufności
- Wariancja jest w mianowniku nachylenia regresji: $b_1 = \mathrm{Cov}(x,y)/\mathrm{Var}(x)$
- Heteroskedastyczność to dosłownie „niestała wariancja" składnika losowego
W kodzie
# R — UWAGA: var() i sd() używają n-1 (próba)!
var(x) # wariancja próby (dzieli przez n-1)
sd(x) # odchylenie standardowe próby
# wariancja populacji:
var(x) * (length(x)-1) / length(x)
# Python — UWAGA: numpy domyślnie dzieli przez n (populacja)!
import numpy as np
np.var(x) # populacja (n)
np.var(x, ddof=1) # próba (n-1) <- zwykle to chcesz
np.std(x, ddof=1) # odchylenie próby
var()/sd() dzielą przez n−1 (próba), ale NumPy np.var() domyślnie przez n (populacja). Jeśli wyniki R i Pythona się różnią — to prawie zawsze to. W NumPy dodaj ddof=1.Zapamiętaj
- Wariancja $\sigma^2$ = średni kwadrat odległości od średniej (kwadrat, by nic się nie skasowało).
- Odchylenie standardowe $\sigma = \sqrt{\sigma^2}$ = typowa odległość od średniej, w normalnych jednostkach.
- Próba: dziel przez $n-1$ (poprawka Bessela). Populacja: przez $n$.
- Uwaga na domyślne ustawienia: R = próba, NumPy = populacja.
Dalej: Statystyka opisowa · Rozkład normalny · Korelacja