Class SvarGfci
- All Implemented Interfaces:
IGraphSearch
Adapts GFCI for the time series setting, assuming the data is generated by a SVAR (structural vector autoregression). The main difference is that time order is imposed, and if an edge is removed, it will also remove all homologous edges to preserve the time-repeating structure assumed by SvarFCI. Based on (but not identical to) code by Entner and Hoyer for their 2010 paper. Modified by dmalinsky 4/21/2016.
The references are as follows:
Malinsky, D., & Spirtes, P. (2018, August). Causal structure learning from multivariate time series in settings with unmeasured confounding. In Proceedings of 2018 ACM SIGKDD workshop on causal discovery (pp. 23-47). PMLR.
Entner, D., & Hoyer, P. O. (2010). On causal discovery from time series data using FCI. Probabilistic graphical models, 121-128.
This class is configured to respect knowledge of forbidden and required edges, including knowledge of temporal tiers.
-
Constructor Summary
ConstructorsConstructorDescriptionSvarGfci
(IndependenceTest test, Score score) Constructs a new GFCI search for the given independence test and background knowledge. -
Method Summary
Modifier and TypeMethodDescriptionsearch()
Runs the search and returns a PAG.void
setCompleteRuleSetUsed
(boolean completeRuleSetUsed) Sets whether the complete rule set is used.void
setKnowledge
(Knowledge knowledge) Sets the knowledge for the search.void
setMaxPathLength
(int maxPathLength) Sets the maximum length of any discriminating path.void
setVerbose
(boolean verbose) Sets whether verbose output is printed.
-
Constructor Details
-
SvarGfci
Constructs a new GFCI search for the given independence test and background knowledge.
-
-
Method Details
-
search
Runs the search and returns a PAG.- Specified by:
search
in interfaceIGraphSearch
- Returns:
- a PAG.
-
setKnowledge
Sets the knowledge for the search.- Parameters:
knowledge
- The knowledge.
-
setCompleteRuleSetUsed
public void setCompleteRuleSetUsed(boolean completeRuleSetUsed) Sets whether the complete rule set is used.- Parameters:
completeRuleSetUsed
- 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.
-
setMaxPathLength
public void setMaxPathLength(int maxPathLength) Sets the maximum length of any discriminating path.- Parameters:
maxPathLength
- the maximum length of any discriminating path, or -1 if unlimited.
-
setVerbose
public void setVerbose(boolean verbose) Sets whether verbose output is printed.- Parameters:
verbose
- True, if so.
-