An Introduction to Non-Homogeneous Poisson Process and Its Application

Zoe Huang
6 min readMar 13, 2024

--

Pre-knowledge: Poisson Distribution

Basic Concept of Poisson Process

The Poisson process is one of the most widely-used counting processes, which is usually used in scenarios of counting the occurrences of certain events that appear to happen in a certain time interval or a certain space interval, with a occurrence rate (or intensity) λ. For example, hourly visitors to a website, daily received calls in a customer center can be modeled by Poisson Process.

Since Poisson process is a kind of counting processes, before we move on, we need to take a closer look to the definition of the counting process.

Def 1: A stochastic process {N(t), t ≥ 0} is called a counting process if:

  • N(t) represents the total number of events that occur by time t
  • N(t) ≥ 0
  • N(t) is an integer
  • When s < t, N(s) ≤ N(t)
  • For any s < t, N(s) — N(t) equals the number of events that occur in the time interval (s,t]

Expressed in words, a counting process {N(t), t ≥ 0} must have:

  • Independent increments: the number of events that occur in disjoint time intervals are independent;
  • Stationary increments: the distribution of the number of events occurring in any time interval depends only on the length of the time interval.

Def 2: A count process {N(t), t ≥ 0} is called a Poisson Process with parameter λ > 0 if:

  • N(0) = 0
  • The process has independent and stationary increments
  • The number of events occurring in any interval of length t is Poisson distributed with mean λt. That is, for any s,t ≥ 0:

By definition of Poisson Process, we can know that the intensity λ remains constant over time, however, this condition is hard to be satisfied in the real world. Thus, we are considering a more realistic method called Non-Homogeneous Poisson Process (NHPP), that is a generalization of the Poisson Process. The NHPP has the intensity function depending on time, that is to say, this process allows the occurrence of event changes with not only the interval length but also the location.

Concept of Non-Homogeneous Poisson Process

Def 3: A count process {N(t), t ≥ 0} is called a Non-Homogeneous Poisson Process with the intensity function λ(t), t ≥ 0, if:

  • N(0) = 0
  • The process has independent increments
  • For any 0 ≤ s ≤ t, N(t) -N(s) follows the Poisson distribution with the intensity function of

That is,

eq.1

Where Poisson intensity,

eq.2

Based on the definition above, the expected number of events over time interval [0,t] follows the Poisson distribution with expected value,

eq.3

Then, the probability of having k events in time interval [t, t+x] is,

eq.4

Same as Poisson distribution, the expectation and variance of NHPP are both equal to the intensity function (eq.3).

Example

There is a customer service center in a shopping mall, receiving calls from customers. Based on historical data, to predict how many calls the customer service team can receive per week. The weekly numbers of calls for Q1 2021 is showed below.

Since the calls are made by customers among the country, the events can be considered as independent. It can be seen in the figure above that the call volume is gradually increasing by time, so it’s reasonable to choose a NHPP model rather than HPP with constant intensity.

1. Maximum Likelihood Estimation of Intensity

To estimate the intensity, a feasible approach is to use Maximum Likelihood Estimation (MLE). We are attempting to build a NHPP model that weekly intensity is varied by time, however, we assume that daily calling intensity remains constant in a single week. Therefore, considering a homogeneous Poisson process with rate λ, we observe the process for a time T and count N observations. Then the likelihood is,

Log-likelihood is,

Let dl/dλ = 0, then

So, λ_estimated = N/T. In this case, N is the total number of calls per week and T equals to 7 (days). In the other words, λ is average calls per day by week, shown in table below. Average calls per day is simply obtained through dividing calls per week by 7.

2. Calculating Intensity with Linear or Non Linear Regression

Simple linear regression is the most straightforward approach to find out a relationship between an independent variable X and a dependent variable Y. So the equation here is adopted to calculate the intensity over time:

eq.5

If the plot of number of weekly calls is more likely to be a curve rather than a straight line, so the quadratic regression could also be used if necessary. In this case, 1st order regression is a better choice.

Using eq.5 for data in table 2, a simple linear regression approach is obtained for the number of calls each day, as follows:

eq.6

Then through eq.3, we obtain that,

eq.7

Based on equation (1), (4) and (7), a one-dimensional distribution is obtained for non-homogeneous Poisson processes on weekly call volume in Q1 2021 as the following equation shown:

Now, let’s validate this model, by comparing the fitted weekly call volume to the actual value. An example of calculating the fitted value during the week staring on 03/29/2022 will shown here. The time interval should be [84, 91), where the length of the interval is 7 (days) and s = 84. Using equation (4), we have the result,

The standard deviation is

According to the model, during this week, the customer team would receive 152 calls with a standard deviation of 12. And the actual number of calls during this week is 165.

The full data of actual value and fitted value is shown in the table below.

3. Discuss the model

So far the model works as expected, however, there are some significant weaknesses of this NHPP model.

  1. There’s no loss function in the model so it’s unable to optimize the model.
  2. In order to use NHPP, we assume the event of making calls is a random event, however, the customer could be driven by marketing campaigns, targeted ads, etc. and making more calls due to the non-random factors.
  3. In the procedure of building the model, we skipped the step of data validation. Since NHPP assumes the occurrence of events in an interval is Poisson distributed, the sample mean is supposed to equal the sample variance.

--

--