Class DmPc

java.lang.Object
edu.cmu.tetrad.search.DmPc
All Implemented Interfaces:
IGraphSearch

public class DmPc extends Object implements IGraphSearch
The Detect-Mimic-PC (DM-PC) algorithm. This is intended to detect intermediate latent variables for Multiple Input * Multiple IndiCator (MIMIC) models. models. This implements a causal discovery algorithm for detecting and representing intermediate latent variables and their causal relationships in a dataset. The algorithm utilizes constraint-based causal discovery techniques, clustering, and structure refinement to build a causal graph that incorporates latent variables.

The class requires an `IndependenceTest` to perform statistical independence checks on variable pairs or groups, which is central to its operation.

Author:
murraywaters, josephramsey
  • Constructor Details

    • DmPc

      public DmPc(IndependenceTest test)
      Constructs an instance of the DmPc class using the specified independence test.
      Parameters:
      test - An instance of the IndependenceTest interface, used to perform conditional independence tests as part of the algorithm.
  • Method Details

    • search

      public Graph search()
      Executes the Directed Maximal PC (DmPc) algorithm to identify a causal graph structure that represents the relationships between observed and latent variables. The method performs several steps including initialization, clustering, introducing latent nodes, refining edges, and final adjustments to produce the resultant graph.
      Specified by:
      search in interface IGraphSearch
      Returns:
      A causal Graph that represents the inferred structure of relationships among variables, incorporating both observed and latent variables.
    • getTest

      public IndependenceTest getTest()
      Description copied from interface: IGraphSearch
      Gets the test used by the search.
      Specified by:
      getTest in interface IGraphSearch
      Returns:
      The test used by the search.
    • setTest

      public void setTest(IndependenceTest test)
      Description copied from interface: IGraphSearch
      Sets the test to be used by the search. The list of variables of the new proposed test must be equal to the list of variables of the existing test.
      Specified by:
      setTest in interface IGraphSearch
      Parameters:
      test - The test to be used by the search.
    • setKnowledge

      public void setKnowledge(Knowledge knowledge)
      Sets the knowledge for the current instance. The provided knowledge is used in the context of the DmPc algorithm to guide the structure learning process by incorporating prior information or constraints.
      Parameters:
      knowledge - An instance of the Knowledge class that encapsulates domain-specific rules, constraints, or prior knowledge to be applied.