Skip to contents

Under instrument independence and monotonicity the population splits into compliers, always-takers and never-takers, whose shares are identified from the first stage. The instrument reveals the treatment effect only for the compliers; for the other two strata one of the two potential outcomes is never observed at all, so the population ATE is a mixture of one identified piece and two entirely unidentified ones, and the interval simply admits the extremes for those.

Usage

Bnscom(y, D, Z)

Arguments

y

Observed outcome.

D

Binary treatment, coded 0/1.

Z

Binary instrument, coded 0/1.

Value

List with lower, upper, width, estimate, late, pi_c, pi_a, pi_n, e1c, e0c, n.

Details

Derivation. E[y D | Z = z] sums over strata with d(z) = 1, so differencing in z leaves only compliers: E[y(1) | c] = (E[y D | Z = 1] - E[y D | Z = 0]) / pi_c and E[y(0) | c] = (E[y (1 - D) | Z = 0] - E[y (1 - D) | Z = 1]) / pi_c, with pi_c = P(D = 1 | Z = 1) - P(D = 1 | Z = 0). Their difference is the Wald ratio. The ATE bound is pi_c LATE + (1 - pi_c) [y_0 - y_1, y_1 - y_0].

References

Imbens, G. W. and Rubin, D. B. (1997). Estimating outcome distributions for compliers in instrumental variables models. Review of Economic Studies 64(4), 555-574. doi:10.2307/2971731 . Angrist, J. D., Imbens, G. W. and Rubin, D. B. (1996). Identification of causal effects using instrumental variables. Journal of the American Statistical Association 91(434), 444-455. doi:10.1080/01621459.1996.10476902 .

Examples

set.seed(1)
Z <- rbinom(40, 1, 0.5)
D <- rbinom(40, 1, 0.2 + 0.6 * Z)
Bnscom(y = rbinom(40, 1, 0.4), D = D, Z = Z)
#> $lower
#> [1] -0.4085213
#> 
#> $upper
#> [1] 0.3934837
#> 
#> $width
#> [1] 0.802005
#> 
#> $estimate
#> [1] -0.007518797
#> 
#> $late
#> [1] -0.0125523
#> 
#> $pi_c
#> [1] 0.5989975
#> 
#> $pi_a
#> [1] 0.1904762
#> 
#> $pi_n
#> [1] 0.2105263
#> 
#> $e1c
#> [1] 0.3598326
#> 
#> $e0c
#> [1] 0.3723849
#> 
#> $n
#> [1] 40
#> 
#> $method
#> [1] "Bound under unknown compliance"
#> 
#> attr(,"class")
#> [1] "morie_rich_result" "list"