Słownik metodologiczny · Modele regresji

AIC i BIC w regresji – jak porównać modele z różnymi predyktorami?

AIC i BIC pomagają wybrać model regresji, który najlepiej łączy dopasowanie z małą liczbą parametrów. Pokazujemy wzory, porównanie trzech modeli logistycznych w R i gotowy opis do pracy.

Strona główna / Słownik / AIC i BIC w regresji
W skrócie: AIC i BIC porównują modele regresji dopasowane do tych samych danych: mniejsza wartość oznacza lepszy kompromis między dopasowaniem a liczbą parametrów. BIC karze mocniej (ln n zamiast 2 za parametr), więc częściej wybiera prostszy model.

Co to są AIC i BIC w regresji?

AIC (ang. Akaike information criterion) i BIC (ang. Bayesian information criterion) to kryteria informacyjne, które pomagają wybrać jeden z kilku modeli regresji dopasowanych do tych samych danych. AIC = −2 ln L + 2k (Akaike, 1974), a BIC = −2 ln L + k·ln n (Schwarz, 1978). Tutaj ln L to log-wiarygodność, k – liczba parametrów razem z wyrazem wolnym, a n – liczebność próby. Lepszy jest model o mniejszej wartości.

Wzory, wagi Akaikego i porównania modeli CFA opisuje hasło AIC i BIC w SEM. To hasło dotyczy wyboru predyktorów w regresji logistycznej, liniowej czy Poissona.

Jak ich używać?

  • Porównuj tylko różnice (ΔAIC, ΔBIC). Sama wartość zależy od danych i nic nie mówi.
  • Kryteria działają też dla modeli niezagnieżdżonych, np. „godziny nauki” wobec „liczby powtórek”. Tam nie da się użyć testu ilorazu wiarygodności.
  • Pierwszy człon obu wzorów to dewiancja (przy wyniku 0/1). AIC dolicza 2 za parametr, a BIC – ln n. Przy n = 200 kara BIC wynosi więc 5.30 za parametr.
  • Burnham i Anderson (2004) podkreślają, że wybór kryterium zależy od celu analizy i założeń o modelach, a nie od sporu o podejście bayesowskie.

Przykład

W symulowanych danych 200 studentów porównano trzy modele zdania egzaminu. Model z samymi godzinami nauki miał AIC = 244.41 i BIC = 251.00. Model z godzinami i lękiem egzaminacyjnym miał AIC = 241.60 i BIC = 251.50, a model z dodatkowo czasem snu – AIC = 243.60 i BIC = 256.79. AIC wskazuje model z lękiem, a BIC – prostszy model, choć różnica wynosi tylko 0.50. Dodanie snu pogarsza oba kryteria.

Jak opisać w pracy

Porównano trzy modele regresji logistycznej. Najmniejsze AIC miał model z liczbą godzin nauki i lękiem egzaminacyjnym (AIC = 241.60; ΔAIC = 2.80 dla modelu z samymi godzinami nauki), natomiast BIC nieznacznie wskazał model prostszy (251.00 wobec 251.50).

Na co uważać

  • Te same obserwacje i ta sama zmienna zależna. Braki danych w jednym predyktorze zmieniają próbę i psują porównanie.
  • Bez mechanicznej selekcji. Automatyczna metoda krokowa według AIC sprzyja przeuczeniu. Kandydatów wybieraj z teorii.
  • Kryterium to nie dopasowanie. Najlepszy z kilku modeli może być słaby. Podaj też miary dopasowania, np. pseudo-R².
Przykład reprodukowalny

AIC i BIC w R

Kod dopasowuje trzy modele regresji logistycznej i zestawia ich AIC, BIC oraz różnice względem najlepszego modelu.

Porównanie trzech modeli

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ć: liczbę parametrów k, AIC, BIC oraz ΔAIC i ΔBIC (0 = najlepszy model według danego kryterium).

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)))
m1 <- glm(zdal ~ godziny, family = binomial)
m2 <- glm(zdal ~ godziny + lek, family = binomial)
m3 <- glm(zdal ~ godziny + lek + sen, family = binomial)
tab <- data.frame(k = c(2, 3, 4), AIC = AIC(m1, m2, m3)$AIC, BIC = BIC(m1, m2, m3)$BIC,
                  row.names = c("m1", "m2", "m3"))
tab$dAIC <- tab$AIC - min(tab$AIC); tab$dBIC <- tab$BIC - min(tab$BIC)
round(tab, 2)
Wynik w R
   k    AIC    BIC dAIC dBIC
m1 2 244.41 251.00  2.8 0.00
m2 3 241.60 251.50  0.0 0.50
m3 4 243.60 256.79  2.0 5.79

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

Jak duża różnica AIC między modelami regresji jest ważna?

Nie ma jednego progu. Różnica poniżej 2 oznacza zwykle modele porównywalne. Podawaj ΔAIC razem z oszacowaniami i decyduj także na podstawie teorii, a nie tylko kryterium.

Co zrobić, gdy AIC i BIC wskazują różne modele regresji?

Podaj oba wyniki i wyjaśnij różnicę: BIC mocniej karze za parametry. Burnham i Anderson (2004) wiążą wybór kryterium z celem analizy, np. przewidywaniem albo wskazaniem prostego modelu.

Czy AIC można porównywać między modelami na różnych próbach?

Nie. Modele muszą mieć te same obserwacje i tę samą zmienną zależną. Braki danych w jednym predyktorze zmieniają próbę, więc porównuj modele na wspólnym zbiorze przypadków.

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. Akaike, H. (1974). A new look at the statistical model identification. IEEE Transactions on Automatic Control, 19(6), 716–723. https://doi.org/10.1109/tac.1974.1100705 ● Otwarty dostęp: pełny tekst
  2. Burnham, K. P., & Anderson, D. R. (2004). Multimodel inference: Understanding AIC and BIC in model selection. Sociological Methods & Research, 33(2), 261–304. https://doi.org/10.1177/0049124104268644
  3. Schwarz, G. (1978). Estimating the dimension of a model. The Annals of Statistics, 6(2), 461–464. https://doi.org/10.1214/aos/1176344136 ● Otwarty dostęp

Cytowania BibTeX

@article{akaike1974new, author={Akaike, Hirotugu}, title={{A new look at the statistical model identification}}, journal={IEEE Transactions on Automatic Control}, year={1974}, volume={19}, number={6}, pages={716--723}, doi={10.1109/tac.1974.1100705}}
@article{burnham2004multimodel, author={Burnham, Kenneth P. and Anderson, David R.}, title={{Multimodel inference: Understanding AIC and BIC in model selection}}, journal={Sociological Methods \& Research}, year={2004}, volume={33}, number={2}, pages={261--304}, doi={10.1177/0049124104268644}}
@article{schwarz1978estimating, author={Schwarz, Gideon}, title={{Estimating the dimension of a model}}, journal={The Annals of Statistics}, year={1978}, volume={6}, number={2}, pages={461--464}, doi={10.1214/aos/1176344136}}
R