Skip to content

Support the variance-optimal adjustment set (O-set) as a selectable option in AdjustmentModel #456

Description

@sarvex

(Follow-up from the LinkedIn thread on the 0.3.0 announcement.)

_select_adjustment_set in pathmc/adjustment.py currently does the right conservative thing: it derives minimal backdoor sets from the DAG, auto-selects when exactly one exists, and raises when several do, asking the user to pass adjustment_set= explicitly rather than choosing silently. The chosen set is also surfaced via the adjustment_set property and stamped into result attrs, which is exactly what a reader of the output needs.

The gap is that when the error fires, the user is asked to choose among valid sets with no guidance, and minimality is the wrong criterion to choose by. Minimality is an identification property. Among valid sets, the choice moves the variance of the regression-adjustment estimator, and Henckel, Perković and Maathuis (JRSS-B 2022, "Graphical criteria for efficient total effect estimation via adjustment in causal linear models") show there is a unique optimal adjustment set, the O-set: informally, the parents of the nodes on proper causal paths from treatment to outcome, minus the forbidden nodes and the treatment itself. It is valid whenever any valid adjustment set exists (for amenable graphs), it is generally not a minimal set, and it minimizes asymptotic variance. Rotnitzky and Smucler (JMLR 2020) extend the variance ordering beyond the linear case.

Proposal, in increasing order of ambition:

  1. Add optimal_adjustment_set(graph_info, treatment, outcome) to pathmc.identify alongside adjustment_sets.
  2. Accept a sentinel in the constructor, e.g. adjustment_set="optimal", so the current default behavior (auto-select the unique minimal set, raise on ties) is untouched and the O-set is opt-in.
  3. Point the several-minimal-sets error message at the option, since the O-set resolves the tie deterministically.

One caveat worth carrying into the docs rather than treating as a blocker: the optimality results are proved for linear models and specific estimator classes, so for the Bayesian GLM families the argument is asymptotic-heuristic. Happy to discuss scope; the smallest useful version is (1) plus a sentence in the 16-scm-vs-adjustment user guide page distinguishing minimal from efficient sets.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions