Class Cfci
java.lang.Object
edu.cmu.tetrad.algcomparison.algorithm.AbstractBootstrapAlgorithm
edu.cmu.tetrad.algcomparison.algorithm.oracle.pag.Cfci
- All Implemented Interfaces:
Algorithm
,ReturnsBootstrapGraphs
,TakesCovarianceMatrix
,HasKnowledge
,HasParameters
,TakesIndependenceWrapper
,TetradSerializable
,Serializable
@Algorithm(name="CFCI",
command="cfci",
algoType=allow_latent_common_causes)
@Bootstrapping
public class Cfci
extends AbstractBootstrapAlgorithm
implements Algorithm, HasKnowledge, TakesIndependenceWrapper, ReturnsBootstrapGraphs, TakesCovarianceMatrix
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 Summary
ConstructorsConstructorDescriptionCfci()
Constructs a new conservative FCI algorithm.Cfci
(IndependenceWrapper test) Constructs a new conservative FCI algorithm with the given independence test. -
Method Summary
Modifier and TypeMethodDescriptiongetComparisonGraph
(Graph graph) Retrieves the comparison graph by converting the given true directed graph into a partially directed graph (PAG) using the DAG to PAG transformation.Retrieves the data type required by the search algorithm.Returns the description of the algorithm.Retrieves the IndependenceWrapper used by the algorithm.Returns the knowledge.Returns the list of parameters used by the algorithm.runSearch
(DataModel dataModel, Parameters parameters) Runs the search algorithm to discover the causal graph.void
Sets the independence wrapper for the algorithm.void
setKnowledge
(Knowledge knowledge) Sets the knowledge object for the algorithm.Methods inherited from class edu.cmu.tetrad.algcomparison.algorithm.AbstractBootstrapAlgorithm
getBootstrapGraphs, search
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface edu.cmu.tetrad.algcomparison.algorithm.ReturnsBootstrapGraphs
getBootstrapGraphs
-
Constructor Details
-
Cfci
public Cfci()Constructs a new conservative FCI algorithm. -
Cfci
Constructs a new conservative FCI algorithm with the given independence test.- Parameters:
test
- the independence test
-
-
Method Details
-
runSearch
Runs the search algorithm to discover the causal graph.- Parameters:
dataModel
- The data model used for the search.parameters
- The parameters for the search algorithm.- Returns:
- The discovered causal graph.
- Throws:
IllegalArgumentException
- if the data model is not an instance of DataSet when time lag is specified.InterruptedException
-
getComparisonGraph
Retrieves the comparison graph by converting the given true directed graph into a partially directed graph (PAG) using the DAG to PAG transformation.- Specified by:
getComparisonGraph
in interfaceAlgorithm
- Parameters:
graph
- The true directed graph, if there is one.- Returns:
- The comparison graph as a partially directed graph (PAG).
-
getDescription
Returns the description of the algorithm.- Specified by:
getDescription
in interfaceAlgorithm
- Returns:
- The description of the algorithm.
-
getDataType
Retrieves the data type required by the search algorithm.- Specified by:
getDataType
in interfaceAlgorithm
- Returns:
- The data type required by the search algorithm.
-
getParameters
Returns the list of parameters used by the algorithm.- Specified by:
getParameters
in interfaceHasParameters
- Returns:
- The list of parameters used by the algorithm.
-
getKnowledge
Returns the knowledge.- Specified by:
getKnowledge
in interfaceHasKnowledge
- Returns:
- The knowledge.
-
setKnowledge
Sets the knowledge object for the algorithm.- Specified by:
setKnowledge
in interfaceHasKnowledge
- Parameters:
knowledge
- a knowledge object
-
getIndependenceWrapper
Retrieves the IndependenceWrapper used by the algorithm.- Specified by:
getIndependenceWrapper
in interfaceTakesIndependenceWrapper
- Returns:
- The IndependenceWrapper object.
-
setIndependenceWrapper
Sets the independence wrapper for the algorithm.- Specified by:
setIndependenceWrapper
in interfaceTakesIndependenceWrapper
- Parameters:
test
- the independence wrapper to set
-