Skip to content

Use of prior knowledge in NOTEARS #174

@maurovidal23

Description

@maurovidal23

It could be interesting to leverage the ability of optimization-based algorithms to incorporate prior knowledge as constraints. In the case of NOTEARS, which uses scipy.optimize, you can easily introduce bounds.

Using prior knowledge in this context means setting (i, j) = 0 if we want to forbid that edge, or (i, j) = 1 if we want to force its inclusion. I believe this is a fundamental feature for integrating both data and expert knowledge into the algorithm.

PS: This approach could potentially be extended to other optimization algorithms, but I haven't reviewed the code yet. For NOTEARS, it seems like it wouldn't require major changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions