Class LvBossExperimental

java.lang.Object
edu.cmu.tetrad.algcomparison.algorithm.AbstractBootstrapAlgorithm
edu.cmu.tetrad.algcomparison.algorithm.oracle.pag.LvBossExperimental
All Implemented Interfaces:
Algorithm, ReturnsBootstrapGraphs, TakesCovarianceMatrix, HasParameters, TetradSerializable, Serializable

Wrapper for LV-BOSS: the fully score-based latent-variable search that embeds a MAG projection inside a BOSS-style search over orders, scored by the exact RICF Gaussian MAG BIC (MagRicfBicScorer). No independence test and no separate score are taken; the scorer is built from the data (a continuous data set or a covariance matrix) with the shared penalty discount.

The search returns an ancestral graph. When that graph is a legal MAG -- the usual case -- its PAG is reported, so the output is comparable with the other algorithms in this family. When the score prefers a graph that is not a legal MAG (possible on latent projections, whose distributions can satisfy rank-type constraints that let a sparser, non-maximal ancestral graph fit with fewer parameters), the ancestral graph itself is returned and a note is logged; that choice is a design call and can be revisited.

Experimental; knowledge is not supported. See the LV-BOSS stage notes for the oracle and finite-sample evidence and the honest limitations (no consistency theorem; the true MAG is not always the BIC-optimal ancestral graph even in the population).

Author:
josephramsey
See Also:
  • Constructor Details

    • LvBossExperimental

      public LvBossExperimental()
      Constructs the wrapper. Used for reflection; do not delete it.
  • Method Details

    • runSearch

      public Graph runSearch(DataModel dataModel, Parameters parameters)
      Runs LV-BOSS on the given data model.
      Parameters:
      dataModel - a continuous data set or a covariance matrix.
      parameters - the parameters.
      Returns:
      the PAG of the found MAG, or the found ancestral graph itself when it is not a legal MAG (logged).
    • getComparisonGraph

      public Graph getComparisonGraph(Graph graph)
      Retrieves a comparison graph by transforming a true directed graph into a PAG.
      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 a short, one-line description of this algorithm.
      Specified by:
      getDescription in interface Algorithm
      Returns:
      the description.
    • getDataType

      public DataType getDataType()
      Retrieves the data type required by the search algorithm.
      Specified by:
      getDataType in interface Algorithm
      Returns:
      continuous.
    • getParameters

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