Package edu.cmu.tetrad.search
Class Fofc
java.lang.Object
edu.cmu.tetrad.search.Fofc
Implements the Find One Factor Clusters (FOFC) algorithm by Erich Kummerfeld, which uses reasoning about vanishing
tetrads of algorithms to infer clusters of the measured variables in a dataset that each be explained by a single
latent variable. A reference is the following
Kummerfeld, E., & Ramsey, J. (2016, August). Causal clustering for 1-factor measurement models. In Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining (pp. 1655-1664).
The algorithm uses tests of vanishing tetrads (list of 4 variables that follow a certain pattern in the exchangeability of latent paths with respect to the data). The notion of vanishing tetrads is an old one but is explained in this book:
Spirtes, P., Glymour, C. N., Scheines, R., & Heckerman, D. (2000). Causation, prediction, and search. MIT press.
- Version:
- $Id: $Id
- Author:
- erichkummerfeld, peterspirtes, josephramsey
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionThe clusters that are output by the algorithm from the last call to search().search()Runs the search and returns a graph of clusters with the ir respective latent parents.voidsetIncludeAllNodes(boolean includeAllNodes) Indicates whether all nodes should be included in the graph construction or processing.voidsetVerbose(boolean verbose) Setter for the fieldverbose.
-
Constructor Details
-
Fofc
Conctructor.- Parameters:
dataSet- The continuous dataset searched over.testType- The type of test used. 1 = CCA, 2 = Bollen-Ting, 3 = Wishartalpha- The alpha significance cutoff.
-
-
Method Details
-
search
Runs the search and returns a graph of clusters with the ir respective latent parents.- Returns:
- This graph.
-
getClusters
The clusters that are output by the algorithm from the last call to search().- Returns:
- a
Listobject
-
setVerbose
public void setVerbose(boolean verbose) Setter for the field
verbose.- Parameters:
verbose- a boolean
-
setIncludeAllNodes
public void setIncludeAllNodes(boolean includeAllNodes) Indicates whether all nodes should be included in the graph construction or processing. When set to true, the algorithm will incorporate all nodes into the resulting graph, regardless of specific clustering or filtering criteria. If false, only nodes that meet specific clustering or filtering conditions will be included.- Parameters:
includeAllNodes- True if all nodes should be included in the graph output.
-