checkTriple | R Documentation |
For each subset of nbrsA
and nbrsC
where a
and
c
are conditionally independent, it is checked if b
is in the
conditioning set.
checkTriple(a, b, c, nbrsA, nbrsC,
sepsetA, sepsetC,
suffStat, indepTest, alpha, version.unf = c(NA, NA),
maj.rule = FALSE, verbose = FALSE)
a , b , c |
(integer) positions in adjacency matrix for nodes
|
nbrsA , nbrsC |
(integer) position in adjacency matrix for
neighbors of |
sepsetA |
vector containing |
sepsetC |
vector containing |
suffStat |
a |
indepTest |
a |
alpha |
significance level of test. |
version.unf |
(integer) vector of length two:
|
maj.rule |
logical indicating that the following majority rule
is applied: if |
verbose |
Logical asking for detailed output of intermediate steps. |
This function is used in the conservative versions of structure learning algorithms.
decision |
Decision on possibly ambiguous triple, an integer code,
|
vers |
Version (1 or 2) of the ambiguous triple
(1=normal ambiguous triple that is |
sepsetA |
Updated version of |
sepsetC |
Updated version of |
Markus Kalisch (kalisch@stat.math.ethz.ch) and Diego Colombo.
D. Colombo and M.H. Maathuis (2014).Order-independent constraint-based causal structure learning. Journal of Machine Learning Research 15 3741-3782.
##################################################
## Using Gaussian Data
##################################################
## Load predefined data
data(gmG)
n <- nrow (gmG8$x)
V <- colnames(gmG8$x)
## define independence test (partial correlations), and test level
indepTest <- gaussCItest
alpha <- 0.01
## define sufficient statistics
suffStat <- list(C = cor(gmG8$x), n = n)
## estimate CPDAG
pc.fit <- pc(suffStat, indepTest, alpha=alpha, labels = V, verbose = TRUE)
if (require(Rgraphviz)) {
## show estimated CPDAG
par(mfrow=c(1,2))
plot(pc.fit, main = "Estimated CPDAG")
plot(gmG8$g, main = "True DAG")
}
a <- 6
b <- 1
c <- 8
checkTriple(a, b, c,
nbrsA = c(1,5,7),
nbrsC = c(1,5),
sepsetA = pc.fit@sepset[[a]][[c]],
sepsetC = pc.fit@sepset[[c]][[a]],
suffStat=suffStat, indepTest=indepTest, alpha=alpha,
version.unf = c(2,2),
verbose = TRUE) -> ct
str(ct)
## List of 4
## $ decision: int 2
## $ version : int 1
## $ SepsetA : int [1:2] 1 5
## $ SepsetC : int 1
checkTriple(a, b, c,
nbrsA = c(1,5,7),
nbrsC = c(1,5),
sepsetA = pc.fit@sepset[[a]][[c]],
sepsetC = pc.fit@sepset[[c]][[a]],
version.unf = c(1,1),
suffStat=suffStat, indepTest=indepTest, alpha=alpha) -> c2
stopifnot(identical(ct, c2)) ## in this case, 'version.unf' had no effect
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.