When I run the example code for PC algorithm on my csv data file, I end up with a cyclic graph (with or without prior knowledge):
tetrad.getAlgorithmParameters(algoId = 'pc-all', testId = 'fisher-z-test')
tetrad.run(algoId = 'pc-all', dfs = combined_small, testId = 'fisher-z-test',
priorKnowledge = prior, fasRule = 2, depth = 2, conflictRule = 1, concurrentFAS = True,
useMaxPOrientationHeuristic = True, verbose = True)
tetrad.getNodes()
For example, I get the following edges:
'X2 --> X9',
'X9 --> X23',
'X23 --> X8',
'X8 --> X2'
Is this possible? Is there a way to restrict the program from generating cyclic graphs?
When I run the example code for PC algorithm on my csv data file, I end up with a cyclic graph (with or without prior knowledge):
For example, I get the following edges:
'X2 --> X9',
'X9 --> X23',
'X23 --> X8',
'X8 --> X2'
Is this possible? Is there a way to restrict the program from generating cyclic graphs?