| ges | R Documentation |
Run the Greedy Equivalent Search algorithm for causal discovery using one of several engines.
ges(engine = c("tetrad", "pcalg"), score, ...)
engine |
Character; which engine to use. Must be one of:
|
score |
Character; name of the scoring function to use. |
... |
Additional arguments passed to the chosen engine (e.g. score and algorithm parameters). |
For specific details on the supported scores, and parameters for each engine, see:
TetradSearch for Tetrad (note, Tetrad refers to it as "fges"),
PcalgSearch for pcalg.
While it is possible to call the function returned directly with a data frame,
we recommend using disco(). This provides a consistent interface and handles knowledge
integration.
A function that takes a single argument data (a data frame). When called,
this function returns a list containing:
knowledge A Knowledge object with the background knowledge
used in the causal discovery algorithm. See knowledge() for how to construct it.
caugi A caugi::caugi object (of class PDAG) representing the learned causal graph
from the causal discovery algorithm.
Chickering, D. M. (2002). Optimal structure identification with greedy search. Journal of Machine Learning Research 3, 507-554.
Other causal discovery algorithms:
boss(),
boss_fci(),
fci(),
gfci(),
grasp(),
grasp_fci(),
gs(),
iamb-family,
pc(),
sp_fci(),
tfci(),
tges(),
tpc()
data(tpc_example)
#### Using pcalg engine ####
# Recommended path using disco()
ges_pcalg <- ges(engine = "pcalg", score = "sem_bic")
disco(tpc_example, ges_pcalg)
# or using ges_pcalg directly
ges_pcalg(tpc_example)
# With all algorithm arguments specified
ges_pcalg <- ges(
engine = "pcalg",
score = "sem_bic",
adaptive = "vstructures",
phase = "forward",
iterate = FALSE,
maxDegree = 3,
verbose = FALSE
)
disco(tpc_example, ges_pcalg)
#### Using tetrad engine with tier knowledge ####
# Requires Tetrad to be installed
if (verify_tetrad()$installed && verify_tetrad()$java_ok) {
kn <- knowledge(
tpc_example,
tier(
child ~ tidyselect::starts_with("child"),
youth ~ tidyselect::starts_with("youth"),
oldage ~ tidyselect::starts_with("oldage")
)
)
# Recommended path using disco()
ges_tetrad <- ges(engine = "tetrad", score = "sem_bic")
disco(tpc_example, ges_tetrad, knowledge = kn)
# or using ges_tetrad directly
ges_tetrad <- ges_tetrad |> set_knowledge(kn)
ges_tetrad(tpc_example)
}
# With all algorithm arguments specified
if (verify_tetrad()$installed && verify_tetrad()$java_ok) {
ges_tetrad <- ges(
engine = "tetrad",
score = "ebic",
symmetric_first_step = TRUE,
max_degree = 3,
parallelized = TRUE,
faithfulness_assumed = TRUE
)
disco(tpc_example, ges_tetrad)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.