Algorithms

Apart from the original parameters of the underlying software, each algorithm module is equipped with an additional parameter, timeout, which is the maximum time in seconds allowed for the algorithm to run. After the timeout, the algorithm will be terminated and either an empty file will be created or the current best graph will be saved (if the algorithm supports that).

Modules for MCMC algorithms can be used seamlessly with the other modules. However, apart from the original parameters and timeout, these modules have four additional fields:

  • mcmc_seed is the random seed for the algorithm.

  • mcmc_estimator specifies which estimator to use (threshold or map).

  • threshold specifies the threshold for the posterior edge probabilities if mcmc_estimator is set to threshold.

  • burnin_frac is a value in (0, 1) that specifies the fraction of the samples at the beginning of the graph trajectory to be discarded as burn-in.

The available modules are listed below. To add new modules, see Adding new modules.

Algorithm

Graph

Package

Module

Chordal graph samplers

DG

Alun Thomas

athomas_jtsamplers

BDgraph

UG

BDgraph

bdgraph

Iterative MCMC

DAG, CPDAG

BiDAG

bidag_itsearch

Order MCMC

DAG, CPDAG

BiDAG

bidag_order_mcmc

Partition MCMC

DAG, CPDAG

BiDAG

bidag_partition_mcmc

Fast IAMB

DAG

bnlearn

bnlearn_fastiamb

Grow-shrink

DAG

bnlearn

bnlearn_gs

H2PC

DAG

bnlearn

bnlearn_h2pc

HC

DAG

bnlearn

bnlearn_hc

HPC

DAG

bnlearn

bnlearn_hpc

IAMB

DAG

bnlearn

bnlearn_iamb

IAMB-FDR

DAG

bnlearn

bnlearn_iambfdr

INTER-IAMB

DAG

bnlearn

bnlearn_interiamb

MMHC

DAG

bnlearn

bnlearn_mmhc

MMPC

DAG

bnlearn

bnlearn_mmpc

PC

DAG

bnlearn

bnlearn_pcstable

RSMAX2

DAG

bnlearn

bnlearn_rsmax2

S-I HITON-PC

DAG

bnlearn

bnlearn_sihitonpc

Tabu

DAG

bnlearn

bnlearn_tabu

GSP

DAG

CausalDAG

causaldag_gsp

GRaSP

CPDAG

causal-learn

causallearn_grasp

Corrmat thresh

UG

Benchpress

corr_thresh

Dual PC

CG, CPDAG

dualPC

dualpc

Psi-learning

UG

equSA

equsa_psilearner

ANM

DAG

gCastle

gcastle_anm

CORL

DAG

gCastle

gcastle_corl

Direct LINGAM

DAG

gCastle

gcastle_direct_lingam

GAE

DAG

gCastle

gcastle_gae

GOLEM

DAG

gCastle

gcastle_golem

GraNDAG

DAG

gCastle

gcastle_grandag

ICALiNGAM

DAG

gCastle

gcastle_ica_lingam

MCSL

DAG

gCastle

gcastle_mcsl

NO TEARS

DAG

gCastle

gcastle_notears

NO TEARS low rank

DAG

gCastle

gcastle_notears_low_rank

NO TEARS non-linear

DAG

gCastle

gcastle_notears_nonlinear

PC

DAG

gCastle

gcastle_pc

RL

DAG

gCastle

gcastle_rl

GOBNILP

DAG

GOBNILP (BitBucket)

gobnilp

GrUES

UDG

gues

grues

Graphical lasso

UG

huge

huge_glasso

Meinshausen & Buhlmann cov est

UG

huge

huge_mb

TIGER

UG

huge

huge_tiger

Parallel DG

DG

parallelDG

paralleldg

GIES

CPDAG

pcalg

pcalg_gies

PC

CPDAG, CG

pcalg

pcalg_pc

Precmat thresh

UG

Benchpress

prec_thresh

ASOBS

DAG

r.blip

rblip_asobs

Graphical Lasso

UG

scikit-learn

sklearn_glasso

BOSS

CPDAG

causal-cmd

tetrad_boss

FASK

DAG

causal-cmd

tetrad_fask

FGES

CPDAG

causal-cmd

tetrad_fges

FOFC

DAG

causal-cmd

tetrad_fofc

FTFC

DAG

causal-cmd

tetrad_ftfc

GRaSP

CPDAG

causal-cmd

tetrad_grasp

ICA-LINGAM

DAG

causal-cmd

tetrad_ica-lingam

PC

DAG

causal-cmd

tetrad_pc

Particle Gibbs

DG

trilearn

trilearn_pgibbs