Testy hipotez w ekonometrii — logika, rozkłady i dowody

Streszczenie

Pełny wykład testowania hipotez: logika wnioskowania, błędy I i II rodzaju i funkcja mocy (z wykresem 3D), konstrukcja i rozkład statystyki t, test F dla modelu i podzbioru zmiennych, test χ², dowód tożsamości F = t², równoważność z przedziałem ufności — z wyprowadzeniami, wykresami w skali szarości i szczegółowo policzonymi przykładami oraz kodem R i Python.

Test hipotez jest sformalizowaną procedurą rozstrzygania, czy zaobserwowany w danych efekt jest na tyle wyraźny, by uznać go za realny, czy też mieści się w granicach przypadkowego szumu. Rozważymy całą jego konstrukcję: od logiki wnioskowania, przez rozkłady statystyk testowych i ich wyprowadzenia, po praktyczne pułapki interpretacyjne. Każde twierdzenie zilustrujemy pełnym rachunkiem.

Logika wnioskowania statystycznego

Punktem wyjścia jest hipoteza zerowa $H_0$ — twierdzenie o braku efektu, które przyjmujemy tymczasowo za prawdziwe. Następnie pytamy: gdyby $H_0$ rzeczywiście obowiązywała, jak nieprawdopodobne byłyby dane, które otrzymaliśmy? Jeśli okażą się one skrajnie nieprawdopodobne, uznajemy to za przesłankę przeciwko $H_0$ i ją odrzucamy. Rozumowanie to jest probabilistycznym odpowiednikiem dowodu nie wprost.

Definicja
Hipoteza zerowa i alternatywna
  • Hipoteza zerowa $H_0$ — twierdzenie poddawane próbie, zwykle postaci „brak efektu" (np. $\beta_j = 0$, brak związku, równość średnich). Pełni rolę domniemania, które dane mają obalić albo nie.
  • Hipoteza alternatywna $H_1$ — to, co przyjmujemy, gdy odrzucimy $H_0$ (np. $\beta_j \neq 0$).

Test nigdy nie dowodzi $H_0$; może ją jedynie odrzucić albo stwierdzić brak podstaw do odrzucenia. Niemożność odrzucenia nie jest dowodem prawdziwości — to brak dostatecznych przesłanek przeciwnych.

Hipotezę alternatywną formułujemy jako dwustronną ($H_1:\beta_j \neq c$), gdy nie zakładamy kierunku odchylenia, albo jednostronną ($H_1:\beta_j > c$ lub $H_1:\beta_j < c$), gdy teoria narzuca kierunek. W ekonometrii domyślnie stosujemy testy dwustronne — są ostrożniejsze, bo nie wykluczają z góry żadnego kierunku.

Pytanie merytoryczne$H_0$$H_1$Typ
Czy edukacja wpływa na dochód$\beta_{\text{edu}} = 0$$\beta_{\text{edu}} \neq 0$dwustronny
Czy elastyczność cenowa wynosi $-1$$\beta = -1$$\beta \neq -1$dwustronny
Czy reklama ma wpływ dodatni$\beta_{\text{rek}} \le 0$$\beta_{\text{rek}} > 0$jednostronny

Błędy I i II rodzaju oraz moc testu

Każda decyzja testowa może być obarczona błędem jednego z dwóch rodzajów: można odrzucić prawdziwą hipotezę zerową (fałszywy alarm) albo nie odrzucić hipotezy zerowej, gdy jest ona fałszywa (przeoczenie realnego efektu).

Definicja
Dwa rodzaje błędów
$H_0$ prawdziwa$H_0$ fałszywa
Odrzucamy $H_0$błąd I rodzaju (prawd. $\alpha$)decyzja poprawna (prawd. $1-\beta$)
Nie odrzucamy $H_0$decyzja poprawna (prawd. $1-\alpha$)błąd II rodzaju (prawd. $\beta$)
  • $\alpha = P(\text{odrzucenie} \mid H_0)$ — poziom istotności, z góry ustalony (zwykle $0{,}05$ lub $0{,}01$).
  • $\beta = P(\text{nieodrzucenie} \mid H_1)$ — prawdopodobieństwo przeoczenia realnego efektu.
  • Moc testu $= 1-\beta$ — prawdopodobieństwo wykrycia efektu, gdy ten istnieje.

Wartość krytyczna $c$ rozdziela obszar odrzucenia od obszaru nieodrzucenia. Przesuwając ją, zmniejszamy jeden błąd kosztem drugiego: obniżenie $\alpha$ (ostrzejszy próg) podnosi $\beta$. Ilustruje to nakładanie się rozkładu statystyki przy $H_0$ i przy $H_1$.

Dwie nakładające się gęstości — obszary błędu pierwszego i drugiego rodzaju
Rozkład statystyki testowej przy $H_0$ (linia ciągła) i przy $H_1$ (linia przerywana). Pole na prawo od progu $c$ pod krzywą $H_0$ to $\alpha$ (błąd I rodzaju); pole na lewo od $c$ pod krzywą $H_1$ to $\beta$ (błąd II rodzaju). Przesunięcie $c$ w prawo zmniejsza $\alpha$, lecz powiększa $\beta$.

Moc rośnie wraz z wielkością prawdziwego efektu $\delta$, z liczebnością próby $n$ oraz ze spadkiem wariancji błędu. Zależność mocy od efektu, dla kilku liczebności, ma kształt krzywej narastającej do jedności.

Krzywe mocy dla trzech liczebności próby
Funkcja mocy testu dwustronnego ($\alpha=0{,}05$) w zależności od prawdziwego efektu $\delta$ (w jednostkach odchylenia standardowego), dla trzech liczebności próby. Większe $n$ przesuwa krzywą w lewo — ten sam efekt jest wykrywany przy mniejszej próbie. Pozioma linia wyznacza konwencjonalny próg mocy $0{,}8$.

Łącząc oba czynniki, otrzymujemy moc jako powierzchnię nad płaszczyzną $(\delta, n)$ — rośnie ona monotonicznie w obu kierunkach.

Powierzchnia mocy testu jako funkcja efektu i liczebności próby
Moc testu jako powierzchnia nad płaszczyzną efektu $\delta$ i liczebności $n$. Powierzchnia wznosi się ku jedności, gdy rośnie którykolwiek z czynników; przy $\delta$ bliskim zera utrzymuje się na poziomie $\alpha$ (sam fałszywy alarm).

p-wartość

Zamiast porównywać statystykę z wartością krytyczną, można wyrazić siłę przesłanki przeciwko $H_0$ jednym, ciągłym wskaźnikiem.

Definicja
p-wartość

p-wartość to prawdopodobieństwo otrzymania wyniku co najmniej tak skrajnego jak zaobserwowany, przy założeniu prawdziwości $H_0$:

$$ p = P\big(|T| \ge |t_{\text{obs}}| \;\big|\; H_0\big) \quad\text{(test dwustronny)}. $$

Regułą decyzyjną jest: $p < \alpha \Rightarrow$ odrzucamy $H_0$. Mała p-wartość oznacza, że dane są trudne do pogodzenia z hipotezą zerową.

Czego p-wartość nie oznacza.

  • p-wartość nie jest prawdopodobieństwem, że $H_0$ jest prawdziwa — warunkujemy na $H_0$, a nie o $H_0$.
  • p-wartość nie jest prawdopodobieństwem popełnienia błędu w danym rozstrzygnięciu.
  • Mała p-wartość nie świadczy o dużym efekcie praktycznym — przy ogromnej próbie nawet znikomy efekt daje $p \approx 0$. Istotność statystyczna to nie to samo co istotność merytoryczna.

Test t dla pojedynczego parametru

Najczęstszym zadaniem jest sprawdzenie, czy współczynnik regresji różni się od ustalonej wartości $c$ (zwykle zera). Przyjmujemy konwencję, że $k$ oznacza liczbę szacowanych parametrów łącznie z wyrazem wolnym, więc liczba stopni swobody reszt wynosi $n-k$ (w części podręczników zapisywana jako $n-k-1$, gdy $k$ liczy tylko zmienne objaśniające).

Twierdzenie
Rozkład statystyki t

Przy założeniach klasycznego modelu z normalnością składnika losowego, dla hipotezy $H_0:\beta_j = c$ statystyka

$$ t = \frac{\hat\beta_j - c}{\operatorname{SE}(\hat\beta_j)},\qquad \operatorname{SE}(\hat\beta_j)=s\sqrt{[(\mathbf{X}^\top\mathbf{X})^{-1}]_{jj}} $$

ma rozkład t Studenta o $n-k$ stopniach swobody. Odrzucamy $H_0$ na poziomie $\alpha$, gdy $|t| > t_{n-k,\,\alpha/2}$.

Dowód
Skąd bierze się rozkład t
  1. Licznik standaryzujemy do rozkładu normalnego. Z [własności estymatora MNK](/ekonometria/mnk-wyprowadzenie/) $\hat\beta_j\sim\mathcal{N}\big(\beta_j,\ \sigma^2 v_{jj}\big)$, gdzie $v_{jj}=[(\mathbf{X}^\top\mathbf{X})^{-1}]_{jj}$. Przy prawdziwej $H_0$ ($\beta_j=c$): $$ Z=\frac{\hat\beta_j-c}{\sigma\sqrt{v_{jj}}}\sim\mathcal{N}(0,1). $$
  2. Wariancja błędu jest nieznana. Zastępujemy $\sigma$ jej estymatorem $s=\sqrt{\mathbf{e}^\top\mathbf{e}/(n-k)}$. Kluczowy fakt: $\dfrac{(n-k)s^2}{\sigma^2}\sim\chi^2_{n-k}$ oraz $s^2$ jest **niezależne** od $\hat\beta_j$ (reszty i estymator są ortogonalne, a przy normalności — niezależne).
  3. Iloraz daje rozkład t. Z definicji rozkładu Studenta, zmienna $\mathcal{N}(0,1)$ podzielona przez pierwiastek z niezależnej zmiennej $\chi^2$ unormowanej przez stopnie swobody: $$ t=\frac{\hat\beta_j-c}{s\sqrt{v_{jj}}}=\frac{Z}{\sqrt{\dfrac{(n-k)s^2/\sigma^2}{\,n-k\,}}}=\frac{\mathcal{N}(0,1)}{\sqrt{\chi^2_{n-k}/(n-k)}}\sim t_{n-k}. $$ Czynnik $\sigma$ skraca się — statystyka nie zależy od nieznanej wariancji.
Gęstość rozkładu t z dwustronnym obszarem odrzucenia
Gęstość rozkładu $t$ Studenta przy $6$ stopniach swobody. Zacieniowane ogony to dwustronny obszar odrzucenia o łącznej masie $\alpha=0{,}05$; granice wyznaczają wartości krytyczne $\pm t^\ast = \pm 2{,}447$. Statystyka padająca w zacieniowany obszar prowadzi do odrzucenia $H_0$.
Przykład
Test t dla średniej (jedna próba)

Mierzymy zawartość substancji w siedmiu próbkach: $x=(2{,}1;\ 2{,}5;\ 2{,}3;\ 2{,}8;\ 2{,}2;\ 2{,}6;\ 2{,}4)$. Norma przewiduje wartość $\mu_0=2{,}0$. Testujemy $H_0:\mu=2{,}0$ wobec $H_1:\mu\neq 2{,}0$.

  1. Średnia: $\bar x=\dfrac{16{,}9}{7}=2{,}4143$.
  2. Odchylenie standardowe próby: $s=\sqrt{\dfrac{1}{n-1}\sum_i(x_i-\bar x)^2}=0{,}2410$.
  3. Błąd standardowy średniej: $\operatorname{SE}=\dfrac{s}{\sqrt{n}}=\dfrac{0{,}2410}{\sqrt 7}=0{,}0911$.
  4. Statystyka: $t=\dfrac{2{,}4143-2{,}0}{0{,}0911}=4{,}548$, przy $n-1=6$ stopniach swobody.
  5. Decyzja: wartość krytyczna $t_{6;\,0{,}025}=2{,}447$. Ponieważ $4{,}548>2{,}447$ (równoważnie $p=0{,}0039<0{,}05$), odrzucamy $H_0$ — średnia istotnie odbiega od normy.
Przykład
Test t dla współczynnika regresji

Dla regresji z przykładu liczbowego MNK ($n=5$, $\hat\beta_1=0{,}6$, $\operatorname{SE}(\hat\beta_1)=\sqrt{0{,}08}=0{,}2828$, $n-k=3$) rozważymy dwie hipotezy.

(a) $H_0:\beta_1=0$ (czy zmienna w ogóle działa):

$$ t=\frac{0{,}6-0}{0{,}2828}=2{,}121,\qquad t_{3;\,0{,}025}=3{,}182. $$

Ponieważ $2{,}121<3{,}182$ ($p=0{,}124$), nie ma podstaw do odrzucenia $H_0$ — przy tak małej próbie efekt nie jest istotny.

(b) $H_0:\beta_1=1$ (czy nachylenie równa się jeden):

$$ t=\frac{0{,}6-1}{0{,}2828}=-1{,}414,\qquad |{-1{,}414}|<3{,}182\ (p=0{,}252). $$

Również brak podstaw do odrzucenia. Mała próba daje szerokie przedziały i słabą moc — obie wartości, $0$ i $1$, pozostają zgodne z danymi.

Test F — wiele ograniczeń naraz

Test $t$ dotyczy jednego parametru. Gdy chcemy sprawdzić $q$ ograniczeń jednocześnie (np. czy grupa zmiennych jest łącznie nieistotna), używamy testu $F$, który porównuje model ograniczony (z nałożonymi ograniczeniami) z nieograniczonym.

Twierdzenie
Statystyka F

Dla $H_0$ nakładającej $q$ liniowych ograniczeń, statystyka

$$ F=\frac{(\mathrm{RSS}_R-\mathrm{RSS}_{UR})/q}{\mathrm{RSS}_{UR}/(n-k)}\sim F_{q,\,n-k} $$

ma rozkład $F$ o $(q,\ n-k)$ stopniach swobody, gdzie $\mathrm{RSS}_R$ i $\mathrm{RSS}_{UR}$ to sumy kwadratów reszt modelu ograniczonego i nieograniczonego. Duże $F$ świadczy, że ograniczenia istotnie pogarszają dopasowanie, więc je odrzucamy.

Dla testu całego modelu ($H_0:\beta_1=\dots=\beta_{k-1}=0$, model ograniczony to sama stała) wzór sprowadza się do postaci przez $R^2$:

$$ F=\frac{R^2/(k-1)}{(1-R^2)/(n-k)}\sim F_{k-1,\,n-k}. $$
Gęstość rozkładu F z prawostronnym obszarem odrzucenia
Gęstość rozkładu $F$ i prawostronny obszar odrzucenia o masie $\alpha=0{,}05$ na prawo od wartości krytycznej $F^\ast$. Test $F$ jest z natury jednostronny — odrzucamy $H_0$ tylko przy dużych wartościach statystyki, bo te oznaczają silne pogorszenie dopasowania pod ograniczeniami.
Przykład
Test F całego modelu

Dla regresji z przykładu MNK ($n=5$, $k=2$) rozkład wariancji daje $\mathrm{ESS}=3{,}6$ oraz $\mathrm{RSS}=2{,}4$ (zob. ). Hipoteza $H_0:\beta_1=0$ jako test całego modelu:

$$ F=\frac{\mathrm{ESS}/(k-1)}{\mathrm{RSS}/(n-k)}=\frac{3{,}6/1}{2{,}4/3}=\frac{3{,}6}{0{,}8}=4{,}5,\qquad F_{1,3;\,0{,}05}=10{,}13. $$

Ponieważ $4{,}5<10{,}13$ ($p=0{,}124$), nie odrzucamy $H_0$. Zauważmy, że $F=4{,}5=2{,}121^2=t_1^2$ — wynik identyczny z testem $t$ z przykładu 2(a).

Przykład
Test F dla podzbioru zmiennych

Bierzemy model z dwiema zmiennymi z przykładu o zmiennej pominiętej: $y$ na $\{1,x_1,x_2\}$. Testujemy $H_0:\beta_2=0$ (czy $x_2$ jest zbędne), czyli $q=1$, $n=5$, $k=3$, $n-k=2$.

  • Model nieograniczony $y\sim\{1,x_1,x_2\}$: $\mathrm{RSS}_{UR}=\tfrac{87}{160}=0{,}54375$.
  • Model ograniczony $y\sim\{1,x_1\}$: $\mathrm{RSS}_R=5{,}1$.
$$ F=\frac{(5{,}1-0{,}54375)/1}{0{,}54375/2}=\frac{4{,}55625}{0{,}271875}=16{,}76,\qquad F_{1,2;\,0{,}05}=18{,}51. $$

Ponieważ $16{,}76<18{,}51$ ($p=0{,}055$), na granicy nie odrzucamy $H_0$ na poziomie 5%. Kontrola tożsamości: $\operatorname{SE}(\hat\beta_2)=\sqrt{\tfrac{87}{320}\cdot\tfrac{5}{32}}=0{,}2061$, więc $t_{\beta_2}=\tfrac{0{,}84375}{0{,}2061}=4{,}094$ i $t_{\beta_2}^2=16{,}76=F$ — zgodnie z twierdzeniem poniżej.

Dowód
Dla jednego ograniczenia F = t²
  1. Postać testu F przez formę kwadratową. Dla $q$ ograniczeń $\mathbf{R}\boldsymbol\beta=\mathbf{r}$ zachodzi równoważnie $$ F=\frac{(\mathbf{R}\hat{\boldsymbol\beta}-\mathbf{r})^\top[\mathbf{R}(\mathbf{X}^\top\mathbf{X})^{-1}\mathbf{R}^\top]^{-1}(\mathbf{R}\hat{\boldsymbol\beta}-\mathbf{r})}{q\,s^2}. $$
  2. Przypadek $q=1$. Pojedyncze ograniczenie $\beta_j=c$ to $\mathbf{R}=\mathbf{e}_j^\top$ (wektor wybierający $j$-tą współrzędną) oraz $r=c$. Wtedy $\mathbf{R}(\mathbf{X}^\top\mathbf{X})^{-1}\mathbf{R}^\top=v_{jj}$ jest skalarem, a forma kwadratowa upraszcza się: $$ F=\frac{(\hat\beta_j-c)^2}{v_{jj}\,s^2}=\frac{(\hat\beta_j-c)^2}{\operatorname{SE}(\hat\beta_j)^2}=\left(\frac{\hat\beta_j-c}{\operatorname{SE}(\hat\beta_j)}\right)^2=t^2. $$
  3. Zgodność rozkładów. Istotnie $F_{1,\,n-k}=t_{n-k}^2$ także jako rozkłady — kwadrat zmiennej $t$ o $m$ stopniach swobody ma rozkład $F_{1,m}$. Dla jednego ograniczenia test $F$ i dwustronny test $t$ są więc tożsame.

Test χ² i statystyka Walda

Gdy wariancja błędu jest znana lub gdy opieramy się na przybliżeniu wielkopróbkowym, mianownik z $s^2$ znika i forma kwadratowa ograniczeń ma wprost rozkład $\chi^2$. Statystyka Walda dla $q$ ograniczeń ma asymptotycznie rozkład $\chi^2_q$, a $W=qF$. Niezależnym, klasycznym zastosowaniem testu $\chi^2$ jest sprawdzenie zgodności rozkładu liczności.

Przykład
Test χ² zgodności

Kostkę sześcienną rzucono $100$ razy, otrzymując liczności oczek $(22,17,20,18,11,12)$. Testujemy $H_0$: kostka jest symetryczna (każda ściana z prawdopodobieństwem $\tfrac16$), więc oczekiwana liczność $E_i=\tfrac{100}{6}=16{,}667$.

$$ \chi^2=\sum_{i=1}^{6}\frac{(O_i-E_i)^2}{E_i}=\frac{(22-16{,}667)^2+\dots+(12-16{,}667)^2}{16{,}667}=5{,}72, $$

przy $6-1=5$ stopniach swobody. Wartość krytyczna $\chi^2_{5;\,0{,}05}=11{,}07$. Ponieważ $5{,}72<11{,}07$ ($p=0{,}334$), nie odrzucamy $H_0$ — odchylenia liczności mieszczą się w granicach losowej fluktuacji.

Równoważność z przedziałem ufności

Test hipotezy i przedział ufności są dwoma ujęciami tego samego wnioskowania. Dwustronny test $H_0:\beta_j=c$ na poziomie $\alpha$ odrzuca hipotezę dokładnie wtedy, gdy wartość $c$ leży poza $(1-\alpha)$-przedziałem ufności dla $\beta_j$.

Dowód
Test odrzuca c ⟺ c poza przedziałem ufności
  1. Reguła testu. Odrzucamy $H_0:\beta_j=c$ na poziomie $\alpha$ wtedy i tylko wtedy, gdy $$ \left|\frac{\hat\beta_j-c}{\operatorname{SE}(\hat\beta_j)}\right| > t_{n-k,\,\alpha/2}. $$
  2. Przekształcenie nierówności. Nierówność przeciwna (brak odrzucenia) jest równoważna $$ -t_{n-k,\,\alpha/2}\le\frac{\hat\beta_j-c}{\operatorname{SE}(\hat\beta_j)}\le t_{n-k,\,\alpha/2} \;\Longleftrightarrow\; c\in\Big[\hat\beta_j\pm t_{n-k,\,\alpha/2}\operatorname{SE}(\hat\beta_j)\Big]. $$
  3. Wniosek. Prawa strona to dokładnie $(1-\alpha)$-przedział ufności dla $\beta_j$. Zatem $c$ pozostaje w przedziale $\iff$ test nie odrzuca $H_0$. W szczególności współczynnik jest istotny ($H_0:\beta_j=0$ odrzucona), gdy jego przedział ufności **nie zawiera zera**.

Pułapki praktyczne

Istotność statystyczna a istotność merytoryczna.

Przy bardzo dużej próbie ($n=100\,000$) nawet mikroskopijny, ekonomicznie nieistotny efekt staje się „statystycznie istotny", bo $\operatorname{SE}$ maleje jak $1/\sqrt n$. Należy zawsze raportować wielkość efektu obok p-wartości i oceniać jego znaczenie merytoryczne, a nie sam fakt istotności.

Testowanie wielokrotne i selekcja wyników.

Przy $m$ niezależnych testach na poziomie $\alpha=0{,}05$ oczekiwana liczba fałszywych odkryć wynosi $0{,}05\,m$ — testując $20$ hipotez, średnio jedną odrzucimy przez przypadek. Klasyczną ochroną jest poprawka Bonferroniego ($\alpha'=\alpha/m$); przy wielu testach stosuje się też kontrolę odsetka fałszywych odkryć (FDR). Wybiórcze raportowanie tylko istotnych wyników (p-hacking) systematycznie zawyża liczbę fałszywych odkryć.

Podsumowanie

Definicja
Testy hipotez w pigułce
  • Schemat: zakładamy $H_0$, liczymy statystykę testową, porównujemy z rozkładem przy $H_0$; małe $p$ (lub statystyka w obszarze odrzucenia) → odrzucamy $H_0$.
  • Dwa błędy: $\alpha$ (fałszywy alarm) i $\beta$ (przeoczenie); moc $=1-\beta$ rośnie z efektem, próbą i spadkiem wariancji.
  • Test $t$: $t=(\hat\beta_j-c)/\operatorname{SE}\sim t_{n-k}$ — dla jednego parametru.
  • Test $F$: porównanie modeli, $F\sim F_{q,n-k}$; dla jednego ograniczenia $F=t^2$.
  • Test $\chi^2$ / Wald: wersja wielkopróbkowa, $W=qF\sim\chi^2_q$.
  • Dualność: test $H_0:\beta_j=c$ odrzuca $\iff c$ poza przedziałem ufności.
  • Ostrożność: istotność statystyczna $\neq$ merytoryczna; przy wielu testach konieczna korekta.

Dalej: p-wartość · Przedziały ufności · Współczynnik R² · Heteroskedastyczność i odporne błędy standardowe

Literatura uzupełniająca
  • Podręcznik: J. M. Wooldridge, Introductory Econometrics: A Modern Approach, rozdz. 4 (wnioskowanie w MNK)
  • Podręcznik: W. H. Greene, Econometric Analysis, rozdz. 5 (testy hipotez i przedziały ufności)
  • Podręcznik: G. Casella, R. L. Berger, Statistical Inference, rozdz. 8 (teoria testowania)
  • E. L. Lehmann, J. P. Romano, Testing Statistical Hypotheses, Springer (3. wyd., 2005)
  • Khan Academy — Significance tests
Oprogramowanie

R:

## 1. Test t dla jednej próby — H0: mu = 2,0
x <- c(2.1, 2.5, 2.3, 2.8, 2.2, 2.6, 2.4)
t.test(x, mu = 2.0)                 # t = 4,548; df = 6; p = 0,0039

## 2. Test t dla współczynnika regresji (przykład n = 5)
d  <- data.frame(x = 1:5, y = c(2, 4, 5, 4, 5))
m  <- lm(y ~ x, data = d)
summary(m)                          # t, p dla kazdego wspolczynnika
# test H0: beta_x = 1 (a nie 0):
(coef(m)["x"] - 1) / sqrt(diag(vcov(m)))["x"]   # t = -1,414

## 3. Test F dla calego modelu — patrz wiersz F-statistic w summary(m)
## 4. Test F dla podzbioru: model pelny vs ograniczony
x1 <- 1:5; x2 <- c(2, 1, 5, 3, 4); y <- c(3, 2, 6, 5, 7)
ur <- lm(y ~ x1 + x2); r <- lm(y ~ x1)
anova(r, ur)                        # F = 16,76; df = (1, 2)

## 5. Test chi-kwadrat zgodnosci (jednorodnosc 6 kategorii)
chisq.test(c(22, 17, 20, 18, 11, 12))   # chi2 = 5,72; df = 5; p = 0,334

## 6. Test Walda dla ograniczen liniowych
library(car); linearHypothesis(ur, c("x1 = 0", "x2 = 0"))

Python:

import numpy as np
from scipy import stats
import statsmodels.api as sm

# 1. Test t dla jednej proby
x = np.array([2.1, 2.5, 2.3, 2.8, 2.2, 2.6, 2.4])
print(stats.ttest_1samp(x, 2.0))     # t = 4,548; p = 0,0039

# 2-4. Regresja, testy t i F
X = sm.add_constant(np.arange(1, 6))
m = sm.OLS([2, 4, 5, 4, 5], X).fit()
print(m.tvalues, m.pvalues)          # testy t
print(m.fvalue, m.f_pvalue)          # test F calego modelu

# 4. Test F dla podzbioru (porownanie modeli)
x1 = np.arange(1, 6); x2 = np.array([2, 1, 5, 3, 4]); y = np.array([3, 2, 6, 5, 7])
ur = sm.OLS(y, np.column_stack([np.ones(5), x1, x2])).fit()
print(ur.f_test("x2 = 0"))           # F = 16,76; p = 0,0548

# 5. Test chi-kwadrat zgodnosci
print(stats.chisquare([22, 17, 20, 18, 11, 12]))  # chi2 = 5,72; p = 0,334