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

Adjusts GFCI to use a permutation algorithm (such as BOSS-Tuck) to do the initial steps of finding adjacencies and unshielded colliders.

GFCI reference is this:

J.M. Ogarrio and P. Spirtes and J. Ramsey, "A Hybrid Causal Search Algorithm for Latent Variable Models," JMLR 2016.

Version:
$Id: $Id
Author:
josephramsey
See Also:
  • Constructor Details

  • Method Details

    • runSearch

      public Graph runSearch(DataModel dataModel, Parameters parameters)
      Runs a search algorithm to find a graph structure based on a given data set and parameters.
      Parameters:
      dataModel - the data set to be used for the search algorithm
      parameters - the parameters for the search algorithm
      Returns:
      the graph structure found by the search algorithm
    • getComparisonGraph

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

      public String getDescription()
      Returns a short, one-line description of this algorithm. The description is generated by concatenating the descriptions of the test and score objects associated with this algorithm.
      Specified by:
      getDescription in interface Algorithm
      Returns:
      The description of this algorithm.
    • getDataType

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

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

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

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

      public IndependenceWrapper getIndependenceWrapper()
      Retrieves the IndependenceWrapper object associated with this method. The IndependenceWrapper object contains an IndependenceTest that checks the independence of two variables conditional on a set of variables using a given dataset and parameters .
      Specified by:
      getIndependenceWrapper in interface TakesIndependenceWrapper
      Returns:
      The IndependenceWrapper object associated with this method.
    • setIndependenceWrapper

      public void setIndependenceWrapper(IndependenceWrapper test)
      Sets the independence wrapper.
      Specified by:
      setIndependenceWrapper in interface TakesIndependenceWrapper
      Parameters:
      test - the independence wrapper.
    • getScoreWrapper

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

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