Słownik metodologiczny · Projekt badania

Estymacja podwójnie odporna – jak połączyć IPW i model wyniku?

Estymacja podwójnie odporna łączy propensity score z modelem wyniku i daje zgodny wynik, gdy poprawny jest choć jeden z nich. Pokazujemy estymator AIPW, przykład w R, opis do pracy i ograniczenia.

Strona główna / Słownik / Estymacja podwójnie odporna
W skrócie: Estymacja podwójnie odporna łączy model przydziału do interwencji (propensity score) z modelem wyniku. Estymator, np. AIPW, pozostaje zgodny, gdy poprawny jest choć jeden z tych modeli. Gdy oba są błędne, nie musi być lepszy od zwykłej regresji.

Co to jest estymacja podwójnie odporna?

Estymacja podwójnie odporna (ang. doubly robust estimation, DR) łączy dwa modele: model przydziału do interwencji, czyli propensity score, oraz model wyniku. Bang i Robins (2005) nazywają estymator podwójnie odpornym, jeśli pozostaje zgodny, gdy poprawny jest choćby jeden z tych modeli – daje więc „dwie szanse zamiast jednej”. Funk i in. (2011) przypominają, że regresja wyniku i metody oparte na propensity score osobno są nieobciążone tylko przy poprawnym modelu.

Estymator AIPW

Najczęstsza wersja to AIPW (augmented inverse probability weighting). Dla każdej osoby model wyniku przewiduje wynik z interwencją (m1) i bez niej (m0), a model przydziału daje prawdopodobieństwo interwencji e. Efekt to średnia z:

m1 − m0 + A(Y − m1)/e − (1 − A)(Y − m0)/(1 − e),

gdzie A = 1 oznacza interwencję. Pierwszy człon to predykcja z regresji, a pozostałe poprawiają jej błędy resztami ważonymi jak w wagach IPW. Model przydziału szacuje się zwykle regresją logistyczną, a zmienne do obu modeli dobiera się tak, by zamknąć ścieżki przez zmienne zakłócające.

Przykład

W symulacji w R (3000 osób, prawdziwy efekt 2) przydział i wynik zależały od x1 i x22; surowa różnica średnich wynosiła 3.45. Przy obu modelach poprawnych AIPW dało 1.96 (SE = 0.04). Przy złym modelu wyniku regresja dała 2.69, a AIPW nadal 1.96 (SE = 0.10); przy złym modelu przydziału IPW dało 2.69, a AIPW 1.96. Gdy oba modele były złe, AIPW dało 2.69.

Jak opisać w pracy

Efekt interwencji w całej próbie (ATE) oszacowano estymatorem podwójnie odpornym AIPW, łącząc model przydziału (regresja logistyczna) z modelem wyniku (regresja liniowa) z tymi samymi zmiennymi sprzed interwencji. Oszacowany efekt wyniósł 1.96 punktu (SE = 0.04).

Na co uważać

  • Dwie szanse, nie gwarancja. Kang i Schafer (2007) pokazali, że gdy oba modele są nieco błędne, a część prawdopodobieństw bardzo mała, metody DR nie przewyższały zwykłej regresji.
  • Skrajne propensity score. Sprawdź rozkład e i nakładanie się grup, zanim zaufasz wynikowi (zob. dopasowanie i ważenie).
  • Tylko zmierzone zakłócenia. Metoda nie chroni przed zmiennymi, których nie zmierzono.
Przykład reprodukowalny

Estymator AIPW w bazowym R

Pakiety AIPW i WeightIt nie są potrzebne: kod liczy regresję, IPW i AIPW ręcznie przy czterech kombinacjach poprawnego i błędnego modelu (błąd polega na pominięciu x22).

Regresja, IPW i AIPW przy poprawnych i błędnych modelach

Dane wejściowe: 3000 symulowanych osób, dwie cechy sprzed interwencji, prawdziwy efekt 2; set.seed(4491).

Co odczytać: oszacowania w kolumnach regresja, IPW i AIPW oraz błąd standardowy AIPW z funkcji wpływu.

R
set.seed(4491)
n <- 3000
x1 <- rnorm(n); x2 <- rnorm(n)
A <- rbinom(n, 1, plogis(-0.5 + 0.6 * x1 + 0.4 * x2^2))   # przydział zależy od x2^2
Y <- 2 * A + 1.5 * x1 + 1.0 * x2^2 + rnorm(n)                  # prawdziwe ATE = 2
d <- data.frame(Y, A, x1, x2)
aipw <- function(f_ps, f_y) {
  e  <- fitted(glm(f_ps, binomial, d))                        # model przydziału
  m  <- lm(f_y, d)                                            # model wyniku
  m1 <- predict(m, transform(d, A = 1)); m0 <- predict(m, transform(d, A = 0))
  ipw <- mean(A * Y / e) / mean(A / e) - mean((1 - A) * Y / (1 - e)) / mean((1 - A) / (1 - e))
  phi <- m1 - m0 + A * (Y - m1) / e - (1 - A) * (Y - m0) / (1 - e)
  round(c(regresja = unname(coef(m)["A"]), IPW = ipw, AIPW = mean(phi),
          SE_AIPW = sd(phi) / sqrt(n)), 2)
}
rbind(oba_dobre     = aipw(A ~ x1 + I(x2^2), Y ~ A + x1 + I(x2^2)),
      zly_wynik     = aipw(A ~ x1 + I(x2^2), Y ~ A + x1 + x2),
      zly_przydzial = aipw(A ~ x1 + x2,      Y ~ A + x1 + I(x2^2)),
      oba_zle       = aipw(A ~ x1 + x2,      Y ~ A + x1 + x2))
c(surowa_roznica = round(mean(Y[A == 1]) - mean(Y[A == 0]), 2))
Wynik w R
              regresja  IPW AIPW SE_AIPW
oba_dobre         1.96 1.94 1.96    0.04
zly_wynik         2.69 1.94 1.96    0.10
zly_przydzial     1.96 2.69 1.96    0.04
oba_zle           2.69 2.69 2.69    0.07
surowa_roznica 
          3.45 

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (bez dodatkowych pakietów). Błąd standardowy liczono z wariancji składników estymatora; Funk i in. (2011) porównują go też z bootstrapem.

  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

Czy estymacja podwójnie odporna wymaga dwóch poprawnych modeli?

Nie. Wystarczy, że poprawny jest jeden: model przydziału albo model wyniku. Gdy oba są błędne, estymator też może być obciążony.

Czym AIPW różni się od zwykłego ważenia IPW?

IPW korzysta tylko z propensity score. AIPW dodaje model wyniku i ważone reszty, więc pozostaje zgodny przy błędnym modelu przydziału, jeśli model wyniku jest poprawny.

Jak policzyć błąd standardowy w estymacji podwójnie odpornej?

Z wariancji składników estymatora (funkcji wpływu) albo bootstrapem, w którym w każdej próbie szacuje się od nowa oba modele.

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. Bang, H., & Robins, J. M. (2005). Doubly robust estimation in missing data and causal inference models. Biometrics, 61(4), 962–973. https://doi.org/10.1111/j.1541-0420.2005.00377.x
  2. Funk, M. J., Westreich, D., Wiesen, C., Stürmer, T., Brookhart, M. A., & Davidian, M. (2011). Doubly robust estimation of causal effects. American Journal of Epidemiology, 173(7), 761–767. https://doi.org/10.1093/aje/kwq439 ● Otwarty dostęp
  3. Kang, J. D. Y., & Schafer, J. L. (2007). Demystifying double robustness: A comparison of alternative strategies for estimating a population mean from incomplete data. Statistical Science, 22(4), 523–539. https://doi.org/10.1214/07-sts227 ● Otwarty dostęp

Cytowania BibTeX

@article{bang2005doubly, author={Bang, Heejung and Robins, James M.}, title={{Doubly robust estimation in missing data and causal inference models}}, journal={Biometrics}, year={2005}, volume={61}, number={4}, pages={962--973}, doi={10.1111/j.1541-0420.2005.00377.x}}
@article{funk2011doubly, author={Funk, Michele Jonsson and Westreich, Daniel and Wiesen, Chris and Stürmer, Til and Brookhart, M. Alan and Davidian, Marie}, title={{Doubly robust estimation of causal effects}}, journal={American Journal of Epidemiology}, year={2011}, volume={173}, number={7}, pages={761--767}, doi={10.1093/aje/kwq439}}
@article{kang2007demystifying, author={Kang, Joseph D. Y. and Schafer, Joseph L.}, title={{Demystifying double robustness: A comparison of alternative strategies for estimating a population mean from incomplete data}}, journal={Statistical Science}, year={2007}, volume={22}, number={4}, pages={523--539}, doi={10.1214/07-sts227}}
R