Skip to contents

The Kleibergen and Paap (2006) rank test of the first-stage coefficient matrix \(\Pi\) (instruments by endogenous regressors), computed natively: after partialling out the included exogenous regressors and the constant, \(\hat\Theta = G \hat\Pi F^{-1}\) with \(G'G = Z'Z/n\) and \(F'F = X'X/n\) (Cholesky factors), its singular value decomposition gives the projections \(A_{q\perp}, B_{q\perp}\) and \(rk = n\,\hat\lambda'\hat V_\lambda^{-1}\hat\lambda\), chi-square with \((K-q)(k-q)\) degrees of freedom under rank \(q = k - 1\) (underidentification). The covariance of \(vec(\hat\Pi)\) is the sandwich of the chosen vcov, so the statistic is valid under heteroskedasticity or clustering, where Cragg-Donald is not. The rk Wald F is \(rk/n \times (n - L)/K\) (\(L\) all instruments with the constant; clustered: \(rk/(n-1) (n-L)(G-1)/G / K\)), the scaling ivreg2 reports. With one endogenous regressor it is the robust Wald F of the first stage.

Usage

morie_iv_kleibergen_paap(
  data,
  endogenous,
  instruments,
  exogenous = NULL,
  vcov = c("robust", "iid", "cluster"),
  cluster = NULL
)

Arguments

data

A data.frame (or tibble) holding the outcome, endogenous regressors, instruments, and any exogenous controls.

endogenous

Character vector; column names of the endogenous regressors.

instruments

Character vector; column names of the instrumental variables.

exogenous

Optional character vector of additional exogenous regressors included in both the structural equation and the first stage. NULL (default) for a just-identified design.

vcov

"robust" (default), "iid" or "cluster".

cluster

Cluster column, required when vcov = "cluster".

Value

A list with statistic (the rk Wald F), chi2_statistic (rk), df, p_value (of the underidentification test), rule_of_thumb (10), weak (statistic < 10), name, vcov and details.

Details

Compare it with the conservative rule of thumb of 10 (Staiger and Stock 1997) or, for one endogenous regressor, test it properly with morie_iv_montiel_olea_pflueger; Stock-Yogo critical values assume iid errors and do not apply to the robust statistic.

References

Kleibergen, F. and Paap, R. (2006). Generalized reduced rank tests using the singular value decomposition. Journal of Econometrics 133(1), 97-126. Staiger, D. and Stock, J. H. (1997). Instrumental variables regression with weak instruments. Econometrica 65(3), 557-586.

Examples

set.seed(1)
n <- 300
z <- rbinom(n, 1, 0.5); u <- rnorm(n)
d <- rbinom(n, 1, plogis(0.8 * z + 0.3 * u))
y <- 0.5 * d + 0.4 * u + rnorm(n, sd = 0.5)
df <- data.frame(y, d, z)
out <- morie_iv_kleibergen_paap(df, "d", "z")
c(out$statistic, out$p_value)
#> [1] 1.277597e+01 3.353734e-04