Skip to contents

Under interference "the" treatment effect is undefined until the neighbours' exposure is pinned down, because a unit's outcome depends on the whole treatment vector. The standard way out is an exposure mapping: reduce the neighbourhood to a scalar summary E_i and target the DIRECT effect at a fixed value, psi = E[Y(1, ebar)] - E[Y(0, ebar)] with ebar the sample-mean exposure. Both nuisance models condition on E.

Usage

Tmlspl(y, D, X, network, exposure_summary = NULL)

Arguments

y

Outcome.

D

Binary treatment.

X

Covariates.

network

Adjacency matrix.

exposure_summary

Function (D, network) returning one exposure per unit; NULL uses the fraction of neighbours treated.

Value

List with estimate, se, se_iid, eps, ebar, n.

Details

The variance cannot be the i.i.d. one – neighbours' influence curves are correlated by construction – so the reported SE is the network HAC form of Aronow & Samii, summing ic_i ic_j over pairs that are adjacent or identical. On an edgeless network it collapses back to the i.i.d. variance.

References

Aronow, P. M. & Samii, C. (2017). Annals of Applied Statistics 11(4):1912-1947; Sofrygin, O. & van der Laan, M. J. (2017). Journal of Causal Inference 5(1).

Examples

set.seed(13)
n <- 120
network <- matrix(rbinom(n * n, 1, 0.03), n); network <- (network + t(network) > 0) * 1; diag(network) <- 0
X <- matrix(rnorm(n), n); D <- rbinom(n, 1, 0.5)
y <- D + 0.5 * as.numeric(network %*% D) / pmax(rowSums(network), 1) + X[, 1] + rnorm(n)
Tmlspl(y, D, X, network)$estimate
#> [1] 0.8713847