Class FasDci
java.lang.Object
edu.cmu.tetrad.search.work_in_progress.FasDci
Implements a modified version of the the "fast adjacency search" for use in the Distributed Causal Inference (DCI)
algorithm. This version accepts an independence test for a particular dataset and a supergraph containing varialbes
from each dataset. At a given stage, an edge X*-*Y is removed from the graph if X _||_ Y | S, where S is a subset of
size d either of adj(X) or of adj(Y), where d is the depth of the search. This procedure is performed for each pair
of adjacent edges in the graph that are jointly measured with S in the dataset and for d = 0, 1, 2, ..., d1, where d1
is either the maximum depth or else the first such depth at which no edges can be removed. A mapping from {x, y} to
S({x, y}) is returned for edges x *-* y that have been removed.
- Version:
- $Id: $Id
- Author:
- Robert Tillman.
-
Constructor Summary
ConstructorsConstructorDescriptionFasDci
(Graph graph, IndependenceTest independenceTest) Constructs a new FastAdjacencySearch for DCI.FasDci
(Graph graph, IndependenceTest independenceTest, ResolveSepsets.Method method, List<Set<Node>> marginalVars, List<IndependenceTest> independenceTests, SepsetMapDci knownIndependencies, SepsetMapDci knownAssociations) Constructs a new FastAdjacencySearch for DCI with independence test pooling to resolve inconsistencies. -
Method Summary
Modifier and TypeMethodDescriptionint
getDepth()
Getter for the fielddepth
.Getter for the fieldknowledge
.int
Getter for the fieldnumIndependenceTests
.search()
Discovers all adjacencies in data.void
setDepth
(int depth) Setter for the fielddepth
.void
setKnowledge
(Knowledge knowledge) Setter for the fieldknowledge
.
-
Constructor Details
-
FasDci
Constructs a new FastAdjacencySearch for DCI.- Parameters:
graph
- aGraph
objectindependenceTest
- aIndependenceTest
object
-
FasDci
public FasDci(Graph graph, IndependenceTest independenceTest, ResolveSepsets.Method method, List<Set<Node>> marginalVars, List<IndependenceTest> independenceTests, SepsetMapDci knownIndependencies, SepsetMapDci knownAssociations) Constructs a new FastAdjacencySearch for DCI with independence test pooling to resolve inconsistencies.- Parameters:
graph
- aGraph
objectindependenceTest
- aIndependenceTest
objectmethod
- aResolveSepsets.Method
objectmarginalVars
- aList
objectindependenceTests
- aList
objectknownIndependencies
- aSepsetMapDci
objectknownAssociations
- aSepsetMapDci
object
-
-
Method Details
-
search
Discovers all adjacencies in data. The procedure is to remove edges in the graph which connect pairs of variables which are independent conditional on some other set of variables in the graph (the "sepset"). These are removed in tiers. First, edges which are independent conditional on zero other variables are removed, then edges which are independent conditional on one other variable are removed, then two, then three, and so on, until no more edges can be removed from the graph. The edges which remain in the graph after this procedure are the adjacencies in the data.- Returns:
- a SepSet, which indicates which variables are independent conditional on which other variables
- Throws:
InterruptedException
-
getDepth
public int getDepth()Getter for the field
depth
.- Returns:
- a int
-
setDepth
public void setDepth(int depth) Setter for the field
depth
.- Parameters:
depth
- a int
-
getKnowledge
-
setKnowledge
-
getNumIndependenceTests
public int getNumIndependenceTests()Getter for the field
numIndependenceTests
.- Returns:
- a int
-