Class NabiIdentificationProbe

java.lang.Object
edu.cmu.tetrad.study.missingness.NabiIdentificationProbe

public final class NabiIdentificationProbe extends Object
Numerical probe of the identification boundary in Nabi, Bhattacharya and Shpitser, "Full Law Identification in Graphical Models of Missing Data: Completeness Results" (PMLR 119, 2020). The paper proves (Theorems 1-2) that the full law of a missing data DAG is identified from the observed data distribution if and only if the graph has no self-censoring edge (X_i to R_i) and no colluder (X_j to R_i with R_j to R_i), with the identifying functional given by Chen's odds ratio parameterization. The paper contains no simulation; this probe exercises both halves of the theorem numerically on binary models small enough for exact computation.

Three missing data DAGs over binary X1, X2, X3 with indicators R1, R2, R3 (R = 1 means observed), all with target law X1 to X2 to X3 and mechanism parents:

  • BRONCHITIS (their Fig 1(a), Scenario 1): pa(R3) = {X1}, pa(R2) = {X1, R3}, pa(R1) = {X3, R2}. No self-censoring, no colluder: full law IDENTIFIED (and this is their example where the Bhattacharya et al. 2019 algorithm fails, so identification here is the paper's novel content);
  • SELF-CENSORING: the same plus X1 in pa(R1): provably NOT identified;
  • COLLUDER: the same plus X2 in pa(R1), so X2 to R1 with R2 to R1: provably NOT identified.

Three checks:

  1. Rank test. The model parameters (CPT logits) map smoothly to the 64-cell observed data distribution (the full joint with unobserved X coordinates marginalized within each R pattern). The parameterization is minimal (CPTs are unique functionals of a positive full law), so local identifiability at a parameter point is exactly full column rank of the Jacobian of that map. Run at generic random points AND on the degenerate stratum where the censored variable's observed "shadow" channels (its observed children and proxies) are switched off. The first run exposes a fact the paper does not dwell on: in the binary saturated model, generic shadow mixing restores local identification even past their boundary (the Miao-style shadow-variable effect), so their model-level non-identification is carried entirely by the degenerate stratum -- which the second run shows, and which also means estimation near that stratum is ill-conditioned wherever shadows are weak.
  2. Fiber walk. For each non-identified graph, start ON the degenerate stratum, walk along the Jacobian's null direction, and polish with damped Gauss-Newton back onto the fiber. The result is a pair of parameter points with observed laws agreeing to near machine precision and visibly different full laws -- a concrete counterexample pair, which is what non-identification means.
  3. Functional consistency. For the identified BRONCHITIS graph, the paper's identifying functional (propensity of R1 by conditioning on R3 = 1; propensity of R2 by inverse weighting with the fixed R1; the (R2, R3) joint by the odds ratio parameterization with R1 = 1 plugged in) is estimated from simulated observed data at increasing n, against the known truth. The error should shrink at roughly root-n. A naive available-case estimator of the same mechanism (conditioning on R1 = 1 and ignoring the selection that induces) is shown alongside, and should plateau at a bias.

Caveat: local rank tests local identifiability and the theorem is global, so full rank is evidence, not proof, on the positive side; the rank deficit plus an explicit counterexample pair IS a demonstration on the negative side. The paper's non-identification claims are over the whole model (all state spaces and parameter values), so generic binary identifiability and their completeness theorem are both true at once. Runs in seconds; nothing outside this file is touched.

Author:
josephramsey
  • Method Details

    • main

      public static void main(String[] args)
      Entry point; runs the three checks and prints the results. Seconds of compute.
      Parameters:
      args - Unused.