
Monotone-treatment-selection bounds for a sentencing contrast
Source:R/sentence_bounds.R
morie_sentence_effect_mts.RdMonotone treatment selection (Manski & Pepper 2000) says that the people
who received the harsher sentence are, under every sentence, at least as
likely to show the outcome as the people who received the lighter one:
the judge selected on risk in the direction of severity. Then the observed
mean of the harsher group is an upper bound on \(E[y(b)]\), the observed
mean of the lighter group a lower bound on \(E[y(a)]\)
(Research.P11.Pop.mts_mean_b_le, mts_mean_a_ge), and the
naive difference of observed means overstates the effect of the harsher
sentence (mts_ate_le_naive). MTS alone gives no sign. Adding monotone
treatment response (morie_sentence_effect_mtr) gives the
interval \([0, \text{naive difference}]\) (mtr_mts_bounds): the
assumption-free interval of width one, cut down to the observed gap by two
named monotonicity assumptions, each stated where it enters.
Arguments
- y
Binary outcome per person (0/1, e.g. reconviction within two years).
- z
Sentence per person, a vector with exactly two distinct values.
- weights
Optional non-negative weights.
- contrast
Which of the two sentence values is the treatment (default the second in sorted order); the other is the comparison.
Value
A list with levels, observed_means, pz,
mean_b_bounds, mean_a_bounds (under MTS alone),
ate_bounds_mts (MTS alone: lower end from the worst case, upper end
the naive difference), ate_bounds_mtr_mts (both assumptions),
naive_difference and theorems.
Examples
set.seed(1)
z <- sample(c("community", "custody"), 500, replace = TRUE)
y <- rbinom(500, 1, ifelse(z == "custody", 0.55, 0.35))
morie_sentence_effect_mts(y, z)[c("ate_bounds_mts", "ate_bounds_mtr_mts")]
#> $ate_bounds_mts
#> lower upper
#> -0.4000000 0.1985784
#>
#> $ate_bounds_mtr_mts
#> lower upper
#> 0.0000000 0.1985784
#>