Class DegenerateGaussianScore

java.lang.Object
edu.cmu.tetrad.search.score.DegenerateGaussianScore
All Implemented Interfaces:
Score

public class DegenerateGaussianScore extends Object implements 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 Details

    • DegenerateGaussianScore

      public DegenerateGaussianScore(DataSet dataSet, boolean precomputeCovariances)
  • 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:
      localScore in interface Score
      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: Score
      Returns the score difference of the graph.
      Specified by:
      localScoreDiff in interface Score
      Parameters:
      x - A node.
      y - TAhe node.
      z - A set of nodes.
      Returns:
      The score difference.
    • getVariables

      public List<Node> getVariables()
      Description copied from interface: Score
      The variables of the score.
      Specified by:
      getVariables in interface Score
      Returns:
      This list.
    • isEffectEdge

      public boolean isEffectEdge(double bump)
      Description copied from interface: Score
      Returns true iff the edge between x and y is an effect edge.
      Specified by:
      isEffectEdge in interface Score
      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: Score
      The sample size of the data.
      Specified by:
      getSampleSize in interface Score
      Returns:
      This size.
    • getMaxDegree

      public int getMaxDegree()
      Description copied from interface: Score
      Returns the max degree, by default 1000.
      Specified by:
      getMaxDegree in interface Score
      Returns:
      The max degree.
    • toString

      public String toString()
      Description copied from interface: Score
      A string representation of the score.
      Specified by:
      toString in interface Score
      Overrides:
      toString in class Object
      Returns:
      This string.
    • getPenaltyDiscount

      public double getPenaltyDiscount()
    • setPenaltyDiscount

      public void setPenaltyDiscount(double penaltyDiscount)