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.intReturns the maximum degree for some algorithms.intReturns the sample size.Returns the variables.booleanisEffectEdge(double bump) Must be called directly after the corresponding scoring call.doublelocalScore(int node, int[] parents) Returns the score of the given nodes given its parents.doublelocalScoreDiff(int x, int y, int[] z) Returns localScore(y | z, x) - localScore(y | z).voidsetPenaltyDiscount(double penaltyDiscount) Sets the penalty discount, which is a multiplier on the penalty term of BIC.voidsetSamplePrior(double samplePrior) This method is not used for this score.voidsetStructurePrior(double structurePrior) Sets the structure prior.voidsetVariables(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, waitMethods 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:
localScorein 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:
localScoreDiffin interfaceScore- Parameters:
x- A node.y- TAhe node.z- A set of nodes.- Returns:
- This score.
-
getVariables
Returns the variables.- Specified by:
getVariablesin 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:
getSampleSizein interfaceScore- Returns:
- This size.
-
isEffectEdge
public boolean isEffectEdge(double bump) Must be called directly after the corresponding scoring call. Used in FGES.- Specified by:
isEffectEdgein 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:
getDataSetin interfaceDiscreteScore- Returns:
- this dataset.
-
setStructurePrior
public void setStructurePrior(double structurePrior) Sets the structure prior.- Specified by:
setStructurePriorin interfaceDiscreteScore- Parameters:
structurePrior- This prior.
-
setSamplePrior
public void setSamplePrior(double samplePrior) This method is not used for this score.- Specified by:
setSamplePriorin 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:
getMaxDegreein interfaceScore- Returns:
- 1000.
-
toString
Returns a string representation of this score.
-