Class TwoCycleTruePositive

java.lang.Object
edu.cmu.tetrad.algcomparison.statistic.TwoCycleTruePositive
All Implemented Interfaces:
Statistic, Serializable

public class TwoCycleTruePositive extends Object implements Statistic
The 2-cycle precision. This counts 2-cycles manually, wherever they occur in the graphs. The true positives are the number of 2-cycles in both the true and estimated graphs. Thus, if the true does not contains X->Y,Y->X and estimated graph does contain it, one false positive is counted.
Version:
$Id: $Id
Author:
josephramsey, rubens (November 2016)
See Also:
  • Constructor Details

    • TwoCycleTruePositive

      public TwoCycleTruePositive()
      The TwoCycleTruePositive class represents a statistic that calculates the number of true positives for 2-cycles in both the true and estimated graphs. It is a measure of the accuracy of the estimated 2-cycle relationships.

      The calculation is performed by creating an ArrowConfusion object with the true and estimated graphs, and then retrieving the number of 2-cycle true positives using the getTwoCycleTp() method of the ArrowConfusion object.

      Example usage:

      // Creating a TwoCycleTruePositive object TwoCycleTruePositive tctp = new TwoCycleTruePositive();

      // Obtaining the 2-cycle true positive value for a given true graph, estimated graph, and data model double twoCycleTp = tctp.getValue(trueGraph, estGraph, dataModel);

      Note: This class implements the Statistic interface and provides the required methods getAbbreviation() and getDescription(). It also provides a default constructor, which takes no parameters.

      See Also:
  • Method Details

    • getAbbreviation

      public String getAbbreviation()
      The abbreviation for the statistic. This will be printed at the top of each column.
      Specified by:
      getAbbreviation in interface Statistic
      Returns:
      This abbreviation.
    • getDescription

      public String getDescription()
      Returns a short one-line description of this statistic. This will be printed at the beginning of the report.
      Specified by:
      getDescription in interface Statistic
      Returns:
      This description.
    • getValue

      public double getValue(Graph trueGraph, Graph estGraph, DataModel dataModel, Parameters parameters)
      Returns the value of this statistic, given the true graph and the estimated graph.
      Specified by:
      getValue in interface Statistic
      Parameters:
      trueGraph - The true graph (DAG, CPDAG, PAG_of_the_true_DAG).
      estGraph - The estimated graph (same type).
      dataModel - The data model (can be null).
      parameters - The parameters (can be null).
      Returns:
      The value of the statistic.
    • 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:
      getNormValue in interface Statistic
      Parameters:
      value - The value of the statistic.
      Returns:
      The weight of the statistic, 0 to 1, higher is better.