Bonus: Colliders, selection bias, and loss to follow-up

Malcolm Barrett

Stanford University

Confounders and chains

Colliders

Colliders

Let’s prove it!

set.seed(1234)
collider_data <- collider_triangle() |> 
  simulate_data(-.6)

Let’s prove it!

collider_data
# A tibble: 500 × 3
        m       x       y
    <dbl>   <dbl>   <dbl>
 1 -0.829  0.359   1.75  
 2  0.184  0.619  -1.11  
 3  1.47  -0.940   0.0642
 4 -2.43   1.55    1.39  
 5  0.219 -1.69    0.832 
 6  1.01   0.199  -0.145 
 7 -0.811  1.29   -0.872 
 8 -0.464  0.0675  0.763 
 9 -0.357  0.264   0.766 
10 -0.978  0.531   0.506 
# ℹ 490 more rows

Let’s prove it!

Loss to follow-up

Adjusting for selection bias

  1. Fit a probability of censoring model, e.g. glm(censoring ~ predictors, family = binomial())
  2. Create weights using inverse probability strategy
  3. Use weights in your causal model

We won’t do it here, but you can include many types of weights in a given model. Just take their product, e.g. multiply inverse propensity of treatment weights by inverse propensity of censoring weights.

Your Turn

Work through Your Turns 1-3 in 13-bonus-selection-bias.qmd

10:00