Package edu.cmu.tetrad.search.blocks
Class BlockDiscoverers
java.lang.Object
edu.cmu.tetrad.search.blocks.BlockDiscoverers
A utility class providing static factory methods for creating instances of various
BlockDiscoverer
implementations. Each implementation represents a specific algorithm for discovering clusters or "blocks" of indices
in a dataset, based on provided data, statistical criteria, and algorithm-specific parameters.
This class is immutable and cannot be instantiated.
-
Method Summary
Modifier and TypeMethodDescriptionstatic BlockDiscovererbpc(DataSet data, double alpha, int ess, SingleClusterPolicy policy, boolean verbose) Constructs aBpcBlockDiscovererinstance, which implements the BPC algorithm for discovering clusters or "blocks" of indices in a dataset.static BlockDiscovererfofc(DataSet data, double alpha, int ess, SingleClusterPolicy policy, boolean verbose) Creates a new instance of aFofcBlockDiscoverer, which is an implementation of theBlockDiscovererinterface.static BlockDiscovererftfc(DataSet data, double alpha, int ess, SingleClusterPolicy policy, boolean verbose) Constructs aFtfcBlockDiscovererinstance, which implements the FTFC algorithm for discovering clusters or "blocks" of indices in a dataset.static BlockDiscoverergffc(DataSet data, double alpha, int ess, int rMax, SingleClusterPolicy policy, boolean verbose) Constructs aGffcBlockDiscovererinstance, which implements the GFFC algorithm for discovering clusters or "blocks" of indices in a dataset.static BlockDiscoverertsc(DataSet data, double alpha, int ess, double ridge, int rMax, SingleClusterPolicy policy, int minRedundancy, boolean verbose) Creates a new instance of aTscTestBlockDiscoverer, which is an implementation of theBlockDiscovererinterface.
-
Method Details
-
bpc
public static BlockDiscoverer bpc(DataSet data, double alpha, int ess, SingleClusterPolicy policy, boolean verbose) Constructs aBpcBlockDiscovererinstance, which implements the BPC algorithm for discovering clusters or "blocks" of indices in a dataset. The BPC algorithm utilizes statistical criteria and configurable parameters to identify meaningful groupings of variables within the data.- Parameters:
data- the dataset on which the block discovery algorithm will operatealpha- the significance level for the statistical tests, typically a value between 0 and 1ess- the equivalent sample size, determining the strength of prior information in scoringpolicy- the single-cluster policy applied to manage how individual clusters or blocks are processedverbose- a flag indicating whether verbose output is enabled for debugging or detailed logs- Returns:
- a
BpcBlockDiscovererinstance configured with the specified parameters
-
fofc
public static BlockDiscoverer fofc(DataSet data, double alpha, int ess, SingleClusterPolicy policy, boolean verbose) Creates a new instance of aFofcBlockDiscoverer, which is an implementation of theBlockDiscovererinterface. This method utilizes the FOFC algorithm to discover clusters or "blocks" of indices in a dataset based on statistical criteria and additional configurable parameters. The FOFC algorithm is designed to identify meaningful groupings of variables or features in the data, using parameters such as statistical significance level, equivalent sample size, and a policy for managing single-cluster constraints.- Parameters:
data- the dataset on which the block discovery algorithm will operatealpha- the significance level used in the statistical tests, typically a value between 0 and 1ess- the equivalent sample size, controlling the strength of prior information in scoringpolicy- the single-cluster policy applied to manage how individual clusters or blocks are processedverbose- a flag indicating whether verbose output is enabled for debugging or detailed logs- Returns:
- a
FofcBlockDiscovererinstance configured with the specified parameters
-
ftfc
public static BlockDiscoverer ftfc(DataSet data, double alpha, int ess, SingleClusterPolicy policy, boolean verbose) Constructs aFtfcBlockDiscovererinstance, which implements the FTFC algorithm for discovering clusters or "blocks" of indices in a dataset. The FTFC algorithm uses statistical measures and configurable parameters to identify meaningful groupings of variables within the data.- Parameters:
data- the dataset on which the block discovery algorithm will operatealpha- the significance level for the statistical tests, typically a value between 0 and 1ess- the equivalent sample size, which determines the strength of prior information used in scoringpolicy- the single-cluster policy applied to manage how individual clusters or blocks are processedverbose- a flag indicating whether verbose output is enabled for debugging or detailed logs- Returns:
- a
FtfcBlockDiscovererinstance configured with the specified parameters
-
gffc
public static BlockDiscoverer gffc(DataSet data, double alpha, int ess, int rMax, SingleClusterPolicy policy, boolean verbose) Constructs aGffcBlockDiscovererinstance, which implements the GFFC algorithm for discovering clusters or "blocks" of indices in a dataset. The GFFC algorithm utilizes statistical measures, configurable parameters, and constraints to identify meaningful groupings of variables within the data.- Parameters:
data- the dataset on which the block discovery algorithm will operatealpha- the significance level for the statistical tests, typically a value between 0 and 1ess- the equivalent sample size, determining the strength of prior information in scoringrMax- the maximum size of the clusters or blocks to consider during the discovery processpolicy- the single-cluster policy applied to manage clusters or blocks during the processverbose- a flag indicating whether verbose output is enabled for debugging or detailed logs- Returns:
- a
GffcBlockDiscovererinstance configured with the specified parameters
-
tsc
public static BlockDiscoverer tsc(DataSet data, double alpha, int ess, double ridge, int rMax, SingleClusterPolicy policy, int minRedundancy, boolean verbose) Creates a new instance of aTscTestBlockDiscoverer, which is an implementation of theBlockDiscovererinterface. This method utilizes the TSC algorithm to discover clusters or "blocks" of indices based on the provided dataset and statistical criteria.The TSC algorithm is designed to perform block discovery using specific parameters such as statistical significance level, equivalent sample size, a ridge regularization value, redundancy constraints, and a maximum block size.
- Parameters:
data- the dataset on which the block discovery algorithm will operatealpha- the significance level used in statistical tests, typically between 0 and 1ess- the equivalent sample size, controlling the strength of prior information in scoringridge- the ridge regularization parameter used to stabilize covariance matrix calculationsrMax- the maximum size of the blocks to consider during the discovery processpolicy- the single-cluster policy applied to manage how clusters or blocks are processedminRedundancy- the minimum redundancy threshold to ensure the quality of the discovered blocksverbose- a flag indicating whether verbose output is enabled for debugging or detailed logs- Returns:
- a
TscTestBlockDiscovererinstance configured with the specified parameters
-