Summary
HiddenSemiMarkovRegimeFilter is RTTA's streaming implementation of: Online Gaussian hidden semi-Markov-style regime filter with bounded duration bias.
Update API
result = rtta.HiddenSemiMarkovRegimeFilter().update(value)
The update(...) call consumes one observation using value. advance(...)
uses the same inputs when the caller wants to update state without materializing
a Python return value.
Theory Of Operation
HiddenSemiMarkovRegimeFilter converts each observation into a streaming score and then applies threshold or hysteresis logic. The state is deliberately sticky where the C++ class models regimes, so small reversals do not immediately flip the output.
Recurrence
Let \(z_t = value_t\) denote the observation consumed by one
update(...) call and let \(\theta\) denote constructor parameters such as
window lengths, thresholds, and smoothing constants.
The return value is the current scalar indicator value.
Implementation Notes
The recurrence is implemented in src/rtta/indicator.cpp in class HiddenSemiMarkovRegimeFilter.
