biaslab / ForneyLab.jl

Julia package for automatically generating Bayesian inference algorithms through message passing on Forney-style factor graphs.
MIT License
149 stars 35 forks source link

Constraints #178

Closed ThijsvdLaar closed 2 years ago

ThijsvdLaar commented 2 years ago

This PR implements the point-mass, chance and moment constraints as proposed in (van de Laar et al. "Chance-Constrained Message Passing", MIT Neural Computation, 2021) and (Senoz et al. "Variational Message Passing and Constraint Manipulation on Factor Graphs", Entropy, 2021).

codecov-commenter commented 2 years ago

Codecov Report

Merging #178 (38f8ef3) into master (5d9110e) will increase coverage by 0.21%. The diff coverage is 85.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #178      +/-   ##
==========================================
+ Coverage   85.32%   85.53%   +0.21%     
==========================================
  Files          83       92       +9     
  Lines        3877     4259     +382     
==========================================
+ Hits         3308     3643     +335     
- Misses        569      616      +47     
Impacted Files Coverage Δ
src/ForneyLab.jl 100.00% <ø> (ø)
src/engines/julia/update_rules/probit.jl 77.08% <0.00%> (-15.42%) :arrow_down:
src/factor_nodes/categorical.jl 75.47% <0.00%> (-4.13%) :arrow_down:
src/factor_nodes/sample_list.jl 73.56% <ø> (-0.85%) :arrow_down:
src/visualization.jl 0.00% <0.00%> (ø)
src/factor_nodes/bernoulli.jl 82.35% <25.00%> (-7.97%) :arrow_down:
src/engines/julia/generators.jl 96.51% <50.00%> (-1.62%) :arrow_down:
...c/engines/julia/update_rules/nonlinear_sampling.jl 58.59% <50.00%> (+0.70%) :arrow_up:
src/update_rules/nonlinear_sampling.jl 96.05% <57.14%> (-3.95%) :arrow_down:
src/algorithms/posterior_factor.jl 93.54% <60.00%> (+0.86%) :arrow_up:
... and 77 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 5d9110e...38f8ef3. Read the comment docs.