Class Bfci
java.lang.Object
edu.cmu.tetrad.algcomparison.algorithm.oracle.pag.Bfci
- All Implemented Interfaces:
Algorithm
,ReturnsBootstrapGraphs
,HasKnowledge
,HasParameters
,TakesIndependenceWrapper
,UsesScoreWrapper
,TetradSerializable
,Serializable
@Algorithm(name="BFCI",
command="bfci",
algoType=allow_latent_common_causes)
@Bootstrapping
@Experimental
public class Bfci
extends Object
implements Algorithm, UsesScoreWrapper, TakesIndependenceWrapper, HasKnowledge, ReturnsBootstrapGraphs
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 Summary
ConstructorsConstructorDescriptionBfci()
No-arg constructor.Bfci
(IndependenceWrapper test, ScoreWrapper score) Constructs a new BFCI algorithm using the given test and score. -
Method Summary
Modifier and TypeMethodDescriptionReturns the bootstrap graphs.getComparisonGraph
(Graph graph) Returns that graph that the result should be compared to.Returns the data type that the search requires, whether continuous, discrete, or mixed.Returns a short, one-line description of this algorithm.Returns the independence wrapper.Returns a knowledge object.Returns the parameters that this search uses.Returns the score wrapper.search
(DataModel dataModel, Parameters parameters) Runs the search.void
Sets the independence wrapper.void
setKnowledge
(Knowledge knowledge) Sets a knowledge object.void
setScoreWrapper
(ScoreWrapper score) Sets the score wrapper.
-
Constructor Details
-
Bfci
public Bfci()No-arg constructor. Used for reflection; do not delete. -
Bfci
Constructs a new BFCI algorithm using the given test and score.- Parameters:
test
- the independence test to usescore
- the score to use
-
-
Method Details
-
search
Runs the search. -
getComparisonGraph
Returns that graph that the result should be compared to.- Specified by:
getComparisonGraph
in interfaceAlgorithm
- Parameters:
graph
- The true directed graph, if there is one.- Returns:
- The comparison graph.
-
getDescription
Returns a short, one-line description of this algorithm. This will be printed in the report.- Specified by:
getDescription
in interfaceAlgorithm
- Returns:
- This description.
-
getDataType
Returns the data type that the search requires, whether continuous, discrete, or mixed.- Specified by:
getDataType
in interfaceAlgorithm
- Returns:
- This type.
-
getParameters
Returns the parameters that this search uses.- Specified by:
getParameters
in interfaceAlgorithm
- Specified by:
getParameters
in interfaceHasParameters
- Returns:
- A list of String names of parameters.
-
getKnowledge
Returns a knowledge object.- Specified by:
getKnowledge
in interfaceHasKnowledge
- Returns:
- a knowledge object.
-
setKnowledge
Sets a knowledge object.- Specified by:
setKnowledge
in interfaceHasKnowledge
- Parameters:
knowledge
- a knowledge object.
-
getIndependenceWrapper
Returns the independence wrapper.- Specified by:
getIndependenceWrapper
in interfaceTakesIndependenceWrapper
- Returns:
- the independence wrapper.
-
setIndependenceWrapper
Sets the independence wrapper.- Specified by:
setIndependenceWrapper
in interfaceTakesIndependenceWrapper
- Parameters:
test
- the independence wrapper.
-
getScoreWrapper
Returns the score wrapper.- Specified by:
getScoreWrapper
in interfaceUsesScoreWrapper
- Returns:
- the score wrapper.
-
setScoreWrapper
Sets the score wrapper.- Specified by:
setScoreWrapper
in interfaceUsesScoreWrapper
- Parameters:
score
- the score wrapper.
-
getBootstrapGraphs
Returns the bootstrap graphs.- Specified by:
getBootstrapGraphs
in interfaceReturnsBootstrapGraphs
- Returns:
- the bootstrap graphs.
-