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
- Tożsamościowa, g(μ) = μ: regresja liniowa; współczynnik to różnica średnich.
- Logit, ln[μ / (1 − μ)]: regresja logistyczna; exp(b) to iloraz szans. Alternatywą jest probit.
- Logarytm, ln μ: regresja Poissona, ujemna dwumianowa i często regresja gamma; exp(b) to iloraz średnich lub częstości.
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).
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
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 ryzykWynik 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.67Bibliografia 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
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
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)
- McCullagh, P., & Nelder, J. A. (1989). Generalized linear models (2nd ed.). Chapman and Hall. https://doi.org/10.1007/978-1-4899-3242-6
- 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}}