opt.target | R Documentation |
Given a (observational or interventional) essential graph (or "CPDAG"), find the optimal intervention target that maximizes the number of edges that can be oriented after the intervention.
opt.target(essgraph, max.size, use.node.names = TRUE)
essgraph |
An |
max.size |
Maximum size of the intervention target. Only 1 and the
number of vertices of |
use.node.names |
Indicates if the intervention target should be
returned as a list of node names (if |
This function implements active learning strategies for structure learning from interventional data, one that calculates an optimal single-vertex intervention target, and one that calculates an optimal intervention target of arbitrary size. "Optimal" means the proposed intervention target guarantees the highest number of edges that can be oriented after performing the intervention, assuming the essential graph provided as input is the true essential graph under the currently available interventional data (i.e., neglecting possible estimation errors).
Implementation corresponds to algorithms "OptSingle" and "OptUnb" published in Hauser and Bühlmann (2012).
A character vector of node names (if use.node.names = TRUE
), or an
integer vector of node indices (if use.node.names = FALSE
) indicating
the optimal intervention target.
Alain Hauser (alain.hauser@math.ethz.ch)
A. Hauser and P. Bühlmann (2012). Two optimal strategies for active learning of causal models from interventions. Proceedings of the 6th European Workshop on Probabilistic Graphical Models (PGM-2012), 123–130
EssGraph
## Load predefined data
data(gmG)
## Define the score (BIC)
score <- new("GaussL0penObsScore", gmG8$x)
## Estimate the essential graph using GES
ges.fit <- ges(score)
essgraph <- ges.fit$essgraph
## Plot the estimated essential graph
if (require(Rgraphviz)) {
plot(essgraph, main = "Estimated CPDAG")
}
## The CPDAG has 1 unoriented component with 3 edges (Author <-> Bar, Bar <->
## Ctrl, Bar <-> V5)
## Get optimal single-vertex and unbounded intervention target
opt.target(essgraph, max.size = 1)
opt.target(essgraph, max.size = essgraph$node.count())
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.