Wariancja i odchylenie standardowe — miary rozrzutu

Streszczenie

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.

średnia 60klasa A: mały rozrzutodchylenie ≈ 2średnia 60klasa B: duży rozrzutodchylenie ≈ 30
Ta sama średnia, różny rozrzut. Klasa A skupiona przy średniej (małe odchylenie), klasa B rozrzucona (duże odchylenie). Średnia tego nie widzi — odchylenie tak.

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.

Dowód
Skąd wzór na wariancję
  1. Odchylenie każdej wartości od średniej: $d_i = x_i - \bar{x}$. Mówi, jak daleko i w którą stronę.
  2. Problem: suma odchyleń jest zawsze zerem — $\sum (x_i - \bar{x}) = 0$ (dodatnie kasują ujemne). Czyli „średnie odchylenie" to bezużyteczne 0.
  3. 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.
  4. Wariancja to średni kwadrat odchylenia: $$ \sigma^2 = \frac{1}{n}\sum_{i=1}^n (x_i - \bar{x})^2 $$
  5. 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} $$
Intuicja
Jak czytać odchylenie standardowe
Odchylenie standardowe to typowa odległość wartości od średniej, w tych samych jednostkach co dane. Jeśli płace mają średnią 5000 zł i $\sigma = 800$ zł, to „typowa" osoba zarabia ok. 800 zł powyżej lub poniżej średniej. Przy rozkładzie normalnym ok. 68% mieści się w $\pm 1\sigma$.

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)} $$
Uwaga
Uzasadnienie dzielnika n−1
Licząc wariancję próby, używamy oszacowanej średniej $\bar{x}$ (nie prawdziwej $\mu$). To sprawia, że odchylenia są „za małe" — dane zawsze są bliżej własnej średniej niż prawdziwej. Dzielenie przez $n-1$ (zamiast $n$) koryguje to obciążenie. To tzw. poprawka Bessela. Przy dużym $n$ różnica jest znikoma.

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
Uwaga
Najczęstsza pomyłka w kodzie
R 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

Definicja
Rozrzut w pigułce
  • 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