A negative control outcome is one the exposure cannot plausibly affect but that shares the exposure's confounders. Its true effect is zero by construction, so any effect the model finds there is bias, not signal. The logic is one-directional: a non-zero estimate is evidence of residual confounding or misspecification, while a zero estimate is NOT evidence of unconfoundedness – it says only that this control did not detect a problem.
Value
List with estimate (b_D), se, z, p_value, confounding_suspected, negct_verdict_at_5pct, ci_lower, ci_upper, alpha, n, p.
Details
The estimate is the OLS coefficient on D in
y_neg = b0 + b_D D + X gamma + e with the homoscedastic
standard error \(sqrt(s^2 (X primeX)^-1_DD)\), s^2 = RSS/(n - p),
and the test is the Wald z-test of b_D = 0.
References
Lipsitch, Tchetgen Tchetgen and Cohen (2010), Epidemiology 21(3), 383-388, doi:10.1097/EDE.0b013e3181d61eeb , verified against Crossref; Shi, Miao and Tchetgen Tchetgen (2020), Current Epidemiology Reports 7, 190-202, doi:10.1007/s40471-020-00243-4 . Neither paper was in the local corpus; the estimator is ordinary least squares and the test is the standard Wald one.
Examples
V <- c(1, 2, 3, 4, 5, 6, 7, 8)
Negctc(V, V)
#> $estimate
#> [1] 1
#>
#> $se
#> [1] 1.881825e-16
#>
#> $z
#> [1] 5.31399e+15
#>
#> $p_value
#> [1] 0
#>
#> $confounding_suspected
#> [1] 1
#>
#> $negct_verdict_at_5pct
#> [1] 1
#>
#> $ci_lower
#> [1] 1
#>
#> $ci_upper
#> [1] 1
#>
#> $alpha
#> [1] 0.05
#>
#> $n
#> [1] 8
#>
#> $p
#> [1] 2
#>
#> $method
#> [1] "Negative control outcome (Wald test of a known null)"
#>
#> attr(,"class")
#> [1] "morie_rich_result" "list"
