'Issue generating DAG using CausalFS cpp package

Link to CausalFS GitHub I'm using v.2.0 of CausalFS cpp package by Kui Yu.

Upon running the structural learning algos, my DAG and MB are not matching.

I'm trying to generate a DAG based on the data given in the CDD/data/data.txt directory and CDD/data.txt via some of the Local-to-global structure learning algos mentioned in the manual (PCMB-CSL, STMB-CSL etc.). Running the commands as given by the manual (pg. 18 of 26).

But my resulting DAG is just filled with zeros (for the most part). Given that this is a example dataset that looks suspicious. Upon then checking CDD/mb/mb.out I find that the Markov blankets for the variables do not agree with the DAG output.

For ex, running ./main ./data/data.txt ./data/net.txt 0.01 PCMB-CSL "" "" -1 gives a 1 at position (1,22) (one-indexed) only (relaxing alpha value to 0.1 (kept at 0.01 in ex) gives just another 1). However, this doesn't agree with the output MB for each variable, which looks like (upon running IAMB as ./main ./data/data.txt ./net/net.txt 0.01 IAMB all "" "")-

0  21 
1  22 26 28 
2  29 
3  14 21 
4  5 12 
5  4 12 
6  8 12 
7  8 12 
8  6 7 12 
9  11 15 
10  35 
11  9 12 15 33 
12  4 6 7 8 11 13 
13  8 12 14 15 17 30 34 
14  3 13 20 
15  8 9 11 13 14 17 30 
16  15 
17  13 15 18 27 30 
18  17 19 20 27 
19  18 20 
20  14 18 21 28 
21  0 3 20 26 
22  1 21 23 24 28 
23  1 22 24 
24  5 22 23 25 
25  24 
26  1 21 22 
27  17 18 28 29 
28  1 18 21 22 27 29 
29  2 27 
30  13 14 15 17 
31  34 
32  15 18 34 
33  11 12 32 35 36 
34  30 31 32 35 36 
35  10 33 34 
36  33 34 35 

Such an MB profile suggests the DAG to be much more connected.

I would love to hear suggestions from people who've managed to get the package to behave appropriately. I just do not understand the error here from my side. (I'm running on PopOS 20.04)

Thanks a bunch <3

P.S- The files just continue to write upon rerunning the code, so make sure to appropriately delete them.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source