Multiset of Possible Total Causal Effects for Several Target Var.s
This function estimates the multiset of possible total causal effects of
one variable (x
) on a several (i.e., a vector of) target
variables (y
) from observational data.
idaFast(x.pos, y.pos.set, mcov, graphEst)
x.pos |
(integer) position of variable |
y.pos.set |
integer vector of positions of the target variables
|
mcov |
covariance matrix that was used to estimate |
graphEst |
estimated CPDAG from the function
|
This function performs
ida(x.pos, y.pos, mcov, graphEst, method="local",
y.notparent=FALSE, verbose=FALSE)
for all values of y.pos
in
y.pos.set
simultaneously, in an efficient way.
See (the help about) ida
for more details. Note that the
option y.notparent = TRUE
is not implemented, since it is not
clear how to do that efficiently without orienting all edges away from
y.pos.set
at the same time, which seems not to be
desirable. Suggestions are welcome.
Matrix with length(y.pos.set)
rows. Row i contains the multiset
of estimated possible total causal effects of x
on
y.pos.set[i]
. Note that all multisets in the matrix have the
same length, since the parents of x
are the same for all elements
of y.pos.set
.
Markus Kalisch (kalisch@stat.math.ethz.ch)
see the list in ida
.
## Simulate the true DAG set.seed(123) p <- 7 myDAG <- randomDAG(p, prob = 0.2) ## true DAG myCPDAG <- dag2cpdag(myDAG) ## true CPDAG covTrue <- trueCov(myDAG) ## true covariance matrix ## simulate data from the true DAG n <- 10000 dat <- rmvDAG(n, myDAG) cov.d <- cov(dat) ## estimate CPDAG (see help on the function "pc") suffStat <- list(C = cor(dat), n = n) pc.fit <- pc(suffStat, indepTest = gaussCItest, alpha = 0.01, p=p) if(require(Rgraphviz)) { op <- par(mfrow=c(1,3)) plot(myDAG, main="true DAG") plot(myCPDAG, main="true CPDAG") plot(pc.fit@graph, main="pc()-estimated CPDAG") par(op) } (eff.est1 <- ida(2,5, cov.d, pc.fit@graph))## method = "local" is default (eff.est2 <- ida(2,6, cov.d, pc.fit@graph)) (eff.est3 <- ida(2,7, cov.d, pc.fit@graph)) ## These three computations can be combinded in an efficient way ## by using idaFast : (eff.estF <- idaFast(2, c(5,6,7), cov.d, pc.fit@graph))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.