Class RecursiveAdjustmentMultiple

java.lang.Object
edu.cmu.tetrad.search.RecursiveAdjustmentMultiple

public final class RecursiveAdjustmentMultiple extends Object
Recursive adjustment for the case of multiple treatments X and multiple outcomes Y.

Semantics: X and Y are disjoint non-empty sets of nodes. An output set Z is intended to be a (generalized) adjustment set for estimating the joint conditioning effect p(Y | joint(X)) in the sense of the generalized adjustment criterion (Perković et al.).

This class mirrors the structure of RecursiveAdjustment, but is written explicitly for set-valued X and Y:

- forbidden nodes Forb_G(X,Y) are computed for the sets X,Y; - amenable paths are collected over all x in X, y in Y; - recursive search blocks noncausal backdoor paths between any x∈X and any y∈Y; - a final minimality pass tries to remove superfluous nodes from Z.

  • Constructor Details

    • RecursiveAdjustmentMultiple

      public RecursiveAdjustmentMultiple(Graph graph)
      Constructs an instance of AdjustmentMultiple with the provided graph.
      Parameters:
      graph - the graph to be used for adjustment calculations; must not be null
  • Method Details

    • setColliderPolicy

      Sets the collider policy for the AdjustmentMultiple instance.
      Parameters:
      p - the collider policy to be set; must not be null
      Returns:
      the current instance of AdjustmentMultiple with the updated collider policy
    • setNoAmenablePolicy

      Sets the no amenable policy for the adjustment process.
      Parameters:
      p - the no amenable policy to be applied, must not be null
      Returns:
      the current instance of AdjustmentMultiple, allowing method chaining
    • adjustmentSets

      public List<Set<Node>> adjustmentSets(Set<Node> X, Set<Node> Y, @Nullable String graphType, int maxNumSets, int maxRadius, int nearWhichEndpoint, int maxPathLength, boolean avoidAmenable, @Nullable Set<Node> notFollowed, @Nullable Set<Node> containing)
      Entry point analogous to Adjustment.adjustmentSetsRB, but for set-valued X and Y.
      Parameters:
      X - set of treatment nodes (non-empty, pairwise distinct from Y)
      Y - set of outcome nodes (non-empty, pairwise distinct from X)
      graphType - "dag", "pdag", "mag", or "pag" (case-insensitive); defaults to "dag" if null.
      maxNumSets - maximum number of adjustment sets to return.
      maxRadius - currently ignored (kept for API compatibility).
      nearWhichEndpoint - currently ignored (kept for API compatibility).
      maxPathLength - maximum length of witness paths; if < 0, treated as "unbounded".
      avoidAmenable - if true, never adjust on the amenable backbone (Perković-style GAC).
      notFollowed - nodes never to follow during witness search or to include in Z.
      containing - nodes that must be included in every adjustment set.
      Returns:
      List of adjustment sets