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

Conservative FCI. This is a wrapper for the CFCI algorithm in Tetrad, which is conservative in the same sense as CPC, Conservative PC. That is, it checks, for triple <X, Y, Z>, whether orienting colliders or noncoliders can be done unambiguously. If not, it leaves the edge undirected. It is also similar to FCI in that it allows for latent common causes.
Version:
$Id: $Id
Author:
josephramsey
See Also:
  • Constructor Details

    • Cfci

      public Cfci()
      Constructs a new conservative FCI algorithm.
    • Cfci

      public Cfci(IndependenceWrapper test)
      Constructs a new conservative FCI algorithm with the given independence test.
      Parameters:
      test - the independence test
  • Method Details

    • search

      public Graph search(DataModel dataModel, Parameters parameters)
      Runs the search.

      Runs the conservative FCI search.

      Specified by:
      search in interface Algorithm
      Parameters:
      dataModel - The data set to run to the search on.
      parameters - The paramters of the search.
      Returns:
      The result graph.
    • getComparisonGraph

      public Graph getComparisonGraph(Graph graph)
      Returns that graph that the result should be compared to.

      Returns the comparison graph.

      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 the description of the algorithm.
      Specified by:
      getDescription in interface Algorithm
      Returns:
      The description of the algorithm.
    • getDataType

      public DataType getDataType()
      Returns the data type that the search requires, whether continuous, discrete, or mixed.

      Returns the data type that the algorithm can handle.

      Specified by:
      getDataType in interface Algorithm
      Returns:
      This type.
    • getParameters

      public List<String> getParameters()
      Returns the parameters that this search uses.

      Returns the parameters of the algorithm.

      Specified by:
      getParameters in interface Algorithm
      Specified by:
      getParameters in interface HasParameters
      Returns:
      A list of String names of parameters.
    • getKnowledge

      public Knowledge getKnowledge()
      Returns a knowledge object.

      Returns the knowledge.

      Specified by:
      getKnowledge in interface HasKnowledge
      Returns:
      a knowledge object.
    • setKnowledge

      public void setKnowledge(Knowledge knowledge)
      Sets a knowledge object.

      Sets the knowledge.

      Specified by:
      setKnowledge in interface HasKnowledge
      Parameters:
      knowledge - a knowledge object.
    • getIndependenceWrapper

      public IndependenceWrapper getIndependenceWrapper()
      Returns the independence wrapper.

      Returns the independence test.

      Specified by:
      getIndependenceWrapper in interface TakesIndependenceWrapper
      Returns:
      the independence wrapper.
    • setIndependenceWrapper

      public void setIndependenceWrapper(IndependenceWrapper test)
      Sets the independence wrapper.

      Sets the independence wrapper.

      Specified by:
      setIndependenceWrapper in interface TakesIndependenceWrapper
      Parameters:
      test - the independence wrapper.
    • getBootstrapGraphs

      public List<Graph> getBootstrapGraphs()
      Returns the bootstrap graphs.

      Returns the bootstrap graphs.

      Specified by:
      getBootstrapGraphs in interface ReturnsBootstrapGraphs
      Returns:
      the bootstrap graphs.