The emission model of a count of events over an interval, from a Poisson process whose rate is a function of the value.
More...
template<DiscreteSpace Space, RealScalar Scalar_ = double>
class Emrys::PoissonEmission< Space, Scalar_ >
The emission model of a count of events over an interval, from a Poisson process whose rate is a function of the value.
A count \( n \) over an interval \( \Delta t \) is Poisson with mean \( \lambda_v \Delta t \), so \( \log p(n \mid v) = n \log(\lambda_v \Delta t) - \lambda_v \Delta t - \log n! \). It treats the value as fixed over the interval. A ContinuousTimeMarkovChain may jump inside it, so for a Markov-modulated Poisson process this is the approximation for intervals short beside the chain's holding times; ArrivalInterval observes one exactly.
- Template Parameters
-
| Space | the discrete space |
| Scalar_ | scalar type of the rates, double by default |
template<DiscreteSpace Space, RealScalar Scalar_ = double>
template<typename Derived, std::integral Count>
requires (!std::same_as<Count, bool>)
| Emrys::PoissonEmission< Space, Scalar_ >::PoissonEmission |
( |
Eigen::DenseBase< Derived > const & | rates, |
|
|
Count | count, |
|
|
TimeStep< Scalar_ > auto const & | dt ) |
|
inline |
The emission of count events over an interval of dt, any TimeStep (see Time steps), with rates one per value.
count is an integer, so a step and a count given in each other's place do not compile, where a step converted to a count would have been truncated.