Skip to contents

With judges randomly assigned, each judge's detention rate \(P_j\) and mean outcome \(Y_j\) estimate population quantities under that judge. When judge \(k\) detains everyone judge \(j\) detains (the many-judge form of monotonicity), \(Y_k - Y_j\) is the treatment effect summed over the marginal compliers (Research.P14Slope.outcome_diff), so the pair's Wald ratio is their average effect, and with outcomes in \([lo, hi]\) the mean outcome cannot move faster than the detention rate times the range: \(|Y_k - Y_j| \le (hi - lo)(P_k - P_j)\) (slope_bound). A pair that violates the bound is not nested (violation_refutes_monotonicity); that is the test of Frandsen, Lefgren and Leslie (2023).

Usage

morie_judge_slope_test(judge, d, y, weights = NULL, lo = min(y), hi = max(y))

Arguments

judge

Judge identifier per case.

d

Detention or treatment indicator (0/1) per case.

y

Outcome per case.

weights

Optional non-negative case weights.

lo, hi

Bounds of the outcome; default its observed range.

Value

A list with judges (a data frame ordered by propensity: judge, n, propensity, outcome), pairs (j, k, dP, dY, bound, violation, late), violations, monotone_consistent and theorems.

Examples

judge <- rep(c("A", "B", "C"), each = 6)
d <- c(0, 0, 0, 1, 1, 0,  0, 1, 1, 1, 0, 1,  1, 1, 1, 1, 1, 0)
y <- c(1, 0, 0, 1, 0, 0,  0, 1, 1, 0, 0, 1,  1, 1, 1, 1, 0, 1)
s <- morie_judge_slope_test(judge, d, y)
s$judges
#>   judge n propensity   outcome
#> 1     A 6  0.3333333 0.3333333
#> 2     B 6  0.6666667 0.5000000
#> 3     C 6  0.8333333 0.8333333
s$pairs
#>   j k        dP        dY     bound violation late
#> 1 A B 0.3333333 0.1666667 0.3333333     FALSE  0.5
#> 2 A C 0.5000000 0.5000000 0.5000000     FALSE  1.0
#> 3 B C 0.1666667 0.3333333 0.1666667      TRUE  2.0