Co to jest rozkład Weibulla?
Rozkład Weibulla (ang. Weibull distribution) to rozkład zmiennej dodatniej, najczęściej czasu do zdarzenia. Ma funkcję przeżycia S(t) = exp[−(t/λ)^k], gdzie λ to parametr skali, a k – parametr kształtu. Weibull (1951) przedstawił go jako rozkład o szerokim zastosowaniu; dziś jest podstawowym modelem parametrycznym w analizie przeżycia. Hazard wynosi h(t) = (k/λ)(t/λ)^(k−1): przy k > 1 rośnie z czasem, przy k = 1 jest stały (rozkład wykładniczy), przy k < 1 maleje.
Model AFT i PH
Model regresji można zapisać na dwa sposoby. W modelu przyspieszonego czasu (AFT) predyktor rozciąga lub skraca czas: exp(b) to iloraz czasów, np. mediana dłuższa 1.5 raza. W modelu proporcjonalnych hazardów (PH) predyktor mnoży hazard, jak w modelu Coxa. Carroll (2003) podkreśla, że Weibull jest jedynym rozkładem, który jest jednocześnie AFT i PH, więc z jednego modelu można podać i iloraz hazardów, i wydłużenie czasu przeżycia, co bywa klinicznie bardziej zrozumiałe.
Dopasowanie warto sprawdzić wykresem log skumulowanego hazardu (np. z estymatora Nelsona–Aalena) względem log t: dla Weibulla punkty układają się w przybliżeniu na prostej o nachyleniu k.
Przykład
W symulacji 300 osób z cenzurowaniem model Weibulla dał k = 1.44 (hazard rosnący), iloraz czasów TR = 1.50 i HR = 0.56; model Coxa na tych samych danych – HR = 0.57.
Jak opisać w pracy
Na co uważać
- Znak współczynnika. W
survregdodatnie b oznacza dłuższy czas, czyli HR < 1. - Hazard niemonotoniczny. Weibull nie opisze hazardu, który najpierw rośnie, a potem maleje – wtedy rozważ rozkład log-normalny lub log-logistyczny.
- Ekstrapolacja. Przewidywania poza okresem obserwacji zależą głównie od założonego rozkładu.
Model Weibulla w R
Kod symuluje czasy z rozkładu Weibulla w dwóch grupach z cenzurowaniem, dopasowuje model survreg i przelicza współczynnik na iloraz czasów i iloraz hazardów, porównując ten drugi z modelem Coxa.
Iloraz czasów i iloraz hazardów z jednego modelu
R
library(survival)
set.seed(4441)
n <- 300
grupa <- rep(0:1, each = n / 2)
czas <- rweibull(n, shape = 1.5, scale = 10 * exp(0.4 * grupa)) # grupa 1 żyje dłużej
cenz <- runif(n, 0, 25)
t <- pmin(czas, cenz); zdarzenie <- as.numeric(czas <= cenz)
m <- survreg(Surv(t, zdarzenie) ~ grupa, dist = "weibull")
k <- 1 / m$scale # parametr kształtu
round(c(ksztalt = k,
TR = exp(coef(m)["grupa"]), # iloraz czasów (AFT)
HR = exp(-coef(m)["grupa"] * k)), 3) # iloraz hazardów (PH)
round(exp(coef(coxph(Surv(t, zdarzenie) ~ grupa))), 3) # HR z modelu CoxaWynik w R
ksztalt TR.grupa HR.grupa
1.436 1.501 0.558
grupa
0.567 Bibliografia oprogramowania
Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (pakiet survival: survreg(), coxph(), Surv()). W pracy podaj wersje faktycznie użytych pakietów (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/
- survival (wersja 3.8.6): Therneau, T. M. (2026). A package for survival analysis in R [R package]. https://CRAN.R-project.org/package=survival
Najczęstsze pytania
Co oznacza parametr kształtu w rozkładzie Weibulla?
Mówi, jak hazard zmienia się w czasie. k > 1 – ryzyko rośnie (np. zużycie), k = 1 – jest stałe (rozkład wykładniczy), k < 1 – maleje (np. powikłania tuż po zabiegu). W survreg k = 1 / scale.
Czym model Weibulla różni się od modelu Coxa?
Model Coxa nie zakłada kształtu hazardu bazowego, model Weibulla tak. W zamian Weibull daje gładkie krzywe przeżycia, mediany i iloraz czasów, a przy dobrym dopasowaniu bywa precyzyjniejszy.
Jak zamienić współczynnik z survreg na iloraz hazardów?
W parametryzacji AFT iloraz czasów to exp(b), a iloraz hazardów to exp(−b/σ), gdzie σ to m$scale. W przykładzie b = 0.406, σ = 0.696, więc TR = 1.50, a HR = 0.56.
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ówBibliografia i dalsza literatura naukowa (APA 7)
- Carroll, K. J. (2003). On the use and utility of the Weibull model in the analysis of survival data. Controlled Clinical Trials, 24(6), 682–701. https://doi.org/10.1016/s0197-2456(03)00072-2
- Weibull, W. (1951). A statistical distribution function of wide applicability. Journal of Applied Mechanics, 18(3), 293–297. https://doi.org/10.1115/1.4010337 ● Otwarty dostęp: pełny tekst
Cytowania BibTeX
@article{carroll2003use, author={Carroll, Kevin J.}, title={{On the use and utility of the Weibull model in the analysis of survival data}}, journal={Controlled Clinical Trials}, year={2003}, volume={24}, number={6}, pages={682--701}, doi={10.1016/s0197-2456(03)00072-2}}@article{weibull1951statistical, author={Weibull, Waloddi}, title={{A statistical distribution function of wide applicability}}, journal={Journal of Applied Mechanics}, year={1951}, volume={18}, number={3}, pages={293--297}, doi={10.1115/1.4010337}}