Package edu.cmu.tetrad.search.score
Class DiscreteBicScoreAdTree
java.lang.Object
edu.cmu.tetrad.search.score.DiscreteBicScoreAdTree
- All Implemented Interfaces:
DiscreteScore
,Score
Calculates the discrete BIC score. The likelihood for this score is calculated as SUM(ln(P(X | Z) P(Z))) across all
cells in all conditional probability tables for the discrete model. The parameters are counted as SUM(rows * (cols -
1)) for all conditional probability tables in the model, where rows summing to zero are discounted, as their marginal
probabilities cannot be calcualted. Then the BIC score is calculated as 2L - ck ln N, where c is a multiplier on the
penalty ("penalty discount").
As for all scores in Tetrad, higher scores mean more dependence, and negative scores indicate independence.
- Version:
- $Id: $Id
- Author:
- josephramsey
-
Constructor Summary
ConstructorsConstructorDescriptionDiscreteBicScoreAdTree
(DataSet dataSet) Constructs the score using a dataset. -
Method Summary
Modifier and TypeMethodDescriptionReturns the dataset.int
Returns the max degree, by default 1000.int[]
getParentValues
(int[] parents, int rowIndex) Returns an integer array containing the parent values for a given node index and row index.int
Returns the sample size.The variables of the score.boolean
isEffectEdge
(double bump) Returns true iff the edge between x and y is an effect edge.double
localScore
(int node, int[] parents) The score of a node given its parents.double
localScoreDiff
(int x, int y, int[] z) Returns the score difference of the graph.void
setPenaltyDiscount
(double penaltyDiscount) Sets the penalty discount, which is a multiplier on the penalty term of BIC.void
setSamplePrior
(double samplePrior) Sets the sample prior.void
setStructurePrior
(double structurePrior) Sets the structure prior.void
setVariables
(List<Node> variables) Sets the variables to a new list of the same size.toString()
A string representation of the score.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface edu.cmu.tetrad.search.score.Score
append, determines, getVariable, localScore, localScore, localScoreDiff
-
Constructor Details
-
DiscreteBicScoreAdTree
Constructs the score using a dataset.- Parameters:
dataSet
- The discrete dataset to analyze.
-
-
Method Details
-
localScore
public double localScore(int node, int[] parents) The score of a node given its parents.Returns the score of the given nodes given its parents.
- Specified by:
localScore
in interfaceScore
- Parameters:
node
- The node.parents
- The parents.- Returns:
- The score.
-
localScoreDiff
public double localScoreDiff(int x, int y, int[] z) Returns the score difference of the graph.Returns localScore(y | z, x) - localScore(y | z).
- Specified by:
localScoreDiff
in interfaceScore
- Parameters:
x
- A node.y
- TAhe node.z
- A set of nodes.- Returns:
- The score difference.
-
getVariables
The variables of the score.Returns the variables.
- Specified by:
getVariables
in interfaceScore
- Returns:
- This list.
-
setVariables
-
getSampleSize
public int getSampleSize()Returns the sample size.- Specified by:
getSampleSize
in interfaceScore
- Returns:
- This size.
-
isEffectEdge
public boolean isEffectEdge(double bump) Returns true iff the edge between x and y is an effect edge.Must be called directly after the corresponding scoring call. Used in FGES.
- Specified by:
isEffectEdge
in interfaceScore
- Parameters:
bump
- The bump.- Returns:
- True iff the edge between x and y is an effect edge.
- See Also:
-
getDataSet
Returns the dataset.Returns the dataset being analyzed.
- Specified by:
getDataSet
in interfaceDiscreteScore
- Returns:
- Ibid.
-
setStructurePrior
public void setStructurePrior(double structurePrior) Sets the structure prior.Sets the structure prior.
- Specified by:
setStructurePrior
in interfaceDiscreteScore
- Parameters:
structurePrior
- Ibid.
-
setSamplePrior
public void setSamplePrior(double samplePrior) Sets the sample prior.This method is not used for this score.
- Specified by:
setSamplePrior
in interfaceDiscreteScore
- Parameters:
samplePrior
- Ibid.
-
setPenaltyDiscount
public void setPenaltyDiscount(double penaltyDiscount) Sets the penalty discount, which is a multiplier on the penalty term of BIC.- Parameters:
penaltyDiscount
- This discount.
-
getMaxDegree
public int getMaxDegree()Returns the max degree, by default 1000.Returns the maximum degree for some algorithms.
- Specified by:
getMaxDegree
in interfaceScore
- Returns:
- The max degree.
-
toString
-
getParentValues
public int[] getParentValues(int[] parents, int rowIndex) Returns an integer array containing the parent values for a given node index and row index.- Parameters:
parents
- the indices of the parent nodes.rowIndex
- the index of the row in question.- Returns:
- an integer array containing the parent values.
-