Class Bpc

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

public final class Bpc extends Object
Implements the Build Pure Clusters (BPC) algorithm, which allows one to identify clusters of measured variables in a dataset that are explained by a single latent. The algorithm outputs these clusters, which can then be used for further analysis, such as inferring structure over the latents. For the latter, see for instance the MimBuild algorithm.

The reference for BPC is this:

Silva, R., Scheines, R., Glymour, C., Spirtes, P., & Chickering, D. M. (2006). Learning the Structure of Linear Latent Variable Models. Journal of Machine Learning Research, 7(2).

For a more detailed description of the algorithm, see the paper above. The algorithm is based on the idea of finding cliques in the graph of the covariance matrix. The algorithm is initialized by finding all maximal cliques in the graph of the covariance matrix. Then, the algorithm iterates over the cliques, and for each clique, it tests whether the clique is explained by a single latent. If so, the clique is added to the set of clusters. If not, the clique is partitioned into smaller cliques, and the process is repeated for each of the smaller cliques. The algorithm stops when all cliques have been tested.

Some more References:

Silva, R.; Scheines, R.; Spirtes, P.; Glymour, C. (2003). "Learning measurement models". Technical report CMU-CALD-03-100, Center for Automated Learning and Discovery, Carnegie Mellon University.

Bollen, K. (1990). "Outlier screening and distribution-free test for vanishing tetrads." Sociological Methods and Research 19, 80-92.

Wishart, J. (1928). "Sampling errors in the theory of two factors". British Journal of Psychology 19, 180-187.

Bron, C. and Kerbosch, J. (1973) "Algorithm 457: Finding all cliques of an undirected graph". Communications of ACM 16, 575-577.

This class is not configured to respect knowledge of forbidden and required edges.

Version:
$Id: $Id
Author:
Ricardo Silva
See Also: