All Downloads are FREE. Search and download functionalities are using the official Maven repository.

docs.javahelp.manual.boxes.search.cpc.html Maven / Gradle / Ivy

There is a newer version: 7.6.6
Show newest version



    Search Algorithms: PC
    


Search Algorithms: CPC


CPC (Conservative PC) is a variant of the PC algorithm designed to improve arrowhead orientation accuracy. The types of input data permitted and the assumptions for CPC are the same as for PC. That is, input data may be used that is either entirely discrete or entirely continuous. A DAG may be used as input, in which case graphical m-separation will be used in place of conditional independence for purposes of the search. It is assumed that the true causal DAG over which the search is being done does not contain cycles, that there are no hidden common causes between any pair of observed variables, and that with continuous variables the direct causal effect of any variable into any other is linear, with the distribution of each variable being Normal.

To know how to interpret the output of CPC, it helps to know how CPC differs from PC. In the collider orientation step, instead of orienting an unshielded triple <X, Y, Z> as a collider just in case (as in PC) Y is not in the set Sxz that shielded off X from Z and hence led to the remove of X---Z during the adjency phase of the search, <X, Y, Z> is first labeled as either a collider, a noncollider, or an unfaithful triple, depending, respectively, on whether Y is in none of the sets S among adjacents of X or adjacents of Y such that X _||_ Y | S, or all of those sets, or some but not all of those sets. If <X, Y, Z> is labeled as a collider then it is oriented as X-->Y<--Z; if it is labeled as a noncollider or unfaithful, these facts are noted for later use. (It is intended for unfaithful triples to be underlined in some way, but this is not implemented in the interface currently. However, by inspecting the logs, the classification of unshielded triples into colliderDiscovery, noncolliders, and unfaithful triples may be obtained.)

Once all colliderDiscovery have been marked and all other unshielded triples sorted properly, the Meek orientation rules are then applied as usual, with the exception that where these orientation rules require noncolliders, the fact that a triple is a noncollider is checked against the previously compiled classification of unshielded triples.

Whereas the output graph of PC is a CPDAG (allowing for bidirected edges in some cases where independence information conflicts with the assumptions of PC), the output graph of CPC is an e-CPDAG (with the same allowance). The e-CPDAG represents an equivalence class of DAGs that have the same adjacencies as the e-CPDAG, with every edge A-->B in the e-CPDAG also in the DAG and every unshielded collider in the DAG either an unshielded collider in the e-CPDAG or marked as unfaithful in the e-CPDAG. (Currently, the interface in Tetrad does how show which triples are marked as unfaithful, but the logs, accessed through the Logging menu, provide this information.)

 

References:

Spirtes, Glymour, and Scheines (2000). Causation, Prediction, and Search.

Chris Meek (1995), "Causal inference and causal explanation with background knowledge."

Ramsey, Zhang, and Spirtes (2006). Adjacency-Faithfulness and Conservative Causal Inference. Uncertainty in Artificial Intelligence, forthcoming.

 





© 2015 - 2025 Weber Informatics LLC | Privacy Policy