py-why / py-why/causal-learn

Using background knowledge makes FCI algorithm slower

Open
#90 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.7k
Forks
274
PR merge metrics
No merged PRs in 30d

Description

Hi!
I would like to use the FCI algorithm with background knowledge, but I have noticed that the computation speed with the background is much slower than the computation speed without passing the background knowledge to FCI (or PC). I work with about 300 variables and there are not many dependencies (about 1,2 or 3) between them. In my background knowledge there are a lot of forbidden edges and some required edges. As far as I understand the FAS function, the amount of forbidden edges will reduce the adjacency list by a lot and also the separating set will be smaller than the version without the background knowledge.

I cannot find a explanation for the increase of computation speed, what am I missing?

Thanks in advance!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the FAS function and the FCI and PC entry points mentioned in the report. Compare the background-knowledge and no-background cases on a sparse dataset with about 300 variables, focusing on forbidden and required edges; done means explaining or reproducing the observed slowdown.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.