Słownik metodologiczny · Modele regresji

Regresja ujemna dwumianowa – model dla nadmiernie rozproszonych zliczeń

Gdy wariancja zliczeń przekracza średnią, regresja Poissona zaniża błędy standardowe. Pokazujemy model ujemny dwumianowy, parametr θ, przykład w R i zdanie do pracy.

Strona główna / Słownik / Regresja ujemna dwumianowa
W skrócie: Regresja ujemna dwumianowa to model dla zliczeń, który dodaje parametr θ, dzięki czemu wariancja może przekraczać średnią. Przy nadmiernym rozproszeniu daje rzetelniejsze błędy standardowe niż regresja Poissona; współczynniki interpretuje się jako ilorazy częstości (IRR).

Co to jest regresja ujemna dwumianowa?

Regresja ujemna dwumianowa (ang. negative binomial regression, NB) to model dla zliczeń, takich jak liczba wizyt, napadów czy wypitych drinków. W odróżnieniu od regresji Poissona dopuszcza wariancję większą od średniej. Gardner, Mulvey i Shaw (1995) pokazują, że przy takich nadmiernie rozproszonych danych model Poissona wprowadza w błąd, i porównują go z modelem ujemnym dwumianowym. Zeileis, Kleiber i Jackman (2008) opisują oba modele jako uogólnione modele liniowe w R.

Model

log(μ) = b0 + b1x,   Var(Y) = μ + μ²/θ

μ to oczekiwana liczba zdarzeń, a θ – parametr rozproszenia szacowany metodą największej wiarygodności. Im mniejsze θ, tym większe rozproszenie. Gdy θ rośnie do nieskończoności, model przechodzi w regresję Poissona. Część programów podaje odwrotność, α = 1/θ. exp(b) to iloraz częstości (IRR), interpretowany tak samo jak w modelu Poissona.

Przykład

W danych symulowanych 250 osób podało liczbę wizyt u lekarza w ciągu roku (M = 4.06, wariancja = 21.86), a predyktorem był lęk o zdrowie (wynik z). W modelu Poissona współczynnik rozproszenia (suma kwadratów reszt Pearsona podzielona przez df) wyniósł 4.08. Oba modele dają podobny współczynnik (0.42 i 0.44), ale błąd standardowy w NB jest dwa razy większy (0.061 zamiast 0.031). Model NB, z θ = 1.54, pasuje znacznie lepiej: AIC = 1215 wobec 1538. Test ilorazu wiarygodności daje χ² = 325.00, p < .001. IRR = 1.56, 95% CI [1.38, 1.76].

Jak opisać w pracy

Ze względu na nadmierne rozproszenie (współczynnik rozproszenia w modelu Poissona = 4.08) zastosowano regresję ujemną dwumianową (θ = 1.54). Wzrost lęku o zdrowie o 1 SD wiązał się z 1.56 razy większą oczekiwaną liczbą wizyt u lekarza, IRR = 1.56, 95% CI [1.38, 1.76], p < .001.

Na co uważać

  • Oceniaj rozproszenie po uwzględnieniu predyktorów. Wariancja surowych danych większa od średniej to dopiero sygnał. Rozstrzygają reszty modelu Poissona.
  • Test Poisson kontra NB jest testem na granicy. Model Poissona odpowiada granicznej wartości parametru (α = 1/θ = 0), dlatego p z testu ilorazu wiarygodności dzieli się zwykle przez 2.
  • Dużo zer to jeszcze nie nadmiar zer. Najpierw sprawdź, ile zer przewiduje NB. Dopiero gdy wyraźnie za mało, rozważ model z nadmiarem zer. Coxe, West i Aiken (2009) omawiają NB obok takich modeli.

Model NB ma też wersję wielopoziomową (GLMM). Porównanie modeli dla zliczeń na jednym przykładzie znajdziesz we wpisie Regresja dla zliczeń.

Przykład reprodukowalny

Regresja ujemna dwumianowa w R

Kod dopasowuje regresję Poissona i ujemną dwumianową do tych samych danych i porównuje błędy standardowe, θ, IRR i AIC.

Poisson czy NB: rozproszenie, błędy standardowe i dopasowanie

Dane wejściowe: liczba wizyt u lekarza w ciągu roku i lęk o zdrowie u 250 osób (dane symulowane, set.seed(185)).

Co odczytać: średnią i wariancję, współczynnik rozproszenia, współczynniki i SE obu modeli, θ, IRR z 95% CI, p, test LR i AIC.

R
# Regresja ujemna dwumianowa a regresja Poissona (dane symulowane)
library(MASS)
set.seed(185)
n <- 250
lek <- rnorm(n)                                    # lęk o zdrowie (wynik z)
mu <- exp(1.2 + 0.35 * lek)
wizyty <- rnbinom(n, mu = mu, size = 1.5)          # liczba wizyt u lekarza w ciągu roku
round(c(M = mean(wizyty), wariancja = var(wizyty), zera = mean(wizyty == 0)), 2)
m_p  <- glm(wizyty ~ lek, family = poisson)
m_nb <- glm.nb(wizyty ~ lek)
round(c(rozproszenie = sum(residuals(m_p, type = "pearson")^2) / df.residual(m_p)), 2)
round(rbind(Poisson = summary(m_p)$coefficients[2, 1:2],
            NB = summary(m_nb)$coefficients[2, 1:2]), 3)
round(c(theta = m_nb$theta, SE = m_nb$SE.theta), 2)
round(exp(c(IRR = coef(m_nb)[2], confint.default(m_nb)[2, ])), 2)   # IRR z 95% CI (Wald)
summary(m_nb)$coefficients[2, 4]
lr <- 2 * (as.numeric(logLik(m_nb)) - as.numeric(logLik(m_p)))
round(c(LR = lr, p = pchisq(lr, 1, lower.tail = FALSE) / 2), 3)     # test na granicy: p / 2
round(c(AIC_Poisson = AIC(m_p), AIC_NB = AIC(m_nb)), 1)
Wynik w R
        M wariancja      zera 
     4.06     21.86      0.16 
rozproszenie 
        4.08 
        Estimate Std. Error
Poisson    0.424      0.031
NB         0.443      0.061
theta    SE 
 1.54  0.21 
IRR.lek   2.5 %  97.5 % 
   1.56    1.38    1.76 
[1] 4.796508e-13
     LR       p 
324.999   0.000 
AIC_Poisson      AIC_NB 
       1538        1215 

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje pakietów base i stats, pakiet MASS). W pracy podaj wersję R, której faktycznie użyto (sessionInfo()).

  1. 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/
  2. MASS (wersja 7.3-65): Venables, W. N., & Ripley, B. D. (2002). Modern applied statistics with S (4th ed.). Springer. https://doi.org/10.1007/978-0-387-21706-2

Najczęstsze pytania

Jak interpretować parametr θ w regresji ujemnej dwumianowej?

θ opisuje rozproszenie: wariancja wynosi μ + μ²/θ. Małe θ oznacza silne nadmierne rozproszenie, a bardzo duże – dane bliskie rozkładowi Poissona. Niektóre programy podają odwrotność, α = 1/θ.

Czy regresja ujemna dwumianowa pomoże, gdy wariancja jest mniejsza od średniej?

Nie. Model NB opisuje tylko nadmierne rozproszenie. Przy braku rozproszenia θ rośnie, a wyniki zbliżają się do regresji Poissona; przy niedorozproszeniu potrzebny jest inny model.

Jak zrobić regresję ujemną dwumianową w R?

Użyj funkcji glm.nb() z pakietu MASS, np. glm.nb(wizyty ~ lek). Współczynniki przelicz na IRR funkcją exp(), a dopasowanie porównaj z modelem Poissona przez AIC lub test ilorazu wiarygodności.

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ów

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Coxe, S., West, S. G., & Aiken, L. S. (2009). The analysis of count data: A gentle introduction to Poisson regression and its alternatives. Journal of Personality Assessment, 91(2), 121–136. https://doi.org/10.1080/00223890802634175
  2. Gardner, W., Mulvey, E. P., & Shaw, E. C. (1995). Regression analyses of counts and rates: Poisson, overdispersed Poisson, and negative binomial models. Psychological Bulletin, 118(3), 392–404. https://doi.org/10.1037/0033-2909.118.3.392
  3. Zeileis, A., Kleiber, C., & Jackman, S. (2008). Regression models for count data in R. Journal of Statistical Software, 27(8), 1–25. https://doi.org/10.18637/jss.v027.i08 ● Otwarty dostęp

Cytowania BibTeX

@article{coxe2009analysis, author={Coxe, Stefany and West, Stephen G. and Aiken, Leona S.}, title={{The analysis of count data: A gentle introduction to Poisson regression and its alternatives}}, journal={Journal of Personality Assessment}, year={2009}, volume={91}, number={2}, pages={121--136}, doi={10.1080/00223890802634175}}
@article{gardner1995regression, author={Gardner, William and Mulvey, Edward P. and Shaw, Esther C.}, title={{Regression analyses of counts and rates: Poisson, overdispersed Poisson, and negative binomial models}}, journal={Psychological Bulletin}, year={1995}, volume={118}, number={3}, pages={392--404}, doi={10.1037/0033-2909.118.3.392}}
@article{zeileis2008regression, author={Zeileis, Achim and Kleiber, Christian and Jackman, Simon}, title={{Regression models for count data in R}}, journal={Journal of Statistical Software}, year={2008}, volume={27}, number={8}, pages={1--25}, doi={10.18637/jss.v027.i08}}
R