bidag_itsearch
Iterative MCMC
Package |
|
Version |
2.1.4 |
Language |
|
Docs |
|
Paper |
Kuipers et al.[1] |
Graph type |
|
Docker |
|
Module folder |
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.
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
}
]