Add controlled emission HMM.#143
Conversation
Co-authored-by: Guillaume Dalle <22795598+gdalle@users.noreply.github.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #143 +/- ##
==========================================
+ Coverage 95.28% 95.83% +0.54%
==========================================
Files 18 19 +1
Lines 509 600 +91
==========================================
+ Hits 485 575 +90
- Misses 24 25 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Okay so on the Standard test suite everything passes except the I also skipped the tests for the |
|
just wanted to ping this |
gdalle
left a comment
There was a problem hiding this comment.
Sorry, I had quite a bit of time off work. Here are a few remarks, the most important one being on the semantics of obs_distributions and whether it is worth such a big change
Introduce ControlledEmission and ControlledEmissions wrappers that bind a control value to emission distributions and integrate with DensityInterface/Random. Rename ControlledHMM to ControlledEmissionHMM and update its API: obs_distributions(hmm, control) now returns a lazy ControlledEmissions vector, fit!/rand require a control sequence, and exports updated accordingly.
|
Okay so I implemented the |
gdalle
left a comment
There was a problem hiding this comment.
Here are a few more remarks (I didn't go into detail yet while we refine the general structure)
|
Hey @gdalle I got the error hint approach working. I also expanded the docs to reflect this new type--I left the old docs intact as they seem still helpful for insight into modifying the relevant HMM functions for custom types. Please let me know if there is anything else i can do |
|
Thanks! Can you try to hit the missing lines in codecov? The |
|
All lines are now covered! |
Adds the
ControlledHMMtype we discussed here. This is a tested version of what I already proposed. I figured I would get things rolling and I can edit as we see fit. A few ongoing questions I had:ControlledHMM? E.g., highlighting difference between the generalHMMtype like the extension oflogdensityof?Happy to work on any changes you'd like!