<- 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} \]
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!