Class Fofc

java.lang.Object
edu.cmu.tetrad.search.Fofc

public class Fofc extends Object
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
    Constructor
    Description
    Fofc(DataSet dataSet, int testType, double alpha)
    Conctructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    The clusters that are output by the algorithm from the last call to search().
    Runs the search and returns a graph of clusters with the ir respective latent parents.
    void
    setIncludeAllNodes(boolean includeAllNodes)
    Indicates whether all nodes should be included in the graph construction or processing.
    void
    setVerbose(boolean verbose)
    Setter for the field verbose.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Fofc

      public Fofc(DataSet dataSet, int testType, double alpha)
      Conctructor.
      Parameters:
      dataSet - The continuous dataset searched over.
      testType - The type of test used. 1 = CCA, 2 = Bollen-Ting, 3 = Wishart
      alpha - The alpha significance cutoff.
  • Method Details

    • search

      public Graph search()
      Runs the search and returns a graph of clusters with the ir respective latent parents.
      Returns:
      This graph.
    • getClusters

      public List<List<Node>> getClusters()
      The clusters that are output by the algorithm from the last call to search().
      Returns:
      a List object
    • 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.