Package edu.cmu.tetrad.search.score
Class DiscreteBicScore
java.lang.Object
edu.cmu.tetrad.search.score.DiscreteBicScore
- 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. 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.
- Author:
- josephramsey
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the dataset being analyzed.int
Returns the maximum degree for some algorithms.int
Returns the sample size.Returns the variables.boolean
isEffectEdge
(double bump) Must be called directly after the corresponding scoring call.double
localScore
(int node, int[] parents) Returns the score of the given nodes given its parents.double
localScoreDiff
(int x, int y, int[] z) Returns localScore(y | z, x) - localScore(y | z).void
setPenaltyDiscount
(double penaltyDiscount) Sets the penalty discount, which is a multiplier on the penalty term of BIC.void
setSamplePrior
(double samplePrior) This method is not used for this score.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()
Returns a string representation of this score.Methods inherited from class java.lang.Object
clone, equals, finalize, 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
-
DiscreteBicScore
Constructor.- Parameters:
dataSet
- The discrete dataset to analyze.
-
-
Method Details
-
localScore
public double localScore(int node, int[] parents) Returns the score of the given nodes given its parents.- Specified by:
localScore
in interfaceScore
- Parameters:
node
- The index of the node.parents
- The indices of the node's parents.- Returns:
- The score.
-
localScoreDiff
public double localScoreDiff(int x, int y, int[] z) 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:
- This score.
-
getVariables
Returns the variables.- Specified by:
getVariables
in interfaceScore
- Returns:
- This list.
-
setVariables
Sets the variables to a new list of the same size.- Parameters:
variables
- The new list of variables.
-
getSampleSize
public int getSampleSize()Returns the sample size.- Specified by:
getSampleSize
in interfaceScore
- Returns:
- This size.
-
isEffectEdge
public boolean isEffectEdge(double bump) Must be called directly after the corresponding scoring call. Used in FGES.- Specified by:
isEffectEdge
in interfaceScore
- Parameters:
bump
- The score bump.- Returns:
- True iff the edge between x and y is an effect edge.
- See Also:
-
getDataSet
Returns the dataset being analyzed.- Specified by:
getDataSet
in interfaceDiscreteScore
- Returns:
- this dataset.
-
setStructurePrior
public void setStructurePrior(double structurePrior) Sets the structure prior.- Specified by:
setStructurePrior
in interfaceDiscreteScore
- Parameters:
structurePrior
- This prior.
-
setSamplePrior
public void setSamplePrior(double samplePrior) This method is not used for this score.- Specified by:
setSamplePrior
in interfaceDiscreteScore
- Parameters:
samplePrior
- Ibid.- Throws:
javax.help.UnsupportedOperationException
- Since this method is not used.
-
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 maximum degree for some algorithms.- Specified by:
getMaxDegree
in interfaceScore
- Returns:
- 1000.
-
toString
Returns a string representation of this score.
-