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
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 dajedrop1(). - 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ń).
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
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 koleiWynik 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 ‘ ’ 1Bibliografia 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()).
- 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
Regresja logistyczna krok po kroku
Ilorazy szans i prawdopodobieństwa przewidywane, założenia, separacja, pseudo-R², AUC i kalibracja, tabela APA – na danych do pobrania z kodem R.
Czytaj →PoradnikRegresja dla zliczeń krok po kroku
Poisson z offsetem, rozproszenie, ujemna dwumianowa, ZIP, ZINB i hurdle na jednym przykładzie: rootogram, IRR, przewidywane średnie, tabela APA i kod R.
Czytaj →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)
- 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
- 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}}