Słownik metodologiczny · Projekt badania

Propensity score (wskaźnik skłonności) – definicja, metody i przykład

Propensity score to prawdopodobieństwo otrzymania interwencji przy obserwowanych cechach. Pokazujemy cztery sposoby jego użycia, ważenie IPTW w R, kontrolę równowagi i opis do pracy.

Strona główna / Słownik / Propensity score
W skrócie: Propensity score to oszacowane prawdopodobieństwo otrzymania interwencji przy cechach wyjściowych osoby. Dopasowanie, stratyfikacja lub ważenie według PS wyrównują grupy pod względem zmierzonych cech. Zawsze sprawdź równowagę w SMD i pamiętaj, że niezmierzone zakłócenia zostają.

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ć?

  1. Oszacuj PS w regresji logistycznej: interwencja (0/1) jako zmienna zależna, cechy sprzed interwencji jako predyktory. Wyniku do modelu nie wstawiaj.
  2. 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.
  3. Sprawdź równowagę grup standaryzowaną różnicą średnich przed i po korekcie (Austin, 2009) oraz wspólny zakres PS w obu grupach.
  4. 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

Propensity score oszacowano w regresji logistycznej ze stresem wyjściowym, neurotycznością i wiekiem jako predyktorami, a efekt treningu (ATE) oszacowano metodą ważenia odwrotnością prawdopodobieństwa (IPTW). Po ważeniu wszystkie standaryzowane różnice średnich były mniejsze niż 0.10. Trening wiązał się z niższym stresem po semestrze, b = −1.93, 95% CI [−2.75, −1.09] (bootstrap, 1000 prób).

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.

Przykład reprodukowalny

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

Dane wejściowe: 600 studentów (dane symulowane, set.seed(216)): udział w treningu, stres wyjściowy, neurotyczność, wiek i stres po semestrze.

Co odczytać: liczebności grup, SMD przed ważeniem i po nim, efekt surowy i po ważeniu oraz 95% CI z bootstrapu.

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 bootstrap
Wynik 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).

  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

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ów

Bibliografia i dalsza literatura naukowa (APA 7)

  1. 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
  2. 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
  3. 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}}
R