Class Bfci
java.lang.Object
edu.cmu.tetrad.algcomparison.algorithm.AbstractBootstrapAlgorithm
edu.cmu.tetrad.algcomparison.algorithm.oracle.pag.Bfci
- All Implemented Interfaces:
Algorithm
,ReturnsBootstrapGraphs
,TakesCovarianceMatrix
,HasKnowledge
,HasParameters
,TakesIndependenceWrapper
,UsesScoreWrapper
,TetradSerializable
,Serializable
@Algorithm(name="BFCI",
command="bfci",
algoType=allow_latent_common_causes)
@Bootstrapping
public class Bfci
extends AbstractBootstrapAlgorithm
implements Algorithm, UsesScoreWrapper, TakesIndependenceWrapper, HasKnowledge, ReturnsBootstrapGraphs, TakesCovarianceMatrix
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 TypeMethodDescriptiongetComparisonGraph
(Graph graph) Retrieves the comparison graph generated by applying the DAG-to-PAG transformation to the given true directed graph.Retrieves the data type that the search requires, whether continuous, discrete, or mixed.Returns a description of the BFCI (Best-order FCI) algorithm using the description of its independence test and score.Returns the IndependenceWrapper associated with this Bfci algorithm.Retrieves the knowledge associated with the algorithm.Retrieves the list of parameters used for the BFCI (Best-order FCI) algorithm.Retrieves the ScoreWrapper associated with this algorithm.runSearch
(DataModel dataModel, Parameters parameters) Runs the search algorithm using the given dataset and parameters and returns the resulting graph.void
Sets the IndependenceWrapper object for this algorithm.void
setKnowledge
(Knowledge knowledge) Sets the knowledge associated with the algorithm.void
setScoreWrapper
(ScoreWrapper score) Sets the score wrapper for this 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
-
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
-
runSearch
Runs the search algorithm using the given dataset and parameters and returns the resulting graph.- Parameters:
dataModel
- the data model to run the search onparameters
- the parameters used for the search algorithm- Returns:
- the graph resulting from the search algorithm
- Throws:
InterruptedException
-
getComparisonGraph
Retrieves the comparison graph generated by applying the DAG-to-PAG transformation to the given true directed graph.- Specified by:
getComparisonGraph
in interfaceAlgorithm
- Parameters:
graph
- The true directed graph, if there is one.- Returns:
- The comparison graph generated by applying the DAG-to-PAG transformation.
-
getDescription
Returns a description of the BFCI (Best-order FCI) algorithm using the description of its independence test and score.- Specified by:
getDescription
in interfaceAlgorithm
- Returns:
- The description of the algorithm.
-
getDataType
Retrieves the data type that the search requires, whether continuous, discrete, or mixed.- Specified by:
getDataType
in interfaceAlgorithm
- Returns:
- the data type required by the search algorithm
-
getParameters
Retrieves the list of parameters used for the BFCI (Best-order FCI) algorithm.- Specified by:
getParameters
in interfaceHasParameters
- Returns:
- the list of parameters used for the BFCI algorithm
-
getKnowledge
Retrieves the knowledge associated with the algorithm.- Specified by:
getKnowledge
in interfaceHasKnowledge
- Returns:
- the knowledge associated with the algorithm
-
setKnowledge
Sets the knowledge associated with the algorithm.- Specified by:
setKnowledge
in interfaceHasKnowledge
- Parameters:
knowledge
- a knowledge object
-
getIndependenceWrapper
Returns the IndependenceWrapper associated with this Bfci algorithm.- Specified by:
getIndependenceWrapper
in interfaceTakesIndependenceWrapper
- Returns:
- the IndependenceWrapper object
-
setIndependenceWrapper
Sets the IndependenceWrapper object for this algorithm.- Specified by:
setIndependenceWrapper
in interfaceTakesIndependenceWrapper
- Parameters:
test
- the IndependenceWrapper object to set
-
getScoreWrapper
Retrieves the ScoreWrapper associated with this algorithm.- Specified by:
getScoreWrapper
in interfaceUsesScoreWrapper
- Returns:
- The ScoreWrapper object.
-
setScoreWrapper
Sets the score wrapper for this algorithm.- Specified by:
setScoreWrapper
in interfaceUsesScoreWrapper
- Parameters:
score
- the score wrapper to set
-