Class MvpScore

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

public class MvpScore extends Object implements Score
Implements a mixed variable polynomial BIC score. The reference is here:

Andrews, B., Ramsey, J., & Cooper, G. F. (2018). Scoring Bayesian networks of mixed variables. International journal of data science and analytics, 6, 3-18.

Version:
$Id: $Id
Author:
Bryan Andrews
  • Constructor Details

    • MvpScore

      public MvpScore(DataSet dataSet, double structurePrior, int fDegree, boolean discretize, int effectiveSampleSize)
      Constructs an MvpScore instance with the given dataset and parameters.
      Parameters:
      dataSet - The dataset to be used for scoring. Must not be null.
      structurePrior - The prior over structures, influencing the scoring model.
      fDegree - The degree of freedom adjustment for the scoring algorithm.
      discretize - Whether the data should be discretized (true) or not (false).
      effectiveSampleSize - The effective sample size to be used; if less than 0, the actual sample size of the dataset is used.
      Throws:
      NullPointerException - If the dataSet is null.
  • Method Details

    • localScore

      public double localScore(int i, int... parents)
      The local score of the child given its parents.
      Specified by:
      localScore in interface Score
      Parameters:
      i - The child.
      parents - The parents.
      Returns:
      The local score.
    • localScoreDiff

      public double localScoreDiff(int x, int y, int[] z)
      Returns localScore(y | z, x) - localScore(y | z).
      Specified by:
      localScoreDiff in interface Score
      Parameters:
      x - A node.
      y - The node.
      z - A set of nodes.
      Returns:
      The score difference.
    • getSampleSize

      public int getSampleSize()
      Returns the sample size.
      Specified by:
      getSampleSize in interface Score
      Returns:
      This size.
    • isEffectEdge

      public boolean isEffectEdge(double bump)
      Returns true iff the edge between x and y is an effect edge.

      A method for FGES returning a judgment of whether an edge with a given bump counts as a 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.
      See Also:
    • getVariables

      public List<Node> getVariables()
      The variables of the score.

      Returns the list of variables.

      Specified by:
      getVariables in interface Score
      Returns:
      This list.
    • getMaxDegree

      public int getMaxDegree()
      Returns the max degree, by default 1000.

      Returns an estimate of the maximum degree of the graph for some algorithms.

      Specified by:
      getMaxDegree in interface Score
      Returns:
      The max degree.
    • determines

      public boolean determines(List<Node> z, Node y)
      Returns true iff the score determines the edge between x and y.

      Returns a judgment of whether the variable in z determine y exactly.

      Specified by:
      determines in interface Score
      Parameters:
      z - The set of nodes.
      y - The node.
      Returns:
      True iff the score determines the edge between x and y.