If we have a data set consisting of event times $\{t_1, t_2, \ldots, t_N\}$ and would like to model this as a Poisson process with intensity $\lambda$, how do we do it? Intuitively, I would expect that we can calculate the average waiting time $w = \frac{1}{N-1}\sum_{i=2}^N (t_i-t_{i-1})$ and then set $\hat{\lambda} = 1/w$?

Is this correct? If so, how is it justified? Do we have to consider fitting a Poisson distribution to the number of events after doing some sort of binning?

  • 2
    $\begingroup$ Look at interarrival times $\{ t_1, t_2 - t_1, ..., t_N - t_{N-1} \}$ and fit exponential distribution with parameter $\lambda$ to them. $\endgroup$
    – stans
    Commented Aug 5, 2018 at 13:43
  • $\begingroup$ Thanks. Can we do something similar if the process is non-homogeneous? $\endgroup$
    – theQman
    Commented Aug 5, 2018 at 14:36
  • $\begingroup$ Similar: yes. But not exactly the same. Naturally, if $\lambda$ changes with time, you need to make up your mind on the exact form of time dependence and the number of parameters involved. The best course of action would be for you to read up on non-homogeneous Poisson process. Ross is a good reference. $\endgroup$
    – stans
    Commented Aug 5, 2018 at 16:15

3 Answers 3


You can use Maximum Likelihood Estimation, either with synchronous data (time-binned data) or asynchronous data (time-stamped data). The likelihood function changes accordingly.

For time-binned (or synchronous) data, you can simply use the joint Poisson probability mass function for your observed counts as the likelihood function:

$ L = \prod^{K}_{i=1} \frac{\lambda^{x_i}}{x_i!} \exp(-\lambda) $,

where $K$ is the number of bins, $x_i$ the count of events in bin $i$, and $\lambda$ the constant intensity that you want to estimate.

For asynchronous data, the likelihood is specified as follows:

$L = \left[ \prod^{N(T)}_{i=1} \lambda^*(t_i) \right] \exp\left[-\int^{T}_{0}\lambda^*(s) ds \right] $,

where $N(T)$ is the number of points at end-of-sample time $T$, and $\lambda^*(t)$ is the conditional intensity function, which is simply the constant $\lambda^*(t)=\lambda$ for the homogeneous Poisson process.

In some cases including the homogeneous Poisson process, there are closed-form solutions for both cases (take logs, set derivative with respect to $\lambda$ equal to zero, and solve for $\lambda$). Otherwise the log-likelihood can be optimised numerically.

For more background on theory and estimation, these are good references:

  • $\begingroup$ "For synchronous data (i.e. counts in regular time bins), you can simply use the joint Poisson probability mass function for your observed counts as the likelihood function." Can you explain this a bit more? If time is divided into bins, then what are fitting to a Poisson distribution? The number of times $k$ events occurs in a bin? $\endgroup$
    – theQman
    Commented Aug 7, 2018 at 0:24
  • $\begingroup$ For each bin, we count the number of events and fit \lambda to that joint distribution of counts. Please also see updated question. I hope this makes it clearer! $\endgroup$
    – mloning
    Commented Aug 7, 2018 at 6:33

For the homogeneous Poisson process with rate $\lambda$ the likelihood function can be written as

$L(\lambda)=\prod\limits_{n=1}^{N}\dfrac{\left(\lambda.(t_n-t_{n-1})\right)^1.e^{-\lambda(t_n-t_{n-1})}}{1!}$, with $t_0=0$, s.t., the log-likelihood

$l(\lambda)=\sum\limits_{n=1}^{N}ln(\lambda) + ln(t_n-t_{n-1})-\lambda(t_n-t_{n-1})$

For MLE, setting $\dfrac{dl}{d\lambda}=0$, we get,

$\sum\limits_{n=1}^{N}\dfrac{1}{\lambda} - (t_n-t_{n-1})=0$

$\implies \dfrac{N}{\lambda_{MLE}} = \sum\limits_{n=1}^{N}(t_n-t_{n-1})$

$\quad \quad = t_N-t_{N-1}+t_{N-1}-t_{N-2}+\ldots+t_2-t_1+t_1-t_0=t_N-t_0$

$\quad \quad =t_N$


  • $\begingroup$ Nice, this result can be extended for cases where you only have part of the events’ times, and even when you sample regardless around events $\endgroup$ Commented Jun 13, 2022 at 16:31

Expanding from @sandipan-dey's answer for homogenous process: equasions


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.