|
EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
|
The observation of a Markov-modulated Poisson process over an interval: no event inside it, and an event at its end unless it closes the record. More...
#include <EmrysFilter/Models/Emission.h>
Public Types | |
| using | Scalar = Scalar_ |
| the scalar type of the rates | |
Public Member Functions | |
| template<typename Derived> | |
| ArrivalInterval (Eigen::DenseBase< Derived > const &rates, bool endsInArrival=true) | |
| The interval with rates one per value, ending in an event if endsInArrival. | |
| bool | endsInArrival () const |
The observation of a Markov-modulated Poisson process over an interval: no event inside it, and an event at its end unless it closes the record.
In a Markov-modulated Poisson process events arrive at the rate \( \lambda_v \) of the value of a ContinuousTimeMarkovChain, which may jump between events. Its likelihood is not an emission, a function of the value at the end of the interval alone: no event arrived while the chain moved. With \( \Lambda = \mathrm{diag}(\lambda) \), the interval of length \( \tau \) ending in an event moves the unnormalized distribution as \( p' = p\, e^{(Q - \Lambda) \tau} \Lambda \), and the closing interval of a record, which ends without one, as \( p' = p\, e^{(Q - \Lambda) \tau} \). The product of the steps over a record is its likelihood, the closed form of Fischer and Meier-Hellstern (1993), so predict() with an ArrivalInterval in place of predict() and an emission is the exact Markov-modulated Poisson process filter.
| Space | the discrete space |
| Scalar_ | scalar type of the rates, double by default |
|
inlinenodiscard |