Słownik metodologiczny · Modele regresji

Funkcja łącząca (link function) – jak łączy wynik z predyktorami w GLM?

Funkcja łącząca wiąże średnią wyniku z predyktorem liniowym w uogólnionym modelu liniowym. Pokazujemy najczęstsze funkcje (tożsamościowa, logit, logarytm), to, jak zmieniają interpretację współczynnika, przykład w R i opis do pracy.

Strona główna / Słownik / Funkcja łącząca
W skrócie: Funkcja łącząca (link function) w uogólnionym modelu liniowym przekształca średnią wyniku tak, by była liniową funkcją predyktorów: g(μ) = b0 + b1x. Od niej zależy, co znaczy współczynnik: logit daje iloraz szans, logarytm – iloraz średnich lub ryzyk, a funkcja tożsamościowa – różnicę.

Co to jest funkcja łącząca?

Funkcja łącząca (ang. link function) to przekształcenie g, które w uogólnionym modelu liniowym (GLM) wiąże wartość oczekiwaną wyniku μ z predyktorem liniowym: g(μ) = b0 + b1x. Nelder i Wedderburn (1972) opisali GLM jako model z trzema elementami: rozkładem wyniku z rodziny wykładniczej, predyktorem liniowym i właśnie funkcją łączącą. Dzięki niej przewidywania mieszczą się w dopuszczalnym zakresie, np. prawdopodobieństwo między 0 a 1, a liczba zdarzeń powyżej zera.

Najczęstsze funkcje łączące

Każdy rozkład ma funkcję kanoniczną, np. logit dla dwumianowego i logarytm dla Poissona (McCullagh i Nelder, 1989), ale wolno wybrać inną. Funkcja łącząca to nie transformacja logarytmiczna. Model z łączem logarytmicznym opisuje logarytm średniej, ln E(Y). Regresja na ln Y opisuje średnią logarytmów.

Przykład

W symulowanych danych nawrót wystąpił u 63.3% osób z grupy kontrolnej i u 31.3% po treningu (po 150 osób). Ten sam model dwumianowy z trzema funkcjami łączącymi daje trzy miary efektu. Logit: OR = 0.264, 95% CI [0.164, 0.426]. Logarytm: ryzyko względne RR = 0.495, 95% CI [0.379, 0.646]. Funkcja tożsamościowa: różnica ryzyk −0.320, 95% CI [−0.427, −0.213]. AIC jest za każdym razem takie samo (387.67). Przy jednym predyktorze binarnym dopasowanie się nie zmienia, zmienia się tylko skala efektu.

Jak opisać w pracy

Na co uważać

  • Współczynnik czytaj na skali funkcji łączącej. W logicie b to zmiana logarytmu szans, a nie prawdopodobieństwa.
  • Łącze logarytmiczne i tożsamościowe w modelu dwumianowym nie pilnują zakresu 0–1. Przy predyktorach ciągłych model może się nie zbiegać.
  • Podaj funkcję łączącą w opisie metody. W modelach mieszanych efekty też liczy się na jej skali (zob. GLMM).
Przykład reprodukowalny

Funkcja łącząca w R

Kod dopasowuje do tych samych danych model dwumianowy z trzema funkcjami łączącymi (binomial(link = ...)) i przelicza współczynnik na iloraz szans, ryzyko względne i różnicę ryzyk.

Logit, logarytm i funkcja tożsamościowa w modelu dwumianowym

Dane wejściowe: nawrót (tak / nie) u 300 osób w grupie kontrolnej i po treningu (dane symulowane, set.seed(290)).

Co odczytać: odsetki nawrotów, a w tabeli kolumny b (skala funkcji łączącej), efekt z lower i upper (OR, RR, różnica ryzyk) oraz identyczne AIC.

R
set.seed(290)
grupa <- factor(rep(c("kontrola", "trening"), each = 150))   # dane symulowane
nawrot <- rbinom(300, 1, ifelse(grupa == "trening", 0.30, 0.50))
round(tapply(nawrot, grupa, mean), 3)                        # odsetki nawrotów
efekt <- function(l, przeksztalc) {                          # ta sama próba, inna funkcja łącząca
  m <- glm(nawrot ~ grupa, family = binomial(link = l))
  ci <- confint.default(m)["grupatrening", ]                 # 95% CI (Wald)
  c(b = unname(coef(m)["grupatrening"]),
    efekt = przeksztalc(unname(coef(m)["grupatrening"])),
    lower = przeksztalc(ci[[1]]), upper = przeksztalc(ci[[2]]), AIC = AIC(m))
}
round(rbind(logit_OR    = efekt("logit", exp),               # exp(b) = iloraz szans
            log_RR      = efekt("log", exp),                 # exp(b) = ryzyko względne
            identity_RD = efekt("identity", identity)), 3)   # b = różnica ryzyk
Wynik w R
kontrola  trening 
   0.633    0.313 
                 b  efekt  lower  upper    AIC
logit_OR    -1.331  0.264  0.164  0.426 387.67
log_RR      -0.704  0.495  0.379  0.646 387.67
identity_RD -0.320 -0.320 -0.427 -0.213 387.67

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ą funkcję łączącą wybrać w regresji dla wyniku 0/1?

Logit, jeśli chcesz ilorazów szans, albo logarytm, jeśli chcesz ryzyka względnego. Łącze logarytmiczne częściej ma problemy ze zbieżnością przy predyktorach ciągłych.

Czym różni się funkcja łącząca od logarytmowania zmiennej zależnej?

Łącze logarytmiczne modeluje logarytm średniej i działa na oryginalnych danych. Logarytmowanie wyniku modeluje średnią logarytmów, a po przeliczeniu daje średnią geometryczną.

Jak ustawić funkcję łączącą w R?

W argumencie rodziny modelu, np. glm(y ~ x, family = binomial(link = "log")) albo family = Gamma(link = "log"). Bez tego R użyje funkcji kanonicznej.

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. McCullagh, P., & Nelder, J. A. (1989). Generalized linear models (2nd ed.). Chapman and Hall. https://doi.org/10.1007/978-1-4899-3242-6
  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

@book{mccullagh1989generalized, author={McCullagh, P. and Nelder, J. A.}, title={{Generalized linear models}}, year={1989}, edition={2}, publisher={Chapman and Hall}, doi={10.1007/978-1-4899-3242-6}}
@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