You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In RxInfer, constraints are enforced after the product of two messages as f(q(x)). For sum-product message passing, this means that first all messages in the graph are computed, after which the constraint is enforced. As a result messages are passed right through the constrained edges and marginals on other edges do not reflect this constraint. Specifically when using PointMass constraints, which can be interpreted as interventions from Pearl, this behaviour is likely not desired as the purpose of the constraints is to prevent an information flow. As a result, marginals on other edges do not reflect this constraint and might be considered wrong: this should be checked.
For now there is a workaround. Consider the constrained variable z as
When performing SP this constraint is only enforced after all messages are computed. However, the inference procedure can be enforced to use this marginal distribution for further computations outward of this edge. This can be achieved by adding where { pipeline = RequireMarginal(interfacename) } to the nodes adjacent to the z edge, where the interfacename describes the interface connected to z.
The text was updated successfully, but these errors were encountered:
In
RxInfer
, constraints are enforced after the product of two messages asf(q(x))
. For sum-product message passing, this means that first all messages in the graph are computed, after which the constraint is enforced. As a result messages are passed right through the constrained edges and marginals on other edges do not reflect this constraint. Specifically when usingPointMass
constraints, which can be interpreted as interventions from Pearl, this behaviour is likely not desired as the purpose of the constraints is to prevent an information flow. As a result, marginals on other edges do not reflect this constraint and might be considered wrong: this should be checked.For now there is a workaround. Consider the constrained variable
z
asWhen performing SP this constraint is only enforced after all messages are computed. However, the inference procedure can be enforced to use this marginal distribution for further computations outward of this edge. This can be achieved by adding
where { pipeline = RequireMarginal(interfacename) }
to the nodes adjacent to thez
edge, where theinterfacename
describes the interface connected toz
.The text was updated successfully, but these errors were encountered: