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.voidSets the IndependenceWrapper object for this algorithm.voidsetKnowledge(Knowledge knowledge) Sets the knowledge associated with the algorithm.voidsetScoreWrapper(ScoreWrapper score) Sets the score wrapper for this algorithm.Methods inherited from class edu.cmu.tetrad.algcomparison.algorithm.AbstractBootstrapAlgorithm
getBootstrapGraphs, searchMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:
getComparisonGraphin 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:
getDescriptionin interfaceAlgorithm- Returns:
- The description of the algorithm.
-
getDataType
Retrieves the data type that the search requires, whether continuous, discrete, or mixed.- Specified by:
getDataTypein 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:
getParametersin interfaceHasParameters- Returns:
- the list of parameters used for the BFCI algorithm
-
getKnowledge
Retrieves the knowledge associated with the algorithm.- Specified by:
getKnowledgein interfaceHasKnowledge- Returns:
- the knowledge associated with the algorithm
-
setKnowledge
Sets the knowledge associated with the algorithm.- Specified by:
setKnowledgein interfaceHasKnowledge- Parameters:
knowledge- a knowledge object
-
getIndependenceWrapper
Returns the IndependenceWrapper associated with this Bfci algorithm.- Specified by:
getIndependenceWrapperin interfaceTakesIndependenceWrapper- Returns:
- the IndependenceWrapper object
-
setIndependenceWrapper
Sets the IndependenceWrapper object for this algorithm.- Specified by:
setIndependenceWrapperin interfaceTakesIndependenceWrapper- Parameters:
test- the IndependenceWrapper object to set
-
getScoreWrapper
Retrieves the ScoreWrapper associated with this algorithm.- Specified by:
getScoreWrapperin interfaceUsesScoreWrapper- Returns:
- The ScoreWrapper object.
-
setScoreWrapper
Sets the score wrapper for this algorithm.- Specified by:
setScoreWrapperin interfaceUsesScoreWrapper- Parameters:
score- the score wrapper to set
-