Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow closed form marginalization #441

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ricardoV94
Copy link
Member

This PR adds base functionality to expand marginalize to handle closed form cases.

It refactored the workflow so that when you call pm.marginalize we partition the graph into abstract MarginalRVs that group the marginalized and dependent RVs together. This is a mere (hierarchical) graph partitioning. Rewrites are then needed to try to find suitable options for the marginalized subgraphs. The cases that were supported before with enumeration still are, and I added an example of a Normal(Normal) with the inner one being marginalized.

I am not completly sure I want to proceed with the current approach. Delaying the rewrites until the logp is called doesn't give immediate feedback to the user. Perhaps better not to mix this with the logp derivation rewrites?

It's also cumbersome to work with nested marginalized RVs, because we don't have a great mechanism to trigger rewrites inside inner graphs, although we could implement such a graph rewriter.

I tried one another appproach that worked with tagging Ops that did the same task of partitioning the graph, but it became a mess when mixed with the other logprob rewrites. Maybe another hint that it's best to do these two things separately?

@ricardoV94 ricardoV94 added enhancements New feature or request marginalization labels Mar 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancements New feature or request marginalization
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant