java.lang.Object
edu.cmu.tetrad.algcomparison.algorithm.AbstractBootstrapAlgorithm
edu.cmu.tetrad.algcomparison.algorithm.oracle.pag.Gfci
All Implemented Interfaces:
Algorithm, ReturnsBootstrapGraphs, TakesCovarianceMatrix, HasKnowledge, HasParameters, TakesIndependenceWrapper, UsesScoreWrapper, TetradSerializable, Serializable

The Gfci class represents the Greedy Fast Causal Inference algorithm.
See Also:
  • Constructor Details

    • Gfci

      public Gfci()
      The Gfci class represents the Greedy Fast Causal Inference algorithm.
    • Gfci

      public Gfci(IndependenceWrapper test, ScoreWrapper score)
      Constructs a new instance of Gfci with the given IndependenceWrapper and ScoreWrapper.
      Parameters:
      test - The IndependenceWrapper object to associate with this Gfci instance.
      score - The ScoreWrapper object to associate with this Gfci instance.
  • Method Details

    • runSearch

      public Graph runSearch(DataModel dataModel, Parameters parameters)
      Runs the search algorithm to infer the causal graph given a dataset and specified parameters.
      Parameters:
      dataModel - The dataset containing the observational data.
      parameters - The parameters to configure the search algorithm.
      Returns:
      The inferred causal graph.
    • getComparisonGraph

      public Graph getComparisonGraph(Graph graph)
      Retrieves the comparison graph by transforming the true directed graph (if there is one) into a partially directed acyclic graph (PAG).
      Specified by:
      getComparisonGraph in interface Algorithm
      Parameters:
      graph - The true directed graph, if there is one.
      Returns:
      The comparison graph in the form of a partially directed acyclic graph (PAG).
    • getDescription

      public String getDescription()
      Returns a description of the GFCI (Greedy Fast Causal Inference) algorithm using the description of the independence test and score associated with it.
      Specified by:
      getDescription in interface Algorithm
      Returns:
      The description of the algorithm.
    • getDataType

      public DataType getDataType()
      Retrieves the data type required for the search algorithm.
      Specified by:
      getDataType in interface Algorithm
      Returns:
      The data type required for the search algorithm.
    • getParameters

      public List<String> getParameters()
      Returns a list of parameters used to configure the search algorithm.
      Specified by:
      getParameters in interface HasParameters
      Returns:
      The list of parameters used to configure the search algorithm.
    • getKnowledge

      public Knowledge getKnowledge()
      Retrieves the Knowledge object associated with this instance.
      Specified by:
      getKnowledge in interface HasKnowledge
      Returns:
      The Knowledge object associated with this instance.
    • setKnowledge

      public void setKnowledge(Knowledge knowledge)
      Sets the Knowledge object associated with this instance.
      Specified by:
      setKnowledge in interface HasKnowledge
      Parameters:
      knowledge - The Knowledge object to be set.
    • getScoreWrapper

      public ScoreWrapper getScoreWrapper()
      Retrieves the ScoreWrapper associated with this instance.
      Specified by:
      getScoreWrapper in interface UsesScoreWrapper
      Returns:
      The ScoreWrapper associated with this instance.
    • setScoreWrapper

      public void setScoreWrapper(ScoreWrapper score)
      Sets the score wrapper for the algorithm.
      Specified by:
      setScoreWrapper in interface UsesScoreWrapper
      Parameters:
      score - the score wrapper.
    • getIndependenceWrapper

      public IndependenceWrapper getIndependenceWrapper()
      Returns the independence wrapper associated with this instance.
      Specified by:
      getIndependenceWrapper in interface TakesIndependenceWrapper
      Returns:
      The independence wrapper.
    • setIndependenceWrapper

      public void setIndependenceWrapper(IndependenceWrapper test)
      Sets the independence wrapper for the algorithm.
      Specified by:
      setIndependenceWrapper in interface TakesIndependenceWrapper
      Parameters:
      test - the independence wrapper to set