Class DegenerateGaussianScore
- All Implemented Interfaces:
Score
This implements the degenerate Gaussian BIC score for FGES. The degenerate Gaussian score replaces each discrete variable in the data with a list of 0/1 continuous indicator columns for each of the categories but one (the last one implied). This data, now all continuous, is given to the SEM BIC score and methods used to help determine conditional independence for the mixed continuous/discrete case from this information. The references is as follows:
Andrews, B., Ramsey, J., & Cooper, G. F. (2019, July). Learning high-dimensional directed acyclic graphs with mixed data-types. In The 2019 ACM SIGKDD Workshop on Causal Discovery (pp. 4-21). PMLR.
As for all scores in Tetrad, higher scores mean more dependence, and negative scores indicate independence.
- Author:
- Bryan Andrews
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintReturns the max degree, by default 1000.doubleintThe sample size of the data.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) Calculates the sample likelihood and BIC score for i given its parents in a simple SEM model.doublelocalScoreDiff(int x, int y, int[] z) Returns the score difference of the graph.voidsetPenaltyDiscount(double penaltyDiscount) toString()A string representation of the 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
-
DegenerateGaussianScore
-
-
Method Details
-
localScore
public double localScore(int i, int... parents) Calculates the sample likelihood and BIC score for i given its parents in a simple SEM model. s- Specified by:
localScorein interfaceScore- Parameters:
i- The child indes.parents- The indices of the parents.- Returns:
- The score.
-
localScoreDiff
public double localScoreDiff(int x, int y, int[] z) Description copied from interface:ScoreReturns the score difference of the graph.- Specified by:
localScoreDiffin interfaceScore- Parameters:
x- A node.y- TAhe node.z- A set of nodes.- Returns:
- The score difference.
-
getVariables
Description copied from interface:ScoreThe variables of the score.- Specified by:
getVariablesin interfaceScore- Returns:
- This list.
-
isEffectEdge
public boolean isEffectEdge(double bump) Description copied from interface:ScoreReturns true iff the edge between x and y is an effect edge.- Specified by:
isEffectEdgein interfaceScore- Parameters:
bump- The bump.- Returns:
- True iff the edge between x and y is an effect edge.
-
getSampleSize
public int getSampleSize()Description copied from interface:ScoreThe sample size of the data.- Specified by:
getSampleSizein interfaceScore- Returns:
- This size.
-
getMaxDegree
public int getMaxDegree()Description copied from interface:ScoreReturns the max degree, by default 1000.- Specified by:
getMaxDegreein interfaceScore- Returns:
- The max degree.
-
toString
Description copied from interface:ScoreA string representation of the score. -
getPenaltyDiscount
public double getPenaltyDiscount() -
setPenaltyDiscount
public void setPenaltyDiscount(double penaltyDiscount)
-