Skip to content

Conversation

@willGraham01
Copy link
Collaborator

@willGraham01 willGraham01 commented Aug 13, 2025

Resolves #38, though #75 remains something that we need to address.

Implements a barebones integration test for the simple example problem involving two normals.

All the steps to setup the causal estimand and constraints are done manually, IE by manipulating the Graph.model rather than attempting to use the CausalProblem class. Iterative PRs on top of this one will slowly take more of the manual steps out of the new integration test and into the appropriate classes.

Also, the integration test currently uses the "minimise" approach described in #75, whereby to find stationary points of the Lagrangian we elect to instead use SGD to minimise $\vert\nabla\mathcal{L}\vert^2$. This works for this particular example, but we also have the benefit of knowing the exact solution so are able to provide a very good initial value.

@willGraham01 willGraham01 force-pushed the wgraham/barebones-integration-test branch from 59ba043 to 13ca8ec Compare August 14, 2025 09:24
@willGraham01
Copy link
Collaborator Author

#70 changes the names of the nodes + parameters inside the two_normal_graph_parametrized_mean fixture, will need to update text in light of this PR if it goes in first.

@willGraham01 willGraham01 marked this pull request as ready for review August 14, 2025 09:35
@willGraham01 willGraham01 requested a review from mscroggs August 14, 2025 09:35
@willGraham01 willGraham01 merged commit 6cd0232 into main Aug 14, 2025
5 checks passed
@willGraham01 willGraham01 deleted the wgraham/barebones-integration-test branch August 14, 2025 14:49
@willGraham01 willGraham01 mentioned this pull request Aug 18, 2025
1 task
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.

Create an integration test for the simple example

3 participants