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 Summary

    Constructors
    Constructor
    Description
    The TwoCycleTruePositive class represents a statistic that calculates the number of true positives for 2-cycles in both the true and estimated graphs.
  • Method Summary

    Modifier and Type
    Method
    Description
    The abbreviation for the statistic.
    Returns a short one-line description of this statistic.
    double
    getNormValue(double value)
    Returns a mapping of the statistic to the interval [0, 1], with higher being better.
    double
    getValue(Graph trueGraph, Graph estGraph, DataModel dataModel)
    Returns the value of this statistic, given the true graph and the estimated graph.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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:
      Thsi 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)
      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.
      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.