Package edu.cmu.tetrad.search.score
Class EbicScore
java.lang.Object
edu.cmu.tetrad.search.score.EbicScore
- All Implemented Interfaces:
Score
Implements the extended BIC (EBIC) score. The reference is here:
Chen, J., & Chen, Z. (2008). Extended Bayesian information criteria for model selection with large model spaces. Biometrika, 95(3), 759-771.
As for all scores in Tetrad, higher scores mean more dependence, and negative scores indicate independence.
- Version:
- $Id: $Id
- Author:
- josephramsey
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs the score using a covariance matrix.EbicScore(ICovarianceMatrix covariances) Constructs the score using a covariance matrix. -
Method Summary
Modifier and TypeMethodDescriptionbooleandetermines(List<Node> z, Node y) Returns true iff the score determines the edge between x and y.intReturns the max degree, by default 1000.intReturns the sample size.The variables of the score.booleanisEffectEdge(double bump) Returns true iff the edge between x and y is an effect edge.doublelocalScore(int i, int... parents) Returns the score of the node at index i, given its parents.doublelocalScoreDiff(int x, int y, int[] z) Returns the score difference of the graph.voidsetGamma(double gamma) Sets the gamma parameter for EBIC.voidsetUsePseudoInverse(boolean usePseudoInverse) Returns the gamma parameter for EBIC.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface edu.cmu.tetrad.search.score.Score
append, getVariable, localScore, localScore, localScoreDiff, toString
-
Constructor Details
-
EbicScore
Constructs the score using a covariance matrix.- Parameters:
covariances- The covariance matrix.
-
EbicScore
Constructs the score using a covariance matrix.- Parameters:
dataSet- The continuous dataset to analyze.precomputeCovariances- Whether the covariances should be precomputed or computed on the fly. True if precomputed.
-
-
Method Details
-
localScoreDiff
public double localScoreDiff(int x, int y, int[] z) Returns the score difference of the graph.Returns the score of the node at index y, given its parents.
- Specified by:
localScoreDiffin interfaceScore- Parameters:
x- A node.y- TAhe node.z- A set of nodes.- Returns:
- The score difference.
-
localScore
Returns the score of the node at index i, given its parents.- Specified by:
localScorein interfaceScore- Parameters:
i- The index of the node.parents- The indices of the node's parents.- Returns:
- The score, or NaN if the score cannot be calculated.
- Throws:
RuntimeException- if any.
-
getSampleSize
public int getSampleSize()Returns the sample size.- Specified by:
getSampleSizein interfaceScore- Returns:
- This size.
-
isEffectEdge
public boolean isEffectEdge(double bump) Returns true iff the edge between x and y is an effect edge.Returns a judgement for FGES of whether the given bump implies an effect edge.
- Specified by:
isEffectEdgein interfaceScore- Parameters:
bump- The bump.- Returns:
- True iff the edge between x and y is an effect edge.
- See Also:
-
getVariables
The variables of the score.Returns the variables for this score.
- Specified by:
getVariablesin interfaceScore- Returns:
- This list.
-
getMaxDegree
public int getMaxDegree()Returns the max degree, by default 1000.Returns an estimate of max degree of the graph for some algorithms.
- Specified by:
getMaxDegreein interfaceScore- Returns:
- The max degree.
- See Also:
-
determines
Returns true iff the score determines the edge between x and y.Return a judgment of whether the variable in z determine y exactly.
- Specified by:
determinesin interfaceScore- Parameters:
z- The set of nodes.y- The node.- Returns:
- True iff the score determines the edge between x and y.
-
setGamma
public void setGamma(double gamma) Sets the gamma parameter for EBIC.- Parameters:
gamma- The gamma parameter.
-
setUsePseudoInverse
public void setUsePseudoInverse(boolean usePseudoInverse) Returns the gamma parameter for EBIC.- Parameters:
usePseudoInverse- True if the pseudo-inverse should be used.
-