Class GrowShrink
- All Implemented Interfaces:
- IMbSearch
Margaritis, D., & Thrun, S. (1999). Bayesian network induction via local neighborhoods. Advances in neural information processing systems, 12.
Grow-Shrink learns the Markov blanket of a node, given a conditional independence test over a list of possible nodes. The Markov blanket is a set of nodes (or, in this case a list of distinct nodes), conditional on which every other node in the set is independent of X. In this case, a minimal Markov blanket is learned, which is to say, a Markov boundary of X.
Graphically, in a DAG, the Markov blanket of X is the set of parents, children, and parents of children of X; GrowShrink will, for a faithful test, learn this set for X. However, a graph over the nodes together with X is not learned; other algorithms are available to do that (see, e.g., FgesMb, PcMb).
We include GrowShrink in our algorithm suite mainly because it is a CMU algorithm (see the above reference). Markov blanket search has been explored in some detail in the literature, and several algorithms are available. See for instance the BNLEARN package in R: https://www.bnlearn.com
This class is not configured to respect knowledge of forbidden and required edges.
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionFinds the Markov blanket (MB) for a given target node.Returns "Grow Shrink".intgetNumIndependenceTests.
- 
Constructor Details- 
GrowShrinkConstructs a new search.- Parameters:
- test- The test used for this search.
 
 
- 
- 
Method Details- 
findMbFinds the Markov blanket (MB) for a given target node.
- 
getAlgorithmNameReturns "Grow Shrink".- Specified by:
- getAlgorithmNamein interface- IMbSearch
- Returns:
- This string.
 
- 
getNumIndependenceTestspublic int getNumIndependenceTests()getNumIndependenceTests. - Specified by:
- getNumIndependenceTestsin interface- IMbSearch
- Returns:
- a int
- Throws:
- UnsupportedOperationException- Since independence tests are not counted.
 
 
-