aux.effect {causaleffect} R Documentation

## Identify a causal effect using surrogate experiments

### Description

This function returns an expression for the joint distribution of the set of variables (y) given the intervention on the set of variables (x) using auxiliary experiments on a set (z) if the effect is identifiable. Otherwise an error is thrown describing the graphical structure that witnesses non-identifiability.

### Usage

aux.effect(y, x, z, G, expr = TRUE, simp = TRUE,
steps = FALSE, primes = FALSE, stop_on_nonid = TRUE)

### Arguments

 y A character vector of variables of interest given the intervention. x A character vector of the variables that are acted upon. z A character vector describing the additional set available for manipulation. G An igraph object describing the directed acyclic graph induced by the causal model that matches the internal syntax. expr A logical value. If TRUE, a string is returned describing the expression in LaTeX syntax. Else, a list structure is returned which can be manually parsed by the function get.expression simp A logical value. If TRUE, a simplification procedure is applied to the resulting probability object. d-separation and the rules of do-calculus are applied repeatedly to simplify the expression. steps A logical value. If TRUE, returns a list where the first element corresponds to the expression of the causal effect and the second to the a list describing intermediary steps taken by the algorithm. primes A logical value. If TRUE, prime symbols are appended to summation variables to make them distinct from their other instantiations. stop_on_nonid A logical value. If TRUE, an error is produced when a non-identifiable effect is discovered. Otherwise recursion continues normally.

### Value

If steps = FALSE, A character string or an object of class probability that describes the interventional distribution. Otherwise, a list as described in the arguments.

Santtu Tikka

### References

Bareinboim E., Pearl J. 2012 Causal Inference by Surrogate Experiments: z-identifiability. Proceedings of the 28th Conference on Uncertainty in Artificial Intelligence, 113–120.

parse.graphml, get.expression

### Examples

library(igraph)

# simplify = FALSE to allow multiple edges
f <- graph.formula(W -+ Z, Z -+ X, X -+ Y, W -+ Y, # Observed edges
W -+ Y, Y -+ W, Z -+ Y, Y -+ Z, Z -+ X, X -+ Z, simplify = FALSE)

# Here the bidirected edges are set to be unobserved in graph g
# This is denoted by giving them a description attribute with the value "U"
# The first 4 edges correspond to the observed edges, the rest are unobserved

f <- set.edge.attribute(f, "description", 5:10, "U")
aux.effect(y = "Y", x = "X", z = "Z", G = f)


[Package causaleffect version 1.3.15 Index]