tetrad_boss
BOSS
Package |
|
Version |
1.10.0 |
Language |
|
Docs |
|
Paper |
|
Graph type |
|
Docker |
|
Module folder |
Description
BOSS (Best Order Score Search) is an algorithm that, like GRaSP, generalizes and extends the GSP (Greedy Sparsest Permutation) algorithm. It has been tested to 1000 variables with an average degree of 20 and gives near perfect precisions and recalls for N = 10,000 (with recall that drop to 0.9 for N = 1000). The algorithms works by building DAGs given permutations in ways similar to those described in Raskutti and Uhler and Solus et al.
Example
Config file: boss_SEM.json
Command:
snakemake --cores all --use-singularity --configfile workflow/rules/structure_learning_algorithms/tetrad_boss/config/boss_SEM.json
Fig. 30 and Fig. 31 show FP/P vs. TP/P and timings based on 10 datsets corresponding to 10 realisations of a 60-variables random Gaussian SEM, with an average indegree of 4. Each dataset contains 300 samples. Fig. 32 and Fig. 33 show the type of graphs estimated and the properties of the true graphs, respectively.
Some fields described
allowInternalRandomess
If true, the algorithm allow the algorithm to use certain heuristic random steps. This can improve performance, but may make the algorithm non-deterministic.useBes
True if the final BES (Backward Equivalence Search) step is used from the GES (Greedy Equivalence Search) algorithm. This step is needed for correctness but for large models, since usually nearly all edges are oriented in the CPDAG, it is heurically not needed.
Example JSON
[
{
"id": "boss-bic",
"score": "sem-bic-score",
"datatype": "continuous",
"samplePrior": null,
"useBes": true,
"allowInternalRandomess": false,
"semBicStructurePrior": 1,
"penaltyDiscount": [
0.8,
1,
1.5
],
"timeout": null
},
{
"id": "boss-bdeu",
"score": "bdeu-score",
"datatype": "discrete",
"samplePrior": [
1,
10,
20
],
"useBes": true,
"allowInternalRandomess": false,
"semBicStructurePrior": null,
"penaltyDiscount": null,
"timeout": null
}
]