EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
Loading...
Searching...
No Matches
Emrys::ArrivalInterval< Space, Scalar_ > Class Template Reference

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>

Inheritance diagram for Emrys::ArrivalInterval< Space, Scalar_ >:

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

Detailed Description

template<DiscreteSpace Space, RealScalar Scalar_ = double>
class Emrys::ArrivalInterval< Space, Scalar_ >

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.

Template Parameters
Spacethe discrete space
Scalar_scalar type of the rates, double by default

Member Function Documentation

◆ endsInArrival()

template<DiscreteSpace Space, RealScalar Scalar_ = double>
bool Emrys::ArrivalInterval< Space, Scalar_ >::endsInArrival ( ) const
inlinenodiscard
Returns
whether the interval ends in an event

The documentation for this class was generated from the following file: