simulate_bounds: Simulate bounds In causaloptim: An Interface to Specify Causal Graphs and Compute Bounds on Causal Effects

Description

Run a simple simulation based on the bounds. For each simulation, sample the set of counterfactual probabilities from a uniform distribution, translate into a multinomial distribution, and then compute the objective and the bounds in terms of the observable variables.

Usage

 `1` ```simulate_bounds(obj, bounds, nsim = 1000) ```

Arguments

 `obj` Object as returned by analyze_graph `bounds` Object as returned by optimize_effect `nsim` Number of simulation replicates

Value

A data frame with columns: objective, bound.lower, bound.upper

Examples

 ```1 2 3 4 5 6 7 8``` ```b <- graph_from_literal(X -+ Y, Ur -+ X, Ur -+ Y) V(b)\$leftside <- c(0,0,0) V(b)\$latent <- c(0,0,1) V(b)\$nvals <- c(2,2,2) E(b)\$rlconnect <- E(b)\$edge.monotone <- c(0, 0, 0) obj <- analyze_graph(b, constraints = NULL, effectt = "p{Y(X = 1) = 1} - p{Y(X = 0) = 1}") bounds <- optimize_effect(obj) simulate_bounds(obj, bounds, nsim = 5) ```

causaloptim documentation built on Dec. 11, 2021, 9:56 a.m.