Package edu.cmu.tetrad.search
Class ZhangShenBoundTest
java.lang.Object
edu.cmu.tetrad.search.ZhangShenBoundTest
- All Implemented Interfaces:
Score
Implements the continuous BIC score for FGES.
- Author:
- Joseph Ramsey
-
Constructor Summary
ConstructorsConstructorDescriptionZhangShenBoundTest
(DataSet dataSet) Constructs the score using a covariance matrix.ZhangShenBoundTest
(ICovarianceMatrix covariances) Constructs the score using a covariance matrix. -
Method Summary
Modifier and TypeMethodDescriptionstatic @NotNull Matrix
boolean
determines
(List<Node> z, Node y) int
static double
getP
(int pn, int m0, double lambda) double
int
getVariable
(String targetName) static double
getVarRy
(int i, int[] parents, Matrix data, ICovarianceMatrix covariances, boolean calculateRowSubsets, boolean calculateSquareEuclideanNorms) boolean
boolean
isEffectEdge
(double bump) boolean
double
localScore
(int i) Specialized scoring method for no parents.double
localScore
(int i, int parent) Specialized scoring method for a single parent.double
localScore
(int i, int... parents) double
localScoreDiff
(int x, int y) double
localScoreDiff
(int x, int y, int[] z) void
setCalculateSquaredEuclideanNorms
(boolean calculateSquaredEuclideanNorms) void
setChanged
(boolean b) void
setCorrelationThreshold
(double correlationThreshold) void
setPenaltyDiscount
(double penaltyDiscount) void
setRiskBound
(double riskBound) void
setTakeLog
(boolean takeLog) void
setTrueErrorVariance
(double trueErrorVariance) void
setVerbose
(boolean verbose) static double
zhangShenLambda
(int pn, int m0, double riskBound) 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
defaultScore, toString
-
Constructor Details
-
ZhangShenBoundTest
Constructs the score using a covariance matrix. -
ZhangShenBoundTest
Constructs the score using a covariance matrix.
-
-
Method Details
-
localScoreDiff
public double localScoreDiff(int x, int y, int[] z) - Specified by:
localScoreDiff
in interfaceScore
-
localScoreDiff
public double localScoreDiff(int x, int y) - Specified by:
localScoreDiff
in interfaceScore
-
localScore
- Specified by:
localScore
in interfaceScore
- Parameters:
i
- The index of the node.parents
- The indices of the node's parents.- Returns:
- The score, or NaN if the score cannot be calculated.
- Throws:
RuntimeException
-
getVarRy
public static double getVarRy(int i, int[] parents, Matrix data, ICovarianceMatrix covariances, boolean calculateRowSubsets, boolean calculateSquareEuclideanNorms) -
zhangShenLambda
public static double zhangShenLambda(int pn, int m0, double riskBound) -
getP
public static double getP(int pn, int m0, double lambda) -
bStar
-
localScore
public double localScore(int i, int parent) Specialized scoring method for a single parent. Used to speed up the effect edges search.- Specified by:
localScore
in interfaceScore
-
localScore
public double localScore(int i) Specialized scoring method for no parents. Used to speed up the effect edges search.- Specified by:
localScore
in interfaceScore
-
getCovariances
-
getSampleSize
public int getSampleSize()- Specified by:
getSampleSize
in interfaceScore
-
isEffectEdge
public boolean isEffectEdge(double bump) - Specified by:
isEffectEdge
in interfaceScore
-
isVerbose
public boolean isVerbose() -
setVerbose
public void setVerbose(boolean verbose) -
getVariables
- Specified by:
getVariables
in interfaceScore
-
getVariable
- Specified by:
getVariable
in interfaceScore
-
getMaxDegree
public int getMaxDegree()- Specified by:
getMaxDegree
in interfaceScore
-
determines
- Specified by:
determines
in interfaceScore
-
setCalculateSquaredEuclideanNorms
public void setCalculateSquaredEuclideanNorms(boolean calculateSquaredEuclideanNorms) -
isChanged
public boolean isChanged() -
setChanged
public void setChanged(boolean b) -
setPenaltyDiscount
public void setPenaltyDiscount(double penaltyDiscount) -
getPenaltyDiscount
public double getPenaltyDiscount() -
setRiskBound
public void setRiskBound(double riskBound) -
setCorrelationThreshold
public void setCorrelationThreshold(double correlationThreshold) -
setTakeLog
public void setTakeLog(boolean takeLog) -
setTrueErrorVariance
public void setTrueErrorVariance(double trueErrorVariance)
-