Class StructuralHammingDistance
java.lang.Object
edu.cmu.tetrad.algcomparison.statistic.StructuralHammingDistance
- All Implemented Interfaces:
Statistic, Serializable
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs the statistic.StructuralHammingDistance(boolean compareToCpdag) Constructs a StructuralHammingDistance instance with the specified comparison mode. -
Method Summary
Modifier and TypeMethodDescriptionThe abbreviation for the statistic.Returns a short one-line description of this statistic.doublegetNormValue(double value) Returns a mapping of the statistic to the interval [0, 1], with higher being better.doublegetValue(Graph trueDag, Graph trueGraph, Graph estGraph, DataModel dataModel, Parameters parameters) Calculates and returns the value of the statistic based on the provided graphs, data model, and parameters.
-
Constructor Details
-
StructuralHammingDistance
public StructuralHammingDistance()Constructs the statistic. -
StructuralHammingDistance
public StructuralHammingDistance(boolean compareToCpdag) Constructs a StructuralHammingDistance instance with the specified comparison mode.- Parameters:
compareToCpdag- A boolean flag indicating whether the Structural Hamming Distance should be calculated by comparing the estimated graph to the CPDAG (Completed Partially Directed Acyclic Graph) of the true graph. If true, the calculation uses the CPDAG; otherwise, it uses the original PDAG (Partially Directed Acyclic Graph) of the true graph.
-
-
Method Details
-
getAbbreviation
The abbreviation for the statistic. This will be printed at the top of each column.- Specified by:
getAbbreviationin interfaceStatistic- Returns:
- This abbreviation.
-
getDescription
Returns a short one-line description of this statistic. This will be printed at the beginning of the report.- Specified by:
getDescriptionin interfaceStatistic- Returns:
- This description.
-
getValue
public double getValue(Graph trueDag, Graph trueGraph, Graph estGraph, DataModel dataModel, Parameters parameters) Calculates and returns the value of the statistic based on the provided graphs, data model, and parameters.- Specified by:
getValuein interfaceStatistic- Parameters:
trueDag- The true directed acyclic graph (DAG).trueGraph- The true graph, which could be a DAG, a CPDAG, or a PAG derived from the true DAG.estGraph- The estimated graph, which corresponds to the same type as the trueGraph.dataModel- The data model, which may be null.parameters- The parameters for the calculation, which may be null.- Returns:
- The computed value of the statistic as a double.
-
getNormValue
public double getNormValue(double value) Returns a mapping of the statistic to the interval [0, 1], with higher being better. This is used for a calculation of a utility for an algorithm. If the statistic is already between 0 and 1, you can just return the statistic.- Specified by:
getNormValuein interfaceStatistic- Parameters:
value- The value of the statistic.- Returns:
- The weight of the statistic, 0 to 1, higher is better.
-