Co to jest propensity score?
Propensity score (PS, po polsku wskaźnik skłonności) to prawdopodobieństwo, że osoba otrzyma interwencję, przy jej obserwowanych cechach wyjściowych. Rosenbaum i Rubin (1983) pokazali, że korekta o ten jeden wynik wystarcza, by usunąć obciążenie wynikające ze wszystkich obserwowanych zmiennych towarzyszących. Stosuje się go w badaniach obserwacyjnych, gdy osoby same wybierają terapię, szkolenie czy program.
Jak go użyć?
- Oszacuj PS w regresji logistycznej: interwencja (0/1) jako zmienna zależna, cechy sprzed interwencji jako predyktory. Wyniku do modelu nie wstawiaj.
- Wybierz metodę. Austin (2011) opisuje cztery: dopasowanie, stratyfikację, ważenie odwrotnością prawdopodobieństwa (IPTW, waga 1/PS albo 1/(1 − PS)) i korektę o PS w modelu.
- Sprawdź równowagę grup standaryzowaną różnicą średnich przed i po korekcie (Austin, 2009) oraz wspólny zakres PS w obu grupach.
- Dopiero wtedy oszacuj efekt.
Przykład
Na trening uważności zapisało się 212 z 600 studentów, częściej osoby bardziej zestresowane i neurotyczne (dane symulowane, prawdziwy efekt: −2 pkt). Przed ważeniem SMD dla stresu wyjściowego wynosiła 0.80, a dla neurotyczności 0.26. Po ważeniu IPTW spadły do 0.09 i 0.04. Surowa różnica w stresie po semestrze wynosiła +1.39 pkt na niekorzyść treningu. Po ważeniu efekt wyniósł −1.93 pkt, 95% CI [−2.75, −1.09] (bootstrap, 1000 prób). Wspólny zakres PS: od 0.10 do 0.79.
Jak opisać w pracy
Na co uważać
- PS równoważy tylko zmierzone cechy. Niezmierzone zmienne zakłócające zostają.
- Brak wspólnego zakresu oznacza osoby bez odpowiednika w drugiej grupie; bardzo duże wagi dają niestabilny wynik.
- Nie oceniaj równowagi wartością p. Testy zależą od liczebności, SMD nie.
- Błąd standardowy ze zwykłej ważonej regresji jest niepoprawny; użyj bootstrapu albo odpornego SE.
Dopasowanie i ważenie krok po kroku pokazuje wpis Propensity score: dopasowanie i ważenie, a dobór osób porównywalnych bez PS – hasło grupa porównawcza.
Propensity score w R
Kod tworzy dane z samodzielnym wyborem treningu, szacuje propensity score, liczy wagi IPTW, sprawdza równowagę grup i szacuje efekt z przedziałem bootstrap.
Wagi IPTW, równowaga grup i efekt treningu
R
set.seed(216); n <- 600 # studenci; udział w treningu uważności z wyboru
stres0 <- rnorm(n, 25, 6); neuro <- rnorm(n, 3, 0.7); wiek <- round(runif(n, 19, 26))
trening <- rbinom(n, 1, plogis(-7.5 + 0.15 * stres0 + 0.6 * neuro + 0.05 * wiek))
stres1 <- 5 + 0.7 * stres0 + 1.5 * neuro - 2 * trening + rnorm(n, 0, 4) # prawdziwy efekt: −2 pkt
d <- data.frame(trening, stres0, neuro, wiek, stres1)
ps_w <- function(dd) { ps <- fitted(glm(trening ~ stres0 + neuro + wiek, binomial, dd))
ifelse(dd$trening == 1, 1 / ps, 1 / (1 - ps)) } # wagi IPTW (efekt ATE)
d$w <- ps_w(d); t1 <- d$trening == 1
smd <- function(x, w) (weighted.mean(x[t1], w[t1]) - weighted.mean(x[!t1], w[!t1])) /
sqrt((var(x[t1]) + var(x[!t1])) / 2)
table(d$trening)
round(sapply(d[2:4], function(x) c(przed = smd(x, rep(1, n)), po = smd(x, d$w))), 2)
efekt <- function(dd) coef(lm(stres1 ~ trening, dd, weights = w))[["trening"]]
round(c(surowy = efekt(transform(d, w = 1)), iptw = efekt(d)), 2)
boot <- replicate(1000, { dd <- d[sample(n, replace = TRUE), ]; dd$w <- ps_w(dd); efekt(dd) })
round(quantile(boot, c(.025, .975)), 2) # 95% CI bootstrapWynik w R
0 1
388 212
stres0 neuro wiek
przed 0.80 0.26 0.10
po 0.09 0.04 0.01
surowy iptw
1.39 -1.93
2.5% 97.5%Bibliografia oprogramowania
Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje pakietów base i stats).
- 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
Jakie zmienne włączyć do modelu propensity score?
Cechy zmierzone przed interwencją, które wiążą się z wynikiem i z wyborem interwencji. Nie włączaj zmiennych, na które interwencja mogła już wpłynąć, ani samego wyniku.
Czym różni się dopasowanie od ważenia IPTW?
Dopasowanie łączy osoby o podobnym PS i zwykle pomija część próby. IPTW zachowuje wszystkich, ale nadaje wagi; przy skrajnych PS wagi bywają bardzo duże.
Czy propensity score jest lepszy od zwykłej regresji z kowariantami?
Nie usuwa więcej zakłóceń, bo opiera się na tych samych zmierzonych cechach. Jego zaletą jest oddzielenie projektu od wyniku i jawna kontrola równowagi grup.
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)
- Austin, P. C. (2009). Balance diagnostics for comparing the distribution of baseline covariates between treatment groups in propensity-score matched samples. Statistics in Medicine, 28(25), 3083–3107. https://doi.org/10.1002/sim.3697 ● Otwarty dostęp
- Austin, P. C. (2011). An introduction to propensity score methods for reducing the effects of confounding in observational studies. Multivariate Behavioral Research, 46(3), 399–424. https://doi.org/10.1080/00273171.2011.568786 ● Otwarty dostęp
- Rosenbaum, P. R., & Rubin, D. B. (1983). The central role of the propensity score in observational studies for causal effects. Biometrika, 70(1), 41–55. https://doi.org/10.1093/biomet/70.1.41 ● Otwarty dostęp
Cytowania BibTeX
@article{austin2009balance, author={Austin, Peter C.}, title={{Balance diagnostics for comparing the distribution of baseline covariates between treatment groups in propensity-score matched samples}}, journal={Statistics in Medicine}, year={2009}, volume={28}, number={25}, pages={3083--3107}, doi={10.1002/sim.3697}}@article{austin2011introduction, author={Austin, Peter C.}, title={{An introduction to propensity score methods for reducing the effects of confounding in observational studies}}, journal={Multivariate Behavioral Research}, year={2011}, volume={46}, number={3}, pages={399--424}, doi={10.1080/00273171.2011.568786}}@article{rosenbaum1983central, author={Rosenbaum, Paul R. and Rubin, Donald B.}, title={{The central role of the propensity score in observational studies for causal effects}}, journal={Biometrika}, year={1983}, volume={70}, number={1}, pages={41--55}, doi={10.1093/biomet/70.1.41}}