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)
      Constructs the score using a dataset.
      Parameters:
      dataSet - The dataset.
      precomputeCovariances - True if covariances should be precomputed.
  • 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)
      Calculates localScore(y | z, x) - localScore(z).
      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()
      Returns the list of variables.
      Specified by:
      getVariables in interface Score
      Returns:
      The list of variables.
    • isEffectEdge

      public boolean isEffectEdge(double bump)
      True if an edge with the given bump is an effect edge.
      Specified by:
      isEffectEdge in interface Score
      Parameters:
      bump - The bump.
      Returns:
      True if so.
    • getSampleSize

      public int getSampleSize()
      Returns the sample sizE.
      Specified by:
      getSampleSize in interface Score
      Returns:
      The sample size.
    • getMaxDegree

      public int getMaxDegree()
      Returns the max degree.
      Specified by:
      getMaxDegree in interface Score
      Returns:
      The max degree.
    • toString

      public String toString()
      Returns a string for this object.
      Specified by:
      toString in interface Score
      Overrides:
      toString in class Object
      Returns:
      The string.
    • getPenaltyDiscount

      public double getPenaltyDiscount()
      Returns the penalty discount.
      Returns:
      The penalty discount.
    • setPenaltyDiscount

      public void setPenaltyDiscount(double penaltyDiscount)
      Sets the penalty discount.
      Parameters:
      penaltyDiscount - The penalty discount.