The varied rate Poisson Process and MMPP
Counting processes have a variety of use cases in modelling networks, queues, communications and other real-world systems. The most classic example being the Poisson process, a natural choice to model an uncoordinated stream of discrete events in continuous time. This post will go over the Markov Modulated Poisson Process, a counting process based on the Poisson process which attains greater flexibility due to a stochastic rate function.
Counting Processes
We recall that a counting process $ \{ N_t, t \geq 0 \} $ is one where:
- $N_t \in \mathbb{Z}_{\geq 0}$
- $P(N_0 = 0) = 1$
- for $ 0 \leq s < t$, $N_t - N_s \geq 0 $ represents the number of events in interval $ (s, t] $
- which is right-continuous with left-hand limits
Rate Varying Poisson Process
For a discrete time process with independent increments we denote a rate varying Poisson process $N(t|\lambda(t))$ to be one with parameterized density of:
$$ P(N(t|\lambda(t)) = n) = \frac{(\lambda(t)\cdot t)^n}{n!}e^{-\lambda(t)\cdot t}$$
where $\lambda(t)$ is some deterministic function $\lambda : T \rightarrow \mathbb{R}_{\geq 0}$.
The rate function $\lambda$ is also typically referred to as the intensity.
Markov Modulated Poisson Process (MMPP)
The MMPP is simply then a particular case of the rate varying Poisson process, particularly where the intensity is stochastic itself. More precisely, its intensity is the state of an independently progressing continuous-time Markov chain. We have that for a process $ \{ X_t, t \geq 0 \} $, we call it a MMPP if:
$$ X_t = N(t| \lambda(t) = Y_t) $$
where $ \{ Y_t, t \geq 0 \} $ is continuous-time Markov chain with infinitesimal generator:
$$ Q = \begin{pmatrix} q_{11} & q_{12} & \cdots & q_{1n} \newline q_{21} & q_{22} & \cdots & q_{2n} \newline \vdots & \vdots & \ddots & \vdots \newline q_{n1} & q_{n2} & \cdots & q_{nn} \end{pmatrix} $$
$$ q_{ij} \geq 0 \ \forall \ i \neq j \quad \textrm{and} \quad 0 \leq q_{ii} < \infty \quad \textrm{and} \quad \sum_{j=1}^k q_{ij} = 0 $$
It follows that $ X_t $ is also Markov, i.e. for probability triple $ (\Omega, \mathcal{F}_t, \mathbb{P}) $ we have:
$$ P(X_t \in A | \mathcal{F}_t) = P(X_t \in A | X_s) $$
An Application
Suppose we're an airline company modeling the number of tickets sales from our website on a given date. We recognize that demand comes in surge periods, and we categorize the three general times of demand periods as low demand, medium demand and surge demand. We can use a MMPP as our count model, where the intensity, which varies stochastically, corresponds to one of these three periods. We use the following continuous-time Markov chain as an example:
which has corresponding infinitesimal generator matrix:
$$ Q =\begin{bmatrix} -3 & 2 & 1 \newline 3 & -5 & 2 \newline 5 & 3 & -8 \end{bmatrix} $$
and supply our intensity set:
$$ \vec{\lambda} = \langle \lambda_1 = 25, \lambda_2 = 100, \lambda_3 = 500 \rangle $$
in the units of count per day. We then run a simple simulation to generate a sample path for illustration:
We see that in this case the MMPP is able to capture the effects of discrete 'regime shift' periods quite well.
While MMPPs are powerful, they also come with increased complexity in parameter estimation and analysis. We require the parametric estimate of both $(\vec{\lambda}, Q)$, where $\vec{\lambda} = (\lambda_1, \ldots, \lambda_n)$ is the vector of intensity rates and $Q = (q_{ij})_{i,j=1}^n$ is the infinitesimal generator matrix of the underlying Markov process. The choice to use an MMPP should be balanced against the need for model simplicity and the available data for parameter inference.