Class FciMax
- All Implemented Interfaces:
IGraphSearch
Raghu, V. K., Zhao, W., Pu, J., Leader, J. K., Wang, R., Herman, J., ... & Wilson, D. O. (2019). Feasibility of lung cancer prediction from low-dose CT scan and smoking factors using causal models. Thorax, 74(7), 643-649.
Max-P triple orientation is a method for orienting unshielded triples X*=-*Y*-*Z as one of the following: (a) Collider, X->Y<-Z, or (b) Noncollider, X-->Y-->Z, or X<-Y<-Z, or X<-Y->Z. One does this by conditioning on subsets of adj(X) or adj(Z). One first checks conditional independence of X and Z conditional on each of these subsets, and lists the p-values for each test. Then, one chooses the conditioning set out of all of these that maximizes the p-value. If this conditioning set contains Y, then the triple is judged to be a noncollider; otherwise, it is judged to be a collider.
All unshielded triples in the graph given by FAS are judged as colliders or non-colliders and the colliders oriented. Then the final FCI orientation rules are applied, as in FCI.
This class is configured to respect knowledge of forbidden and required edges, including knowledge of temporal tiers.
- Version:
- $Id: $Id
- Author:
- josephramsey
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlong
Returns the elapsed time of search.Returns the independence test used in search.Retrieves the background knowledge that was set.Retrieves the map from variable pairs to sepsets from the FAS search.search()
Performs the search and returns the PAG.void
setCompleteRuleSetUsed
(boolean completeRuleSetUsed) Sets whether Zhang's complete rule set is used in the search.void
setDepth
(int depth) Sets the maximum nubmer of variables conditioned in any test.void
setGuaranteePag
(boolean guaranteePag) Sets whether to guarantee a PAG.void
setKnowledge
(Knowledge knowledge) Sets background knowledge for the search.void
setMaxDiscriminatingPathLength
(int maxDiscriminatingPathLength) Sets the maximum length of any discriminating path.void
setPcHeuristicType
(PcCommon.PcHeuristicType pcHeuristicType) Sets the FAS heuristic from PC used in search.void
setPossibleMsepSearchDone
(boolean possibleMsepSearchDone) Sets whether the (time-consuming) possible msep step should be done.void
setStable
(boolean stable) Sets whether the stable option will be used for search.void
setVerbose
(boolean verbose) Sets whether verbose output should be printed.
-
Constructor Details
-
FciMax
Constructor.- Parameters:
independenceTest
- aIndependenceTest
object
-
-
Method Details
-
search
Performs the search and returns the PAG.- Specified by:
search
in interfaceIGraphSearch
- Returns:
- This PAG.
- Throws:
InterruptedException
- if any.
-
setDepth
public void setDepth(int depth) Sets the maximum nubmer of variables conditioned in any test.- Parameters:
depth
- This maximum.
-
getElapsedTime
public long getElapsedTime()Returns the elapsed time of search.- Returns:
- This time.
-
getSepsets
Retrieves the map from variable pairs to sepsets from the FAS search.- Returns:
- This map.
-
getKnowledge
Retrieves the background knowledge that was set.- Returns:
- This knoweldge,
-
setKnowledge
Sets background knowledge for the search.- Parameters:
knowledge
- This knowledge,
-
setCompleteRuleSetUsed
public void setCompleteRuleSetUsed(boolean completeRuleSetUsed) Sets whether Zhang's complete rule set is used in the search.- Parameters:
completeRuleSetUsed
- set to true if Zhang's complete rule set should be used, false if only R1-R4 (the rule set of the original FCI) should be used. False by default.
-
setPossibleMsepSearchDone
public void setPossibleMsepSearchDone(boolean possibleMsepSearchDone) Sets whether the (time-consuming) possible msep step should be done.- Parameters:
possibleMsepSearchDone
- True, if so.
-
setMaxDiscriminatingPathLength
public void setMaxDiscriminatingPathLength(int maxDiscriminatingPathLength) Sets the maximum length of any discriminating path.- Parameters:
maxDiscriminatingPathLength
- the maximum length of any discriminating path, or -1 if unlimited.
-
setVerbose
public void setVerbose(boolean verbose) Sets whether verbose output should be printed.- Parameters:
verbose
- True, if so.
-
getIndependenceTest
Returns the independence test used in search.- Returns:
- This test.
-
setPcHeuristicType
Sets the FAS heuristic from PC used in search.- Parameters:
pcHeuristicType
- This heuristic.- See Also:
-
setStable
public void setStable(boolean stable) Sets whether the stable option will be used for search.- Parameters:
stable
- True, if so.
-
setGuaranteePag
public void setGuaranteePag(boolean guaranteePag) Sets whether to guarantee a PAG.- Parameters:
guaranteePag
- true to guarantee a PAG, false otherwise.
-