<- 0.5
delta <- function(data, trt) {
d_ipsi_down <- runif(nrow(data), 0, 1)
eps ifelse(eps < delta, data[[trt]], 0)
}
Incremental Propensity Score Interventions
\[ \renewcommand{\P}{\mathsf{P}} \newcommand{\m}{\mathsf{m}} \newcommand{\p}{\mathsf{p}} \newcommand{\q}{\mathsf{q}} \newcommand{\bb}{\mathsf{b}} \newcommand{\g}{\mathsf{g}} \newcommand{\rr}{\mathsf{r}} \newcommand{\IF}{\mathbb{IF}} \newcommand{\dd}{\mathsf{d}} \newcommand{\Pn}{$\mathsf{P}_n$} \newcommand{\E}{\mathsf{E}} \]
Recall that an incremental propensity score intervention (IPSI) is a hypothetical intervention where the conditional probability of treatment is shifted. We defined an IPSI, based on the risk ratio, that increased the likelihood of treatment as
\[ \dd_t(a_t, h_t, \epsilon_t) = \begin{cases} a_t &\text{ if } \epsilon_t < \delta \\ 1 &\text{ otherwise.} \end{cases} \]Assume we want to increase the likelihood of initiating treatment by 2-fold. We can implement this in R with
Problem 1
What if we wanted to decrease the likelihood of initiating treatment by 2-fold? Implement this shift function in R. As a reminder
\[ \dd_t(a_t, h_t, \epsilon_t) = \begin{cases} a_t &\text{ if } \epsilon_t < \delta \\ 0 &\text{ otherwise.} \end{cases} \]
✅ Solution
lmtp already implements d_ipsi_up
and d_ipsi_down
as a single shift function factory, ipsi()
!
Risk ratio IPSIs that increase the likelihood of treatment should be specified with a value greater than 1 (i.e. a risk ratio IPSI that increases the likelihood of treatment 2-fold is equivalent to
ipsi(2)
).IPSIs that decrease the likelihood of treatment should be specified with a value less than 1 (i.e. a risk ratio IPSI that decreases the likelihood of treatment 2-fold is equivalent to
ipsi(0.5)
)
Let’s apply the shift function that increases the likelihood of initiating treatment by 2-fold to covid
dataset.
Estimating the effect of incremental propensity scores based on the risk ratio are easy to do with lmtp. Just use the ipsi()
function as the input for the shift
argument!