Package edu.cmu.tetrad.search.score
Class ImagesScore
java.lang.Object
edu.cmu.tetrad.search.score.ImagesScore
- All Implemented Interfaces:
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 constructor. 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 the scores share the same (object-identical) variables.
As for all scores in Tetrad, higher scores mean more dependence, and negative scores indicate independence.
-
Constructor Summary
ConstructorsConstructorDescriptionImagesScore
(List<Score> scores) Constructs an IMaGES score using the given list of individual scores. -
Method Summary
Modifier and TypeMethodDescriptionboolean
determines
(List<Node> z, Node y) 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 a judgment for FGES whether a score with the bump is for 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) 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
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
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 interfaceScore
- 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 interfaceScore
- Parameters:
i
- The variable whose score is needed.parents
- The parents.- Returns:
- This score.
-
localScore
public double localScore(int i, int[] parents, int index) 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).- Parameters:
i
- The variable whose score is needed.parents
- The indices of the parents.index
- The index of the score to use.- Returns:
- This score.
-
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 interfaceScore
- 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 interfaceScore
- Parameters:
i
- The variable whose score is needed.- Returns:
- This score.
-
isEffectEdge
public boolean isEffectEdge(double bump) Returns a judgment for FGES whether a score with the bump is for an effect edge.- Specified by:
isEffectEdge
in interfaceScore
- Parameters:
bump
- The bump.- Returns:
- True if so.
-
getVariables
Returns the variables.- Specified by:
getVariables
in interfaceScore
- Returns:
- This list.
-
getSampleSize
public int getSampleSize()Returns the sample size from the first score.- Specified by:
getSampleSize
in interfaceScore
- Returns:
- This size.
-
getMaxDegree
public int getMaxDegree()Returns the max degree from teh first score.- Specified by:
getMaxDegree
in interfaceScore
- Returns:
- This maximum.
-
determines
Returns the 'determines' judgment from the first score.- Specified by:
determines
in interfaceScore
- Parameters:
z
- The set of variables.y
- The variable.- Returns:
- This judgment, true if the 'determine' relations holds.
-