Słownik metodologiczny · Modele regresji

Dewiancja (deviance) – co oznacza w regresji logistycznej i jak ją czytać?

Dewiancja mierzy niedopasowanie modelu regresji logistycznej lub Poissona. Wyjaśniamy null i residual deviance, związek z −2LL i testem ilorazu wiarygodności oraz pokazujemy przykład w R.

W skrócie: Dewiancja mierzy, o ile model jest gorszy od modelu nasyconego; przy wyniku 0/1 równa się −2 ln L. Sama wartość niewiele mówi, ważny jest jej spadek po dodaniu predyktorów, który daje test ilorazu wiarygodności.

Co to jest dewiancja?

Dewiancja (ang. deviance) to miara niedopasowania modelu szacowanego metodą największej wiarygodności, np. regresji logistycznej lub Poissona. Pokazuje, o ile model jest gorszy od modelu nasyconego, który ma tyle parametrów, ile obserwacji, i odtwarza dane idealnie: D = −2(ln Lmodel − ln Lnasycony). Przy wyniku zero-jedynkowym ln L modelu nasyconego wynosi 0, więc dewiancja równa się −2 ln L (w SPSS „−2LL”). Im mniejsza dewiancja, tym lepsze dopasowanie.

Jak ją czytać?

Nelder i Wedderburn (1972) uogólnili na takie modele analizę wariancji opartą na logarytmach wiarygodności. Dziś nazywa się ją analizą dewiancji. Wydruk R podaje dwie liczby:

  • Null deviance – dewiancja modelu z samym wyrazem wolnym;
  • Residual deviance – dewiancja modelu z predyktorami.

Spadek dewiancji po dodaniu predyktorów to statystyka testu ilorazu wiarygodności (Bewick i in., 2005). Sama wartość dewiancji rośnie z liczebnością próby, więc znaczenie mają tylko różnice między modelami dopasowanymi do tych samych danych. Te same wielkości wykorzystuje pseudo-R²: McFadden zamienia je w miarę względną. Z dewiancji powstają też AIC i BIC – po dodaniu kary za liczbę parametrów.

Przykład

W symulowanych danych 200 studentów dewiancja modelu pustego wyniosła 275.26 (df = 199). Godziny nauki obniżyły ją do 240.41, czyli o 34.85, p < .001. Lęk egzaminacyjny obniżył ją dalej do 235.60, czyli o 4.80, p = .028. Wartość −2 ln L końcowego modelu to także 235.60.

Jak opisać w pracy

Wprowadzenie liczby godzin nauki i lęku egzaminacyjnego zmniejszyło dewiancję modelu z 275.26 (model z samym wyrazem wolnym) do 235.60, χ²(2) = 39.65, p < .001.

Na co uważać

  • Kolejność predyktorów. Tabela z anova(model) jest sekwencyjna: każdy predyktor ocenia się po poprzednich. Test każdego przy kontroli pozostałych daje drop1().
  • Dane 0/1. Przy pojedynczych obserwacjach zero-jedynkowych dewiancji resztowej nie traktuj jako testu dobroci dopasowania. Zgodność przewidywań z danymi sprawdza kalibracja.
  • Zliczenia. W modelu Poissona dewiancja wyraźnie większa od liczby stopni swobody reszt sugeruje nadmierną dyspersję (zob. regresja dla zliczeń).
Przykład reprodukowalny

Dewiancja w R

Kod odczytuje dewiancję modelu pustego i modelu z predyktorami, porównuje ją z −2 ln L i wypisuje sekwencyjną analizę dewiancji.

Dewiancja modelu i analiza dewiancji

Dane wejściowe: wynik egzaminu (zdał / nie zdał), liczba godzin nauki, lęk egzaminacyjny i czas snu u 200 studentów (dane symulowane, set.seed(2691)).

Co odczytać: null_dev i res_dev z liczbą stopni swobody, −2 ln L oraz spadek dewiancji po każdym predyktorze z p.

R
set.seed(2691)
n <- 200
godziny <- round(runif(n, 0, 20), 1)                # godziny nauki (dane symulowane)
lek     <- round(rnorm(n, 50, 10))                  # lęk egzaminacyjny
sen     <- round(rnorm(n, 7, 1), 1)                 # sen: w danych bez związku z wynikiem
zdal    <- rbinom(n, 1, plogis(-1.2 + 0.15 * godziny - 0.04 * (lek - 50)))
m2 <- glm(zdal ~ godziny + lek, family = binomial)
round(c(null_dev = m2$null.deviance, df_null = m2$df.null,
        res_dev = deviance(m2), df_res = df.residual(m2),
        minus2LL = -2 * as.numeric(logLik(m2))), 2)  # przy wyniku 0/1 dewiancja = −2LL
anova(m2, test = "LRT")                             # analiza dewiancji: predyktory po kolei
Wynik w R
null_dev  df_null  res_dev   df_res minus2LL 
  275.26   199.00   235.60   197.00   235.60 
Analysis of Deviance Table

Model: binomial, link: logit

Response: zdal

Terms added sequentially (first to last)


        Df Deviance Resid. Df Resid. Dev  Pr(>Chi)    
NULL                      199     275.26              
godziny  1   34.850       198     240.41 3.562e-09 ***
lek      1    4.803       197     235.60   0.02841 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje pakietów base i stats). 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/

Najczęstsze pytania

Co oznaczają null deviance i residual deviance?

Null deviance to dewiancja modelu z samym wyrazem wolnym, a residual deviance – modelu z predyktorami. Ich różnica, z df równym liczbie predyktorów, to ogólny test ilorazu wiarygodności modelu.

Czy dewiancja to to samo co −2LL?

Przy wyniku zero-jedynkowym tak, bo log-wiarygodność modelu nasyconego wynosi 0. Przy danych zgrupowanych albo zliczeniach dewiancja i −2 ln L się różnią, ale różnice między modelami pozostają takie same.

Czy duża dewiancja oznacza zły model?

Nie wprost. Dewiancja rośnie z liczebnością próby, więc jej sama wartość nie ocenia modelu. Porównuj dewiancje modeli dopasowanych do tych samych danych i sprawdzaj kalibrację.

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. Bewick, V., Cheek, L., & Ball, J. (2005). Statistics review 14: Logistic regression. Critical Care, 9(1), 112–118. https://doi.org/10.1186/cc3045 ● Otwarty dostęp
  2. Nelder, J. A., & Wedderburn, R. W. M. (1972). Generalized linear models. Journal of the Royal Statistical Society: Series A (General), 135(3), 370–384. https://doi.org/10.2307/2344614

Cytowania BibTeX

@article{bewick2005statistics, author={Bewick, Viv and Cheek, Liz and Ball, Jonathan}, title={{Statistics review 14: Logistic regression}}, journal={Critical Care}, year={2005}, volume={9}, number={1}, pages={112--118}, doi={10.1186/cc3045}}
@article{nelder1972generalized, author={Nelder, J. A. and Wedderburn, R. W. M.}, title={{Generalized linear models}}, journal={Journal of the Royal Statistical Society: Series A (General)}, year={1972}, volume={135}, number={3}, pages={370--384}, doi={10.2307/2344614}}
R