Co to jest test Hausmana?
Test Hausmana (ang. Hausman test, też Durbin–Wu–Hausman) porównuje dwa estymatory tego samego parametru: zgodny, ale mniej precyzyjny, oraz efektywny, ale zgodny tylko przy dodatkowym założeniu. W danych panelowych to zwykle estymator efektów stałych (FE) i estymator efektów losowych (RE). Hipoteza zerowa mówi, że stała cecha jednostki nie jest skorelowana z predyktorami. Wtedy oba estymatory szacują to samo, a RE jest dokładniejszy.
Wzór i logika
Hausman (1978) wykorzystał prosty fakt: przy prawdziwej hipotezie zerowej estymator efektywny nie jest skorelowany ze swoją różnicą względem estymatora zgodnego. Wariancja różnicy jest więc różnicą wariancji:
H = (bFE − bRE)′ [VFE − VRE]−1 (bFE − bRE),
a statystyka ma rozkład χ² z liczbą stopni swobody równą liczbie porównywanych współczynników predyktorów zmiennych w czasie. Istotny wynik oznacza, że RE jest obciążony i bezpieczniejszy jest FE. Oba podejścia opisuje hasło efekty stałe i losowe.
Przykład
W symulacji 150 osób zmierzono czterokrotnie. Predyktor był skorelowany ze stałą cechą osoby, a prawdziwy efekt wynosił 0.40. FE dał b = 0.452 (SE = 0.047), RE z pakietu lme4 – b = 0.585 (SE = 0.043). Test: χ²(1) = 47.94, p < .001, więc RE odrzucamy. Wersja Mundlaka prowadzi do tego samego wniosku: średnia predyktora w osobie, dodana do modelu losowego, ma współczynnik 0.746 (SE = 0.101).
Jak opisać w pracy
Na co uważać
- Nieistotny wynik nie jest dowodem. W krótkim panelu test ma małą moc, a brak istotności nie potwierdza poprawności RE.
- Klasyczna wersja wymaga efektywności RE. Przy heteroskedastyczności lub autokorelacji błędów różnica wariancji bywa ujemna i test traci sens. Wtedy użyj podejścia Mundlaka i testu Walda z błędami odpornymi na klastrowanie.
- Test to nie cała decyzja. Bell i Jones (2015) pokazują, że model losowy ze średnimi predyktorów daje to samo co FE, a przy tym zachowuje zmienne stałe w czasie i rozszerza się do modelu wielopoziomowego.
Cały przykład analizy panelu pokazuje wpis Dane panelowe – efekty stałe, losowe i test Hausmana, a szersze tło – hasło ekonometria.
Test Hausmana w R
Kod symuluje panel, w którym predyktor jest skorelowany ze stałą cechą osoby, dopasowuje model efektów stałych (lm) i losowych (lmer), liczy statystykę Hausmana ze wzoru i pokazuje wersję Mundlaka.
Efekty stałe a losowe w symulowanym panelu
R
suppressPackageStartupMessages(library(lme4))
set.seed(3531)
N <- 150; T <- 4 # 150 osób, 4 pomiary
id <- rep(1:N, each = T)
a <- rep(rnorm(N, 0, 1), each = T) # stała cecha osoby (nieobserwowana)
x <- 0.6 * a + rnorm(N * T) # predyktor skorelowany z cechą osoby
y <- 2 + 0.4 * x + a + rnorm(N * T)
d <- data.frame(id = factor(id), x, y)
fe <- lm(y ~ x + id, data = d) # efekty stałe (zmienne zero-jedynkowe osób)
re <- lmer(y ~ x + (1 | id), data = d, REML = TRUE) # efekty losowe
b_fe <- coef(fe)["x"]; v_fe <- vcov(fe)["x", "x"]
b_re <- fixef(re)["x"]; v_re <- as.matrix(vcov(re))["x", "x"]
H <- unname((b_fe - b_re)^2 / (v_fe - v_re)) # statystyka Hausmana, 1 df
round(c(b_FE = unname(b_fe), SE_FE = sqrt(v_fe), b_RE = unname(b_re), SE_RE = sqrt(v_re),
H = H, p = pchisq(H, df = 1, lower.tail = FALSE)), 4)
# wersja Mundlaka: średnia predyktora w osobie jako dodatkowa zmienna w modelu losowym
d$x_sr <- ave(d$x, d$id)
mu <- lmer(y ~ x + x_sr + (1 | id), data = d)
round(coef(summary(mu)), 3)Wynik w R
b_FE SE_FE b_RE SE_RE H p
0.4523 0.0474 0.5852 0.0433 47.9423 0.0000
Estimate Std. Error t value
(Intercept) 2.108 0.072 29.356
x 0.452 0.047 9.550
x_sr 0.746 0.101 7.351Bibliografia oprogramowania
Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (pakiet lme4). W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).
- R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
- lme4 (wersja 2.0.1): Bates, D., Mächler, M., Bolker, B., & Walker, S. (2015). Fitting linear mixed-effects models using lme4. Journal of Statistical Software, 67(1), 1–48. https://doi.org/10.18637/jss.v067.i01
Najczęstsze pytania
Co zrobić, gdy statystyka Hausmana wychodzi ujemna?
Oznacza to, że w próbie różnica macierzy wariancji nie jest dodatnio określona, zwykle przy heteroskedastyczności lub autokorelacji błędów. Nie interpretuj takiego wyniku. Użyj wersji Mundlaka: dodaj do modelu losowego średnie predyktorów w jednostkach i przetestuj je testem Walda z błędami odpornymi na klastrowanie.
Jak policzyć test Hausmana w R?
W pakiecie plm służy do tego phtest(model_fe, model_re). Bez plm policz go ze wzoru: współczynnik i wariancję z lm(y ~ x + factor(id)) oraz z lme4::lmer(y ~ x + (1 | id)), jak w kodzie poniżej.
Czy istotny test Hausmana wyklucza efekty losowe?
Wyklucza zwykły model efektów losowych, ale nie model losowy ze średnimi predyktorów (within–between). Taki model daje ten sam efekt wewnątrz jednostek co efekty stałe, a do tego zachowuje zmienne stałe w czasie (Bell i Jones, 2015).
Powiązane hasła
Poradniki, w których użyjesz tego pojęcia
Potrzebujesz wsparcia w analizie danych?
Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.
Wyceń analizęOferta dla studentówBibliografia i dalsza literatura naukowa (APA 7)
- Bell, A., & Jones, K. (2015). Explaining fixed effects: Random effects modeling of time-series cross-sectional and panel data. Political Science Research and Methods, 3(1), 133–153. https://doi.org/10.1017/psrm.2014.7 ● Otwarty dostęp
- Hausman, J. A. (1978). Specification tests in econometrics. Econometrica, 46(6), 1251–1271. https://doi.org/10.2307/1913827 ● Otwarty dostęp: pełny tekst
Cytowania BibTeX
@article{bell2015explaining, author={Bell, Andrew and Jones, Kelvyn}, title={{Explaining fixed effects: Random effects modeling of time-series cross-sectional and panel data}}, journal={Political Science Research and Methods}, year={2015}, volume={3}, number={1}, pages={133--153}, doi={10.1017/psrm.2014.7}}@article{hausman1978specification, author={Hausman, Jerry A.}, title={{Specification tests in econometrics}}, journal={Econometrica}, year={1978}, volume={46}, number={6}, pages={1251--1271}, doi={10.2307/1913827}}