Co to są błędy standardowe odporne na klastrowanie?
Błędy standardowe odporne na klastrowanie (ang. cluster-robust standard errors, CRVE) korygują wnioskowanie, gdy obserwacje tworzą skupienia: uczniów w szkołach, pacjentów w szpitalach, pomiary w osobach. Wewnątrz skupienia reszty są skorelowane, więc klasyczne błędy, liczone jak dla niezależnych obserwacji, zawyżają precyzję (Cameron i Miller, 2015). Estymator kanapkowy sumuje reszty w obrębie klastra i dopuszcza dowolną korelację oraz różne wariancje wewnątrz niego. Zakłada tylko niezależność między klastrami.
Czym różnią się od HC3?
Błędy HC3 chronią przed heteroskedastycznością, ale każdą obserwację nadal traktują jako niezależną. Przy korelacji wewnątrz skupień nie pomagają. Z kolei błędy klastrowe przy jednoelementowych klastrach sprowadzają się do zwykłych błędów odpornych. O sile zależności informuje ICC.
Przykład
W symulacji 20 szkół po 25 uczniów program przydzielono całym szkołom. Różnica wyników wyniosła 5.53 punktu. Klasyczne SE = 0.779, HC3 = 0.780, a SE klastrowe (CR1) = 1.871. Przy małej liczbie klastrów Pustejovsky i Tipton (2018) zalecają poprawkę CR2 z przybliżeniem Satterthwaite’a: SE = 1.92, t(18) = 2.88, p = .010. Klasyczny test dawał p < .001 przy 498 stopniach swobody.
Jak opisać w pracy
Na co uważać
- Liczy się liczba klastrów. Przy kilkunastu klastrach zwykłe CRVE jest zaniżone i test zbyt często odrzuca hipotezę zerową; używaj CR2 i stopni swobody Satterthwaite’a.
- Klastruj na poziomie przydziału. Gdy interwencję losowano szkołom, klastrem jest szkoła, nie klasa ani uczeń. Analiza uczniów jak niezależnych obserwacji to pseudoreplikacja.
- Korekta zamiast modelu. CRVE poprawia tylko błędy. Jeśli interesuje cię zmienność między szkołami albo efekty różnych poziomów, potrzebny jest model wielopoziomowy.
W danych panelowych błędy klastrowe zwykle łączy się z estymatorem efektów stałych – pokazuje to wpis Dane panelowe – efekty stałe, losowe i test Hausmana.
Błędy klastrowe w R
Kod symuluje 20 szkół z programem przydzielonym całym szkołom i porównuje klasyczne SE, HC3, CR1 (vcovCL) oraz CR2 ze stopniami swobody Satterthwaite’a (clubSandwich).
Program szkolny przydzielony szkołom
R
suppressPackageStartupMessages({library(sandwich); library(lmtest); library(clubSandwich)})
set.seed(3551)
K <- 20; n <- 25 # 20 szkół po 25 uczniów
szkola <- rep(1:K, each = n)
program <- rep(rep(0:1, each = K / 2), each = n) # program przydzielony całym szkołom
u <- rep(rnorm(K, 0, 4), each = n) # wspólny efekt szkoły
wynik <- 50 + 2 * program + u + rnorm(K * n, 0, 8)
d <- data.frame(szkola = factor(szkola), program, wynik)
m <- lm(wynik ~ program, data = d)
se <- c(klasyczne = sqrt(vcov(m)[2, 2]),
HC3 = sqrt(vcovHC(m, type = "HC3")[2, 2]),
CR1 = sqrt(vcovCL(m, cluster = ~ szkola, type = "HC1")[2, 2]))
round(c(b = unname(coef(m)[2]), se), 3)
round(coeftest(m)[2, ], 4) # klasyczny test t (df = 498)
round(coeftest(m, vcov. = vcovCL(m, cluster = ~ szkola, type = "HC1"), df = K - 1)[2, ], 4) # CR1, df = K - 1
coef_test(m, vcov = "CR2", cluster = d$szkola, test = "Satterthwaite")[2, ] # CR2 (clubSandwich)Wynik w R
b klasyczne HC3 CR1
5.529 0.779 0.780 1.871
Estimate Std. Error t value Pr(>|t|)
5.5289 0.7789 7.0980 0.0000
Estimate Std. Error t value Pr(>|t|)
5.5289 1.8708 2.9553 0.0081
Alternative hypothesis: two-sided
Coef. Estimate SE Null value t-stat d.f. (Satt) p-val (Satt) Sig.
program 5.53 1.92 0 2.88 18 0.00998 **Bibliografia oprogramowania
Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (pakiety sandwich, lmtest i clubSandwich). 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/
- sandwich (wersja 3.1.1): Zeileis, A., Köll, S., & Graham, N. (2020). Various versatile variances: An object-oriented implementation of clustered covariances in R. Journal of Statistical Software, 95(1), 1–36. https://doi.org/10.18637/jss.v095.i01
- clubSandwich (wersja 0.7.0): Pustejovsky, J. E. (2026). clubSandwich: Cluster-robust (sandwich) variance estimators with small-sample corrections [R package]. https://doi.org/10.32614/CRAN.package.clubSandwich
Najczęstsze pytania
Czym błędy odporne na klastrowanie różnią się od HC3?
HC3 poprawia tylko nierówne wariancje reszt i nadal zakłada niezależność obserwacji. Błędy klastrowe dopuszczają też korelację reszt w obrębie klastra. W danych pogrupowanych HC3 może być prawie równe klasycznemu SE, a klastrowe kilka razy większe.
Ile klastrów potrzeba?
Nie ma jednej granicy. Wnioskowanie opiera się na liczbie klastrów, nie obserwacji, a przy niewielu klastrach zwykłe błędy klastrowe są zaniżone (Cameron i Miller, 2015). Przy kilkunastu lub kilkudziesięciu klastrach stosuj CR2 ze stopniami swobody Satterthwaite’a.
Jak policzyć błędy odporne na klastrowanie w R?
Dla CR1: lmtest::coeftest(m, vcov. = sandwich::vcovCL(m, cluster = ~ szkola)). Dla CR2 z poprawką małych prób: clubSandwich::coef_test(m, vcov = "CR2", cluster = dane$szkola).
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)
- Cameron, A. C., & Miller, D. L. (2015). A practitioner’s guide to cluster-robust inference. Journal of Human Resources, 50(2), 317–372. https://doi.org/10.3368/jhr.50.2.317
- Pustejovsky, J. E., & Tipton, E. (2018). Small-sample methods for cluster-robust variance estimation and hypothesis testing in fixed effects models. Journal of Business & Economic Statistics, 36(4), 672–683. https://doi.org/10.1080/07350015.2016.1247004 ● Otwarty dostęp: pełny tekst
Cytowania BibTeX
@article{cameron2015practitioner, author={Cameron, A. Colin and Miller, Douglas L.}, title={{A practitioner’s guide to cluster-robust inference}}, journal={Journal of Human Resources}, year={2015}, volume={50}, number={2}, pages={317--372}, doi={10.3368/jhr.50.2.317}}@article{pustejovsky2018small, author={Pustejovsky, James E. and Tipton, Elizabeth}, title={{Small-sample methods for cluster-robust variance estimation and hypothesis testing in fixed effects models}}, journal={Journal of Business \& Economic Statistics}, year={2018}, volume={36}, number={4}, pages={672--683}, doi={10.1080/07350015.2016.1247004}}