| grasp | R Documentation |
Run the Greedy Relaxations of the Sparsest Permutation algorithm for causal discovery using one of several engines.
grasp(engine = "tetrad", score, test, alpha = 0.05, ...)
engine |
Character; which engine to use. Must be one of:
|
score |
Character; name of the scoring function to use. |
test |
Character; name of the conditionalâindependence test. |
alpha |
Numeric; significance level for the CI tests. |
... |
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.
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.
Lam, W.-Y., Andrews, B., & Ramsey, J. (2022). Greedy Relaxations of the Sparsest Permutation Algorithm. In The 38th Conference on Uncertainty in Artificial Intelligence.
Other causal discovery algorithms:
boss(),
boss_fci(),
fci(),
ges(),
gfci(),
grasp_fci(),
gs(),
iamb-family,
pc(),
sp_fci(),
tfci(),
tges(),
tpc()
data(tpc_example)
# Requires Tetrad to be installed
if (verify_tetrad()$installed && verify_tetrad()$java_ok) {
# Recommended path using disco()
grasp_tetrad <- grasp(
engine = "tetrad",
test = "fisher_z",
score = "sem_bic",
alpha = 0.05
)
disco(tpc_example, grasp_tetrad)
# or using grasp_tetrad directly
grasp_tetrad(tpc_example)
}
#### With tier knowledge ####
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()
grasp_tetrad <- grasp(
engine = "tetrad",
test = "fisher_z",
score = "sem_bic",
alpha = 0.05
)
disco(tpc_example, grasp_tetrad, knowledge = kn)
# or using grasp_tetrad directly
grasp_tetrad <- grasp_tetrad |> set_knowledge(kn)
grasp_tetrad(tpc_example)
}
# With all algorithm arguments specified
if (verify_tetrad()$installed && verify_tetrad()$java_ok) {
grasp_tetrad <- grasp_fci(
engine = "tetrad",
test = "poisson_prior",
score = "rank_bic",
alpha = 0.05,
depth = 3,
stable_fas = FALSE,
max_disc_path_length = 5,
covered_depth = 3,
singular_depth = 2,
nonsingular_depth = 2,
ordered_alg = TRUE,
raskutti_uhler = TRUE,
use_data_order = FALSE,
num_starts = 3
)
disco(tpc_example, grasp_tetrad)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.