Słownik metodologiczny · Modele regresji

Pseudo-R² (Nagelkerke, McFadden) – jak liczyć i jak opisać?

W regresji logistycznej nie ma zwykłego R². Pokazujemy wzory McFaddena, Coxa i Snella, Nagelkerkego i Tjura, przykład w R i zdanie do pracy.

Strona główna / Słownik / Pseudo-R²
W skrócie: Pseudo-R² to grupa miar dopasowania modeli logistycznych opartych na logarytmie wiarygodności. Dla tego samego modelu dają różne wartości, więc zawsze podaj nazwę miary i nie interpretuj jej jako odsetka wyjaśnionej wariancji.

Co to jest pseudo-R²?

Pseudo-R² (ang. pseudo R-squared) to rodzina miar, które w modelach szacowanych metodą największej wiarygodności, przede wszystkim w regresji logistycznej, naśladują współczynnik determinacji z regresji liniowej. Żadna z nich nie jest odsetkiem wyjaśnionej wariancji. Każda inaczej mierzy, o ile model z predyktorami jest lepszy od modelu z samą stałą, dlatego dla tych samych danych dają różne liczby.

Najczęstsze odmiany

R²McF = 1 − LL1 / LL0   R²CS = 1 − exp[2(LL0 − LL1) / n]   R²N = R²CS / [1 − exp(2LL0 / n)]

LL0 i LL1 to logarytmy wiarygodności modelu pustego i modelu z predyktorami, a n – liczebność próby. R² McFaddena mówi, o jaką część zmniejszył się (co do wartości bezwzględnej) logarytm wiarygodności. R² Coxa i Snella przy wyniku dwuwartościowym nie może osiągnąć 1, dlatego Nagelkerke (1991) zaproponował modyfikację tej definicji dla modeli dyskretnych: dzieli się ją przez wartość maksymalną. Tjur (2009) proponuje prostszą miarę, współczynnik dyskryminacji: różnicę średnich przewidywanych prawdopodobieństw u osób ze zdarzeniem i bez niego.

Przykład

W symulowanych danych 300 osób sprawdzano, czy motywacja i stres przewidują ukończenie programu treningowego (ukończyło 52%). Logarytm wiarygodności wzrósł z −207.70 do −172.96, χ²(2) = 69.50, p < .001. Ten sam model ma R² McFaddena = .17, Coxa i Snella = .21, Nagelkerkego = .28, a Tjura = .21. Rozrzut od .17 do .28 nie oznacza, że któraś liczba jest błędna. To po prostu cztery różne miary.

Jak opisać w pracy

Model z motywacją i stresem przewidywał ukończenie programu lepiej niż model bez predyktorów, χ²(2) = 69.50, p < .001, R² McFaddena = .17 (R² Nagelkerkego = .28).

Na co uważać

  • Nie pisz, że „model wyjaśnia 28% wariancji”. To sformułowanie pasuje do regresji liniowej, a nie do pseudo-R².
  • Zawsze nazwij miarę. Sam zapis „pseudo-R² = .28” nie mówi, o którą miarę chodzi, a programy podają różne zestawy (SPSS: Coxa i Snella oraz Nagelkerkego).
  • Nie porównuj wartości między badaniami. Menard (2000) pokazał, że analogi R² w różnym stopniu zależą od częstości wyniku, a wnioski z nich nie muszą się zgadzać z miarami trafności przewidywań.
  • Pseudo-R² nie zastępuje oceny modelu. Rozróżnianie sprawdzisz krzywą ROC, a zgodność prawdopodobieństw z odsetkami – kalibracją i testem Hosmera–Lemeshowa.

Pełną ocenę modelu, od testu ilorazu wiarygodności po kalibrację, pokazuje wpis Regresja logistyczna krok po kroku.

Przykład reprodukowalny

Pseudo-R² w R

Kod dopasowuje model pusty i model z predyktorami, a potem liczy cztery pseudo-R² wprost ze wzorów.

McFadden, Cox i Snell, Nagelkerke i Tjur dla jednego modelu

Dane wejściowe: ukończenie programu treningowego (0/1), motywacja i stres u 300 osób (dane symulowane, set.seed(181)).

Co odczytać: odsetek zdarzeń, logarytmy wiarygodności obu modeli, χ² testu ilorazu wiarygodności i cztery pseudo-R².

R
# Pseudo-R² w regresji logistycznej (dane symulowane)
set.seed(181)
n <- 300
motywacja <- rnorm(n, 0, 1)                      # motywacja (wynik z)
stres     <- rnorm(n, 0, 1)                      # stres (wynik z)
p <- plogis(0.3 + 0.9 * motywacja - 0.6 * stres)
ukonczyl <- rbinom(n, 1, p)                      # 1 = ukończył program treningu
m0 <- glm(ukonczyl ~ 1, family = binomial)
m1 <- glm(ukonczyl ~ motywacja + stres, family = binomial)
ll0 <- as.numeric(logLik(m0)); ll1 <- as.numeric(logLik(m1))
mcfadden   <- 1 - ll1 / ll0
cox_snell  <- 1 - exp(2 * (ll0 - ll1) / n)
nagelkerke <- cox_snell / (1 - exp(2 * ll0 / n))
tjur <- mean(fitted(m1)[ukonczyl == 1]) - mean(fitted(m1)[ukonczyl == 0])
round(c(odsetek = mean(ukonczyl), LL0 = ll0, LL1 = ll1, chi2 = 2 * (ll1 - ll0)), 2)
round(c(McFadden = mcfadden, CoxSnell = cox_snell, Nagelkerke = nagelkerke, Tjur = tjur), 3)
format.pval(pchisq(2 * (ll1 - ll0), df = 2, lower.tail = FALSE), digits = 3)
Wynik w R
odsetek     LL0     LL1    chi2 
   0.52 -207.70 -172.96   69.50 
  McFadden   CoxSnell Nagelkerke       Tjur 
     0.167      0.207      0.276      0.208 
[1] "8.11e-16"

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

Jaka wartość R² McFaddena oznacza dobre dopasowanie?

Nie ma uniwersalnego progu. Wartość zależy od wybranej miary, częstości wyniku i dziedziny, dlatego model oceniaj raczej testem ilorazu wiarygodności, AUC i kalibracją.

Dlaczego R² Coxa i Snella nie może wynieść 1?

Jego maksimum to 1 − exp(2LL0/n), a przy wyniku dwuwartościowym ta wartość jest mniejsza od 1. Nagelkerke podzielił R² Coxa i Snella przez to maksimum, dzięki czemu skala sięga 1.

Czy pseudo-R² rośnie po dodaniu predyktora?

W modelach zagnieżdżonych R² McFaddena nie maleje, nawet gdy predyktor jest bezużyteczny. O tym, czy predyktor poprawia model, rozstrzyga test ilorazu wiarygodności, a nie sam przyrost pseudo-R².

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. Menard, S. (2000). Coefficients of determination for multiple logistic regression analysis. The American Statistician, 54(1), 17–24. https://doi.org/10.1080/00031305.2000.10474502
  2. Nagelkerke, N. J. D. (1991). A note on a general definition of the coefficient of determination. Biometrika, 78(3), 691–692. https://doi.org/10.1093/biomet/78.3.691
  3. Tjur, T. (2009). Coefficients of determination in logistic regression models—A new proposal: The coefficient of discrimination. The American Statistician, 63(4), 366–372. https://doi.org/10.1198/tast.2009.08210

Cytowania BibTeX

@article{menard2000coefficients, author={Menard, Scott}, title={{Coefficients of determination for multiple logistic regression analysis}}, journal={The American Statistician}, year={2000}, volume={54}, number={1}, pages={17--24}, doi={10.1080/00031305.2000.10474502}}
@article{nagelkerke1991note, author={Nagelkerke, N. J. D.}, title={{A note on a general definition of the coefficient of determination}}, journal={Biometrika}, year={1991}, volume={78}, number={3}, pages={691--692}, doi={10.1093/biomet/78.3.691}}
@article{tjur2009coefficients, author={Tjur, Tue}, title={{Coefficients of determination in logistic regression models—A new proposal: The coefficient of discrimination}}, journal={The American Statistician}, year={2009}, volume={63}, number={4}, pages={366--372}, doi={10.1198/tast.2009.08210}}
R