Package edu.cmu.tetrad.search.utils
Class FgesOrienter
java.lang.Object
edu.cmu.tetrad.search.utils.FgesOrienter
- All Implemented Interfaces:
IGraphSearch,DagScorer
This Orients a given undirected graph such that the edges in the graph are a superset of the edges in the oriented
graph, using FGES method.
- Version:
- $Id: $Id
- Author:
- AJ Sedgewick, 5/2015
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionFgesOrienter(DataSet dataSet) The data set must either be all continuous or all discrete. -
Method Summary
Modifier and TypeMethodDescriptionGetter for the fieldadjacencies.intgetDepth()Getter for the fielddepth.getDiscreteScore.longGetter for the fieldelapsedTime.Getter for the fieldexternalGraph.Getter for the fieldknowledge.getOut()Getter for the fieldout.doubleFor BIC score, a multiplier on the penalty term.doublegetScore.booleanisFaithfulnessAssumed.booleanisLog()True iff log output should be produced.voidorient.doublescoreDag.search()Greedy equivalence search: Start from the empty graph, add edges till model is significant.voidsetAdjacencies(Graph adjacencies) Sets the set of preset adjacenies for the algorithm; edges not in this adjacencies graph will not be added.voidsetDepth(int depth) -1 for unlimited depth, otherwise a number >= 0.voidsetDiscreteScore(DiscreteScore DiscreteScore) Sets the discrete scoring function to use.voidsetExternalGraph(Graph externalGraph) Sets the initial graph.voidsetFaithfulnessAssumed(boolean faithfulness) Set to true if it is assumed that all path pairs with one length 1 path do not cancelAll.voidsetKnowledge(Knowledge knowledge) Sets the background knowledge.voidsetLog(boolean log) Sets whether log output should be produced.voidsetOut(PrintStream out) Sets the output stream that output (except for log output) should be sent to.voidsetPenaltyDiscount(double penaltyDiscount) For BIC score, a multiplier on the penalty term.voidsetSamplePrior(double samplePrior) For BDeu score for discrete search; see Chickering (2002).voidsetStructurePrior(double structurePrior) For BDeu score for discrete search; see Chickering (2002).voidsetTrueGraph(Graph trueGraph) If the true graph is set, askterisks will be printed in log output for the true edges.voidsetVerbose(boolean verbose) Sets whether verbose output should be produced.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface edu.cmu.tetrad.search.IGraphSearch
getTest, setTest
-
Constructor Details
-
FgesOrienter
The data set must either be all continuous or all discrete.- Parameters:
dataSet- aDataSetobject
-
-
Method Details
-
orient
orient.
- Parameters:
graph- aGraphobject
-
isFaithfulnessAssumed
public boolean isFaithfulnessAssumed()isFaithfulnessAssumed.
- Returns:
- true if it is assumed that all path pairs with one length 1 path do not cancelAll.
-
setFaithfulnessAssumed
public void setFaithfulnessAssumed(boolean faithfulness) Set to true if it is assumed that all path pairs with one length 1 path do not cancelAll.- Parameters:
faithfulness- a boolean
-
search
Greedy equivalence search: Start from the empty graph, add edges till model is significant. Then start deleting edges till a minimum is achieved.- Specified by:
searchin interfaceIGraphSearch- Returns:
- the resulting CPDAG.
-
getKnowledge
Getter for the field
knowledge.- Returns:
- the background knowledge.
-
setKnowledge
Sets the background knowledge.- Parameters:
knowledge- the knowledge object, specifying forbidden and required edges.
-
setStructurePrior
public void setStructurePrior(double structurePrior) For BDeu score for discrete search; see Chickering (2002).- Parameters:
structurePrior- a double
-
setSamplePrior
public void setSamplePrior(double samplePrior) For BDeu score for discrete search; see Chickering (2002).- Parameters:
samplePrior- a double
-
getElapsedTime
public long getElapsedTime()Getter for the field
elapsedTime.- Returns:
- a long
-
getPenaltyDiscount
public double getPenaltyDiscount()For BIC score, a multiplier on the penalty term. For continuous searches.- Returns:
- a double
-
setPenaltyDiscount
public void setPenaltyDiscount(double penaltyDiscount) For BIC score, a multiplier on the penalty term. For continuous searches.- Parameters:
penaltyDiscount- a double
-
setTrueGraph
If the true graph is set, askterisks will be printed in log output for the true edges.- Parameters:
trueGraph- aGraphobject
-
getScore
getScore.
- Parameters:
dag- aGraphobject- Returns:
- the score of the given DAG, up to a constant.
-
getDiscreteScore
getDiscreteScore.
- Returns:
- the discrete scoring function being used. By default, BDeu.
-
setDiscreteScore
Sets the discrete scoring function to use.- Parameters:
DiscreteScore- aDiscreteScoreobject
-
isLog
public boolean isLog()True iff log output should be produced.- Returns:
- a boolean
-
setLog
public void setLog(boolean log) Sets whether log output should be produced. Set to false a faster search.- Parameters:
log- a boolean
-
getExternalGraph
Getter for the field
externalGraph.- Returns:
- the initial graph for the search. The search is initialized to this graph and proceeds from there.
-
setExternalGraph
Sets the initial graph.- Parameters:
externalGraph- aGraphobject
-
setVerbose
public void setVerbose(boolean verbose) Sets whether verbose output should be produced.- Parameters:
verbose- a boolean
-
getOut
Getter for the field
out.- Returns:
- the output stream that output (except for log output) should be sent to.
-
setOut
Sets the output stream that output (except for log output) should be sent to. By detault System.out.- Parameters:
out- aPrintStreamobject
-
getAdjacencies
Getter for the field
adjacencies.- Returns:
- the set of preset adjacenies for the algorithm; edges not in this adjacencies graph will not be added.
-
setAdjacencies
Sets the set of preset adjacenies for the algorithm; edges not in this adjacencies graph will not be added.- Parameters:
adjacencies- aGraphobject
-
getDepth
public int getDepth()Getter for the field
depth.- Returns:
- the depth for the forward reevaluation step.
-
setDepth
public void setDepth(int depth) -1 for unlimited depth, otherwise a number >= 0. In the forward reevaluation step, subsets of neighbors up to depth in size are considered. Limiting depth can speed up the algorithm.- Parameters:
depth- a int
-
scoreDag
scoreDag.
Scores the given DAG, up to a constant.
-