java.lang.Object
edu.cmu.tetrad.algcomparison.algorithm.AbstractBootstrapAlgorithm
edu.cmu.tetrad.algcomparison.algorithm.continuous.dag.Dagma
All Implemented Interfaces:
Algorithm, ReturnsBootstrapGraphs, HasParameters, TetradSerializable, Serializable

Implements the DAGMA algorithm. The reference is here:

Bello, K., Aragam, B., & Ravikumar, P. (2022). Dagma: Learning dags via m-matrices and a log-determinant acyclicity characterization. Advances in Neural Information Processing Systems, 35, 8226-8239.

Version:
$Id: $Id
Author:
bryanandrews
See Also:
  • Constructor Details

    • Dagma

      public Dagma()

      Constructor for Dagma.

  • Method Details

    • runSearch

      public Graph runSearch(DataModel dataModel, Parameters parameters)
      Runs the DAGMA algorithm to search for a directed acyclic graph (DAG) in the given data model with the specified parameters.
      Parameters:
      dataModel - The data model to search.
      parameters - The parameters for the DAGMA algorithm.
      Returns:
      The resulting graph, which represents a DAG.
      Throws:
      IllegalArgumentException - If the data model is not a continuous dataset.
    • getComparisonGraph

      public Graph getComparisonGraph(Graph graph)
      Retrieves the comparison graph for the given true directed graph.
      Specified by:
      getComparisonGraph in interface Algorithm
      Parameters:
      graph - The true directed graph, if there is one.
      Returns:
      The comparison graph.
    • getDescription

      public String getDescription()
      Returns the description of the DAGMA algorithm.
      Specified by:
      getDescription in interface Algorithm
      Returns:
      the description of the DAGMA algorithm
    • getDataType

      public DataType getDataType()
      Retrieves the data type of the algorithm's output.
      Specified by:
      getDataType in interface Algorithm
      Returns:
      The data type of the algorithm's output.
    • getParameters

      public List<String> getParameters()
      Retrieves the list of parameters used by the algorithm.
      Specified by:
      getParameters in interface HasParameters
      Returns:
      A list of strings representing the parameters used by the algorithm.