Class Rlcd
java.lang.Object
edu.cmu.tetrad.algcomparison.algorithm.other.Rlcd
- All Implemented Interfaces:
Algorithm, AcceptsKnowledge, HasParameters, PoolsImputations, TetradSerializable, Serializable
@Algorithm(name="RLCD",
command="rlcd",
algoType=search_for_structure_over_latents,
dataType=Continuous)
@Experimental
public class Rlcd
extends Object
implements Algorithm, AcceptsKnowledge, PoolsImputations
Wrapper for the RLCD algorithm (Rank-based Latent Causal Discovery; Dong et al., ICLR 2024), which learns a graph
over the observed variables and newly introduced latent variables from rank constraints on the covariance matrix.
The output graph contains the observed variables and the discovered latents, marked as latent nodes. Background
knowledge over the observed variables is honored in stage 1, restricts which observed variables may act as parents
in stage 2, and restores required observed edges; it cannot refer to the latents.
- Author:
- josephramsey
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetComparisonGraph(Graph graph) The true graph itself is used for comparison, since the output includes latent nodes.Returns the data type that the search requires, whether continuous, discrete, or mixed.Returns a short, one-line description of this algorithm.Returns a knowledge object.Returns the list of parameter names that are used.search(DataModel dataModel, Parameters parameters) Runs RLCD on a continuous data set.searchImputations(List<DataModel> imputations, Parameters parameters) Runs ONE RLCD search over several imputations of a data set with missing values; seeRlcd(List).voidsetKnowledge(Knowledge knowledge) Sets a knowledge object.
-
Constructor Details
-
Rlcd
public Rlcd()Constructs a new instance of the algorithm.
-
-
Method Details
-
search
Runs RLCD on a continuous data set. -
searchImputations
Runs ONE RLCD search over several imputations of a data set with missing values; seeRlcd(List).- Specified by:
searchImputationsin interfacePoolsImputations- Parameters:
imputations- the imputed data sets; continuous tabular data sets with the same variables and rows.parameters- the parameters.- Returns:
- the graph over observed and latent variables.
-
getComparisonGraph
The true graph itself is used for comparison, since the output includes latent nodes.- Specified by:
getComparisonGraphin interfaceAlgorithm- Parameters:
graph- the true graph.- Returns:
- a copy of it.
-
getDescription
Description copied from interface:AlgorithmReturns a short, one-line description of this algorithm. This will be printed in the report.- Specified by:
getDescriptionin interfaceAlgorithm- Returns:
- This description.
-
getDataType
Description copied from interface:AlgorithmReturns the data type that the search requires, whether continuous, discrete, or mixed.- Specified by:
getDataTypein interfaceAlgorithm- Returns:
- This type.
-
getKnowledge
Description copied from interface:AcceptsKnowledgeReturns a knowledge object.- Specified by:
getKnowledgein interfaceAcceptsKnowledge- Returns:
- a knowledge object.
-
setKnowledge
Description copied from interface:AcceptsKnowledgeSets a knowledge object.- Specified by:
setKnowledgein interfaceAcceptsKnowledge- Parameters:
knowledge- a knowledge object.
-
getParameters
Description copied from interface:HasParametersReturns the list of parameter names that are used. These are looked up in ParamMap, so if they're not- Specified by:
getParametersin interfaceHasParameters- Returns:
- Returns the list of parameter names that are used. These are looked up in ParamMap, so if they're not already defined they'll need to be defined there.
-