Class ImagesScore

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

public class ImagesScore extends Object implements Score

Implements a score to average results over multiple scores. This is used for the IMaGES algorithm. The idea is that one pick and algorithm that takes (only) a score as input, such as FGES or GRaSP or BOSS, and then constructs an ImagesScore (which class) with a list of datasets as input, using same object-identical variables, and feeds this Images score to this algorithm through the contructor. One then runs the algorithm to get an estimate of the structure.

Importantly, only the variables from the first score will be returned from the getVariables method, so it is up to the user to ensure that all of the scores share the same (object-identical) variables.

As for all scores in Tetrad, higher scores mean more dependence, and negative scores indicate independence.

Author:
josephramsey
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs an IMaGES score using the given list of individual scores.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns the 'determines' judgment from the first score.
    int
    Returns the max degree from teh first score.
    int
    Returns the sample size from the first score.
    Returns the variables.
    boolean
    isEffectEdge(double bump)
    Returns true iff the edge between x and y is an effect edge.
    double
    localScore(int i)
    Returns the (aggregate) local node score, which is obtained by averaging the local scores obtained from each individual score provided in the constructor, excluding scores that are returned as undefined (which are left out of the average).
    double
    localScore(int i, int parent)
    Returns the (aggregate) local score for a variable given one of its parents, which is obtained by averaging the local such scores obtained from each individual score provided in the constructor, excluding scores that are returned as undefined (which are left out of the average).
    double
    localScore(int i, int[] parents)
    Returns the (aggregate) local score for a variable given its parents, which is obtained by averaging the local such scores obtained from each individual score provided in the constructor, excluding scores that are returned as undefined (which are left out of the average).
    double
    localScore(int i, int[] parents, int index)
     
    double
    localScoreDiff(int x, int y, int[] z)
    Returns the average of the individual scores returned from each component score from their localScoreDiff methods.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface edu.cmu.tetrad.search.score.Score

    append, getVariable, localScoreDiff, toString
  • Constructor Details

    • ImagesScore

      public ImagesScore(List<Score> scores)
      Constructs an IMaGES score using the given list of individual scores. These scores will be averaged to obtain the IMaGES score itself.
      Parameters:
      scores - The list of scores.
  • Method Details

    • localScoreDiff

      public double localScoreDiff(int x, int y, int[] z)
      Returns the average of the individual scores returned from each component score from their localScoreDiff methods. Score differences that are returned as undefined (NaN) are excluded from the average.
      Specified by:
      localScoreDiff in interface Score
      Parameters:
      x - A node.
      y - TAhe node.
      z - A set of nodes.
      Returns:
      This average score.
    • localScore

      public double localScore(int i, int[] parents)
      Returns the (aggregate) local score for a variable given its parents, which is obtained by averaging the local such scores obtained from each individual score provided in the constructor, excluding scores that are returned as undefined (which are left out of the average).
      Specified by:
      localScore in interface Score
      Parameters:
      i - The variable whose score is needed.
      parents - The parents.
      Returns:
      This score.
    • localScore

      public double localScore(int i, int[] parents, int index)
    • localScore

      public double localScore(int i, int parent)
      Returns the (aggregate) local score for a variable given one of its parents, which is obtained by averaging the local such scores obtained from each individual score provided in the constructor, excluding scores that are returned as undefined (which are left out of the average).
      Specified by:
      localScore in interface Score
      Parameters:
      i - The variable whose score is needed.
      parent - A parent.
      Returns:
      This score.
    • localScore

      public double localScore(int i)
      Returns the (aggregate) local node score, which is obtained by averaging the local scores obtained from each individual score provided in the constructor, excluding scores that are returned as undefined (which are left out of the average).
      Specified by:
      localScore in interface Score
      Parameters:
      i - The variable whose score is needed.
      Returns:
      This score.
    • 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.
    • getVariables

      public List<Node> getVariables()
      Returns the variables.
      Specified by:
      getVariables in interface Score
      Returns:
      This list.
    • getSampleSize

      public int getSampleSize()
      Returns the sample size from the first score.
      Specified by:
      getSampleSize in interface Score
      Returns:
      This size.
    • getMaxDegree

      public int getMaxDegree()
      Returns the max degree from teh first score.
      Specified by:
      getMaxDegree in interface Score
      Returns:
      This maximum.
    • determines

      public boolean determines(List<Node> z, Node y)
      Returns the 'determines' judgment from the first score.
      Specified by:
      determines in interface Score
      Parameters:
      z - The set of nodes.
      y - The node.
      Returns:
      This judgment, true if the 'determine' relations holds.