Class FciCyclicPw
java.lang.Object
edu.cmu.tetrad.algcomparison.algorithm.AbstractBootstrapAlgorithm
edu.cmu.tetrad.algcomparison.algorithm.oracle.pag.FciCyclicPw
- All Implemented Interfaces:
Algorithm, LatentStructureAlgorithm, ReturnsBootstrapGraphs, TakesCovarianceMatrix, HasParameters, TakesIndependenceWrapper, TetradSerializable, Serializable
@Bootstrapping
public class FciCyclicPw
extends AbstractBootstrapAlgorithm
implements Algorithm, TakesIndependenceWrapper, ReturnsBootstrapGraphs, TakesCovarianceMatrix, LatentStructureAlgorithm
FCI-CPW: Run FCI with internally constructed PW-forbidden knowledge, then orient edges
using a pairwise left-right rule on standardized data in cases that are safe under
no-selection-bias cyclic semantics:
- Tail–tail (—) edges
- Orient per pairwise rule.
- Tail–circle (—o) edges
- If pairwise prefers x→y, set x→y (symmetrically, if prefers y→x, set y→x).
- Circle–circle (o–o) edges
- If pairwise prefers x→y, set x o→y (symmetrically for y→x).
We never alter <-> (two heads), never flip existing tails/heads, and never touch o→ or ←o edges.
Parameter: PAIRWISE_RULE ∈ {1..5}, default 3 (RSKEW). 1=FASK1, 2=FASK2, 3=RSKEW, 4=SKEW, 5=TANH.
Backward compatibility only. This class is retained under its original name so that sessions saved by Tetrad 7.6.10 and earlier, which refer to it by this class name, continue to load. Its registration annotations are commented out, so it is not offered in the algorithm chooser; new work should use the current class. The implementation is unchanged, so a restored session re-runs as before.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor for the FciCyclicPw class.Constructor for the FciCyclicPw class that initializes the algorithm with a specified independence test wrapper. -
Method Summary
Modifier and TypeMethodDescriptiongetComparisonGraph(Graph graph) Generates a comparison graph for the given graph by transforming it into a partially directed acyclic graph (PAG) representation.Retrieves the data type associated with the current instance of the algorithm.Provides a textual description of the FCI-CPW algorithm, including its functionality and distinguishing features, such as the use of pairwise-derived forbidden knowledge and pairwise orientation for certain edges.Retrieves the current instance of theIndependenceWrapperused for conditional independence testing in the algorithm.Retrieves a list of parameter names required for the configuration of the FCI-Cyclic-PW algorithm.runSearch(DataModel dataModel, Parameters parameters) Executes the search algorithm on a given data model and set of parameters, producing a partially directed acyclic graph (PAG) that represents the causal structure inferred from the data.voidSets theIndependenceWrapperinstance used for conditional independence testing in the algorithm.Methods inherited from class AbstractBootstrapAlgorithm
getBootstrapGraphs, searchMethods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ReturnsBootstrapGraphs
getBootstrapGraphs
-
Constructor Details
-
FciCyclicPw
public FciCyclicPw()Default constructor for the FciCyclicPw class. This constructor initializes the instance without any specific parameters or configurations. It is typically used for -
FciCyclicPw
Constructor for the FciCyclicPw class that initializes the algorithm with a specified independence test wrapper.- Parameters:
test- The IndependenceWrapper instance used for conditional independence testing during the FCI algorithm execution.
-
-
Method Details
-
runSearch
Executes the search algorithm on a given data model and set of parameters, producing a partially directed acyclic graph (PAG) that represents the causal structure inferred from the data. The underlying functionality includes handling time-lagged data, standardizing, generating internal knowledge, performing conditional independence tests, and refining the graph using pairwise adjustments based on standardization and rules.- Parameters:
dataModel- The data model to analyze, typically aDataSet, which contains the data from which causal relationships are inferred. Must be continuous for proper functioning.parameters- Algorithm parameter settings that control various aspects of the computation, such as time lagging, collider orientation style, pairwise rules, and limits on graph structure exploration.- Returns:
- A
Graphrepresenting the causal structure inferred by the search algorithm, encoded as a PAG. - Throws:
InterruptedException- If the search process is interrupted during execution, possibly due to thread interruption.
-
getComparisonGraph
Generates a comparison graph for the given graph by transforming it into a partially directed acyclic graph (PAG) representation.- Specified by:
getComparisonGraphin interfaceAlgorithm- Parameters:
graph- The inputGraphto be transformed into a comparison graph. This graph serves as the basis for creating the resulting PAG.- Returns:
- A
Graphrepresenting the transformed partially directed acyclic graph (PAG) based on the input graph.
-
getDescription
Provides a textual description of the FCI-CPW algorithm, including its functionality and distinguishing features, such as the use of pairwise-derived forbidden knowledge and pairwise orientation for certain edges.- Specified by:
getDescriptionin interfaceAlgorithm- Returns:
- A string describing the FCI-CPW algorithm and its characteristics.
-
getDataType
Retrieves the data type associated with the current instance of the algorithm. The data type defines whether the dataset is continuous, discrete, mixed, or another recognized type.- Specified by:
getDataTypein interfaceAlgorithm- Returns:
- The
DataTyperepresenting the type of dataset required or handled by the algorithm.
-
getParameters
Retrieves a list of parameter names required for the configuration of the FCI-Cyclic-PW algorithm. These parameters control various aspects of the algorithm's execution, such as graph exploration limits, orientation styles, and additional settings affecting the causal inference process.- Specified by:
getParametersin interfaceHasParameters- Returns:
- A list of strings, where each string represents a parameter name used by the FCI-Cyclic-PW algorithm.
-
getIndependenceWrapper
Retrieves the current instance of theIndependenceWrapperused for conditional independence testing in the algorithm.- Specified by:
getIndependenceWrapperin interfaceTakesIndependenceWrapper- Returns:
- The
IndependenceWrapperinstance being used by this algorithm.
-
setIndependenceWrapper
Sets theIndependenceWrapperinstance used for conditional independence testing in the algorithm.- Specified by:
setIndependenceWrapperin interfaceTakesIndependenceWrapper- Parameters:
test- The IndependenceWrapper instance to be used for testing conditional independence relations.
-