bidag_itsearch

Iterative MCMC

Package

BiDAG

Version

2.1.4

Language

R

Docs

here

Paper

Kuipers et al.[1]

Graph type

DAG, CPDAG

Docker

bpimages/bidag:2.1.4

Module folder

bidag_itsearch

Description

This is a hybrid score-based optimisation technique based on Markov chain Monte Carlo schemes Kuipers et al.[1]. The algorithm starts from a skeleton obtained through a fast method (e.g. a constraint based method, or GES). Then it performs score and search on the DAGs belonging to the space defined by the starting skeleton. To correct for edges which may be missed, the search space is iteratively expanded to include one additional parent for each variable from outside the current search space. The score and search phase relies on an MCMC scheme producing a chain of DAGs from their posterior probability given the data.

Example

Config file: itsearch_sem.json

Command:

snakemake --cores all --use-singularity --configfile workflow/rules/structure_learning_algorithms/bidag_itsearch/config/itsearch_sem.json

Fig. 22 and Fig. 23 show FP/P vs. TP/P and timings based on 10 datsets corresponding to 10 realisations of a 80-variables random Gaussian SEM, with an average indegree of 2 and maximum indegree of 5. Each dataset contains 300 samples. Fig. 24 and Fig. 25 shows the type of graphs estimated and the properties of the true graphs, respectively.

FP/P vs. TP/P itsearch example

Fig. 22 FP/P vs. TP/P.

Timings itsearch example

Fig. 23 Timings.

Graph types example

Fig. 24 Type of graphs estimated.

Properties of the true graphs

Fig. 25 Graph properties.

Example JSON

[
  {
    "id": "itsearch_map-bge",
    "estimate": "map",
    "MAP": true,
    "plus1it": null,
    "posterior": null,
    "scoretype": "bge",
    "chi": null,
    "edgepf": null,
    "am": [
      0.000248,
      0.0223,
      0.1,
      0.448,
      0.739
    ],
    "aw": null,
    "softlimit": 9,
    "hardlimit": 15,
    "alpha": 0.05,
    "gamma": 1,
    "cpdag": false,
    "mergetype": "skeleton",
    "timeout": null
  },
  {
    "id": "itsearch_map-bde",
    "estimate": "map",
    "MAP": true,
    "plus1it": null,
    "posterior": null,
    "scoretype": "bde",
    "chi": [
      0.01,
      0.1,
      1
    ],
    "edgepf": 2,
    "am": null,
    "aw": null,
    "softlimit": 9,
    "hardlimit": 12,
    "alpha": 0.05,
    "gamma": 1,
    "cpdag": false,
    "mergetype": "skeleton",
    "timeout": null
  }
]