Skip to content

Back door adjustments#70

Open
sotomsa wants to merge 6 commits intoakelleh:masterfrom
sotomsa:feature-admissableSetsFromUserSuppliedGraph
Open

Back door adjustments#70
sotomsa wants to merge 6 commits intoakelleh:masterfrom
sotomsa:feature-admissableSetsFromUserSuppliedGraph

Conversation

@sotomsa
Copy link

@sotomsa sotomsa commented Aug 27, 2018

First version of exaustive search minimal admissable sets that satisfy the back door criterion.

It is based on a d-separation function from pgmpy package (https://github.com/pgmpy/pgmpy). It implements an algorithm found in "Probabilistic Graphical Models: Principles and Techniques" - Koller and Friedman. Is it possible to integrate that piece of code giving the proper credit to the coders? ( That packagee is under MIT License but I do not know much about licenses)

I have also found a polinomial time version of the minimal admissable sets algorithm described in https://arxiv.org/abs/1202.3764 by Johannes Textor and implementedin his cool project DAGitty (http://www.dagitty.net/dags.html) which is a javascript browser-based causal inference analyzer.

At the last minute I realized that you use different naming conventions for functions while I use camelCase naming convention. I can change that later if the rest of the code is ok.

first version of exaustive search minimal admissable set that satisfy the back door criterion
@sotomsa
Copy link
Author

sotomsa commented Aug 27, 2018

Forgot to mention, it only works with DAGs at this moment

Changing the naming convention in the functions inside the class.
I have temporarly added all the code that is used from pgmpy in order to make minimal_admissable_ sets function work.
The idea is that it will be easier to check if it works without installing pgmpy.
@sotomsa
Copy link
Author

sotomsa commented Sep 12, 2018

Hello Adam,

I have finally found some time to improve the PR code. Mainly, I have

  • Changed the function names so that it has the same naming convention that you use.
  • Converted the function into a generator function as you suggested for MVP
  • Improved the test coverage which will be useful in order to check a polynomial time version of the same algorithm.
  • Temporarly added all the code that is used from pgmpy (all is stored in utils.py) so that it is easier to check how the code works.

Best,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant