Parameter tuning for applying DECI to large graphs
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 536
- Forks
- 69
- Avg merge
- 20h 29m
- Merged PRs (30d)
- 1
Description
Hello,
Do you have some pieces of advice for tuning the parameters of the DECI method when applied to large graphs for Causal Discovery?
I have tried to apply the DECI method to datasets of simulated graphs with 10, 20, 50 and 100 nodes (with nb edges equal or 4x number of nodes) and different types of nonlinear SEMs (but all with Gaussian Additive Noise).
For all datasets, the training seems to be going correctly (the loss curves are correctly decreasing, there is no numerical warning), so DECI seems to be converging.
For all but 100-nodes graph datasets (and some 50-nodes graphs) I obtain valid graph estimates, more or less correct depending on the situation.
For all 100-nodes graph datasets (and some 50-nodes graphs) I obtain invalid "empty" graphs (i.e. graphs with adjacency matrix made of only 0 elements).
Could you please help me in making DECI work for these 100-nodes graphs?
Here is my setting:
- Using the following snippet from the current gcastle package (v1.0.3), I have simulated several datasets of 3000 graphs with 100 nodes (and 100 or 400 edges) and different nonlinear SEMs (
gp,quadraticandmlp):
weighted_random_dag = DAG.erdos_renyi(n_nodes=n_nodes, n_edges=n_edges, weight_range=(0.5, 2.0), seed=seed)
dataset = IIDSimulation(W=weighted_random_dag, n=n, method=method_type, sem_type=sem_type)
true_dag, X = dataset.B, dataset.X
- I have adapted the source code from examples/multi_investment_sales_attribution.ipynb to process my own datasets.
So I am using the default parameters + those specified in this example.
I have only changed the batch size from 1024 to 128 to better fit my datasets containing 3000 samples.
Thank you very much for your help,
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the adapted examples/multi_investment_sales_attribution.ipynb workflow with the reported 100-node datasets, batch size 128, and default parameters. Compare the empty adjacency outputs with the valid smaller-graph results; done would require identifying the relevant tuning guidance or cause and documenting reproducible settings for the reported cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100