Tutorials › Stochastic Processes › Simulating Poisson Counts on a Fixed Time Grid

Simulation of Stochastic Processes · Tutorial 983 of 994

Simulating Poisson Counts on a Fixed Time Grid

Generate Poisson counts on a fixed time grid, and understand what the grid records exactly—and what it cannot tell you about event times.

Intermediate 11 min read

What You'll Learn

  • Choose interval-specific Poisson means from the rate and grid widths.
  • Simulate independent increments and accumulate them into process values.
  • Verify why grid-aligned counts have the correct Poisson distributions.
  • Aggregate fine-grid increments to recover coarser-grid counts.
  • Distinguish exact interval counts from approximate event-time locations.
  • Identify why a Bernoulli draw is not a general substitute for a Poisson count.

Counts on a Fixed Grid

A homogeneous Poisson process is often introduced through its exponential waiting times. For simulation on a computer, it can be more direct to work with counts over a chosen collection of time intervals. This approach gives exact counts at the grid points, provided the increments are drawn from the correct Poisson distributions. It does not, by itself, reveal the exact event times within each interval.

Work on a probability space \((\Omega,\mathcal{F},\mathbb{P})\). A homogeneous Poisson process \((N_t)_{t\geq 0}\), with state space \(S=\{0,1,2,\ldots\}\) and continuous time \(t\geq0\), has rate \(\lambda>0\), starts at \(N_0=0\), and has independent increments with \(\mathbb{P}(N_t-N_s=k)=e^{-\lambda(t-s)}[\lambda(t-s)]^k/k!\) for \(0\leq s<t\) and \(k\in S\). Thus the number of events in an interval of length \(h\) has a Poisson distribution with mean \(\lambda h\). We use the right-continuous counting-process convention; for a fixed deterministic time \(t\), the probability of an event exactly at \(t\) is zero.

Definition: A fixed time grid on \([0,T]\) is a sequence \(0=t_0<t_1<\cdots<t_m=T\). Its interval widths are \(\Delta_i=t_i-t_{i-1}\). To simulate the process on this grid, draw independent counts \(Y_i\sim\operatorname{Pois}(\lambda\Delta_i)\), then set \(N_{t_0}=0\) and \(N_{t_i}=\sum_{r=1}^{i}Y_r\). The value \(Y_i\) is the count in \((t_{i-1},t_i]\).

For a uniform grid with spacing \(h=T/m\), every increment has distribution \(\operatorname{Pois}(\lambda h)\). The increments, not the cumulative values \(N_{t_i}\), are independent. The cumulative count at a grid point is obtained by adding all the increments up to that point.

The algorithm needs a random-number generator that can produce Poisson random variables, or a method for generating them from uniform random numbers. In either case, the mean for interval \(i\) is \(\lambda\Delta_i\); using \(\lambda T/m\) is correct only when the intervals have equal width. The increments must be generated independently. A recipe that instead generates independent cumulative values at grid points generally does not have the required increment structure.

1
Specify the grid and rate.
Choose \(T\), the grid points, and \(\lambda>0\). Calculate each width \(\Delta_i=t_i-t_{i-1}\).
2
Draw the increments.
Independently generate \(Y_i\sim\operatorname{Pois}(\lambda\Delta_i)\) for \(i=1,\ldots,m\).
3
Accumulate the counts.
Set \(N_{t_i}=N_{t_{i-1}}+Y_i\). The result is a simulated count at every grid point.
4
Keep the interpretation precise.
The interval counts are simulated exactly in distribution. The grid values do not specify exact event times inside the intervals.

Why the Grid Algorithm Has the Correct Count Law

Theorem (Grid-increment validity and aggregation): Let \(0=t_0<t_1<\cdots<t_m=T\), and let \(Y_1,\ldots,Y_m\) be independent with \(Y_i\sim\operatorname{Pois}(\lambda\Delta_i)\). Define \(N_{t_i}=\sum_{r=1}^iY_r\). Then each grid-aligned increment \(N_{t_b}-N_{t_a}\), for \(0\leq a<b\leq m\), has distribution \(\operatorname{Pois}(\lambda(t_b-t_a))\). In particular, the total \(N_T\) has distribution \(\operatorname{Pois}(\lambda T)\). If several consecutive fine-grid intervals are grouped together, their sum has the Poisson distribution whose mean is \(\lambda\) times the grouped interval’s length.

Proof. By the definition of the cumulative counts, \(N_{t_b}-N_{t_a}=\sum_{r=a+1}^{b}Y_r\). The summands are independent Poisson variables. To verify the law of their sum directly, first consider independent \(U\sim\operatorname{Pois}(\alpha)\) and \(V\sim\operatorname{Pois}(\beta)\), where \(\alpha,\beta>0\). For an integer \(k\geq0\), their sum has probability

$$ \begin{aligned} \mathbb{P}(U+V=k) &=\sum_{r=0}^{k}\mathbb{P}(U=r)\mathbb{P}(V=k-r)\\ &=\sum_{r=0}^{k}e^{-\alpha}\frac{\alpha^r}{r!} e^{-\beta}\frac{\beta^{k-r}}{(k-r)!}\\ &=e^{-(\alpha+\beta)} \frac{1}{k!}\sum_{r=0}^{k}\binom{k}{r}\alpha^r\beta^{k-r}\\ &=e^{-(\alpha+\beta)}\frac{(\alpha+\beta)^k}{k!}. \end{aligned} $$

The last equality is the binomial formula, so \(U+V\sim\operatorname{Pois}(\alpha+\beta)\). Repeatedly applying this calculation to the independent variables \(Y_{a+1},\ldots,Y_b\) shows their sum is Poisson with mean \(\sum_{r=a+1}^b\lambda\Delta_r=\lambda(t_b-t_a)\). Taking \(a=0\) and \(b=m\) gives the stated law of \(N_T\). Grouping any consecutive set of increments uses the same sum calculation, proving the aggregation claim. \(\square\)

The argument proves exact count distributions at the grid points and for intervals whose endpoints are grid points. It does not provide exact counts on intervals with endpoints between grid points, because those counts require information inside a grid cell. Nor does it establish an exact event-time path from the counts alone.

Worked Simulations

Worked Example: Generating Counts on an Unequal Grid

Simulate a rate-\(2\) process on the grid \(0,\tfrac12,\tfrac32,2\). For illustration, use independent uniforms \(0.20,0.50,0.80\) as inputs to inverse-transform sampling for the three Poisson increments. For a uniform input \(U\), choose the smallest integer \(k\geq0\) whose Poisson cumulative probability is at least \(U\).

The interval widths are \(\Delta_1=\tfrac12-0=\tfrac12\), \(\Delta_2=\tfrac32-\tfrac12=1\), and \(\Delta_3=2-\tfrac32=\tfrac12\). The corresponding Poisson means are \(2(\tfrac12)=1\), \(2(1)=2\), and \(2(\tfrac12)=1\).

For the first increment, the mean is \(1\). Its probability of zero is \(e^{-1}\approx0.3679\), which exceeds \(0.20\). Therefore the first increment is \(Y_1=0\).

For the second increment, the mean is \(2\). The probabilities at \(0,1,2\) are respectively \(e^{-2}\approx0.1353\), \(2e^{-2}\approx0.2707\), and \(2e^{-2}\approx0.2707\). The cumulative probabilities through \(0,1,2\) are therefore approximately \(0.1353\), \(0.4060\), and \(0.6767\). Since \(0.4060<0.50\leq0.6767\), \(Y_2=2\).

For the third increment, the mean is \(1\). The cumulative probability through \(1\) is \(e^{-1}+e^{-1}=2e^{-1}\approx0.7358\), which is less than \(0.80\). The probability at \(2\) is \(e^{-1}/2\approx0.1839\), so the cumulative probability through \(2\) is \(2.5e^{-1}\approx0.9197\). Thus \(Y_3=2\).

Accumulating the increments gives \(N_0=0\), \(N_{1/2}=0+0=0\), \(N_{3/2}=0+2=2\), and \(N_2=2+2=4\). The simulated total has the required distribution \(\operatorname{Pois}(2\cdot2)=\operatorname{Pois}(4)\), regardless of the particular uniform inputs.

Check: The final count is the sum \(0+2+2=4\). The simulated count on the first interval is \(0\), on the second is \(2\), and on the third is \(2\); adding the last two intervals gives \(2+2=4\) events over \((\tfrac12,2]\), whose length is \(2-\tfrac12=\tfrac32\).

Worked Example: A Fine Grid and Its Coarse Counts

Take \(\lambda=2\) on \([0,1]\). Split the interval into four pieces of width \(\tfrac14\), so each fine increment has mean \(2(\tfrac14)=\tfrac12\). Suppose the simulated fine increments are \(1,0,2,1\).

The fine-grid cumulative counts are \(N_{1/4}=1\), \(N_{1/2}=1+0=1\), \(N_{3/4}=1+0+2=3\), and \(N_1=1+0+2+1=4\). If the coarse grid uses only \(0,\tfrac12,1\), its first count is the sum of the first two fine increments, \(1+0=1\). Its second count is the sum of the last two, \(2+1=3\). The coarse cumulative values are consequently \(1\) and \(1+3=4\), agreeing with the fine-grid values at the shared endpoints.

This is a pathwise aggregation statement when the coarse counts are formed by summing the fine counts. The first coarse increment has distribution \(\operatorname{Pois}(\tfrac12+\tfrac12)=\operatorname{Pois}(1)\), and the second has that same distribution. They are independent because they use disjoint collections of independent fine increments. The total therefore has distribution \(\operatorname{Pois}(1+1)=\operatorname{Pois}(2)\).

For a direct numerical check of the total-count law, the probability of exactly \(4\) events is \(e^{-2}2^4/4!=e^{-2}(16/24)=\tfrac23e^{-2}\). This is the same whether the total is generated as one \(\operatorname{Pois}(2)\) variable, as two independent \(\operatorname{Pois}(1)\) coarse increments, or as four independent \(\operatorname{Pois}(\tfrac12)\) fine increments summed together.

Check: The fine increments sum to \(1+0+2+1=4\). The coarse increments sum to \(1+3=4\). The aggregate is unchanged because the coarse intervals are unions of the fine intervals; the claimed distribution follows from the proved Poisson-sum calculation.

Worked Example: What a Finer Grid Reveals

Use the same rate \(\lambda=2\) and horizon \([0,1]\). Suppose a coarse grid with points \(0,\tfrac12,1\) gives increments \(2\) and \(1\). The cumulative counts are \(N_{1/2}=2\) and \(N_1=2+1=3\). These values determine that there were two events in the first half and one in the second half, but they do not specify the event times within either half.

Now divide each half into two quarters. One possible fine-grid realization has increments \(1,1,0,1\). Grouping the first two gives \(1+1=2\), and grouping the last two gives \(0+1=1\), so this fine realization agrees with the coarse counts. The finer grid locates one event in each of the first two quarter-intervals and one in the final quarter-interval. It still does not give exact times within those quarters.

For a uniform grid of width \(h\), a count in a cell locates each event only to that cell. Reporting the left endpoint as a time estimate gives a time error less than \(h\) for an event in that cell, since the event lies after the left endpoint and no later than the right endpoint. With width \(\tfrac12\), the bound is \(\tfrac12\); with width \(\tfrac14\), it is \(\tfrac14\). These are localization bounds, not claims that an event occurred at the reported endpoint. Counts alone do not justify placing the event at the midpoint or assigning a particular within-cell time.

Check: The coarse counts add to \(2+1=3\), and the fine counts add to \(1+1+0+1=3\). The shared endpoint count is also the same: after the first two fine intervals, \(1+1=2\). Refinement adds temporal resolution but has not changed either coarse interval count.

Choosing and Interpreting Grid Resolution

The grid is a choice about what to record, not a change to the rate \(\lambda\) or to the Poisson count law. If a grid cell has width \(\Delta_i\), the correct count distribution is \(\operatorname{Pois}(\lambda\Delta_i)\). Smaller cells have smaller means and provide finer localization; larger cells provide fewer simulated increments and coarser event-time information.

For a fixed realization generated on a fine grid, counts over coarser, grid-aligned intervals are recovered exactly by adding the fine increments. Conversely, if counts are simulated afresh on two different grids, the resulting totals need not match in that particular pair of runs. The theorem guarantees that each total has the same \(\operatorname{Pois}(\lambda T)\) distribution, not that independently generated totals are identical. To compare paths at multiple resolutions while preserving a shared realization, generate fine increments and aggregate them for the coarser grid.

A fixed-grid simulation is useful when an analysis needs counts at regular observation times, such as daily totals or counts per time step. It is also a natural way to simulate the process at those times without generating every waiting time. If an application needs the exact event times, however, counts on a finite grid are not sufficient. The grid can bracket the events more closely as it is refined, but it cannot recover their exact locations from the counts alone.

Common mistake. A Poisson count is not generally a Bernoulli indicator for whether at least one event occurred. For \(\lambda=1\) and an interval of width \(1\), using a Bernoulli variable with success probability \(\lambda h=1\) would force exactly one event in every interval. The correct count is \(\operatorname{Pois}(1)\): its probability of zero events is \(e^{-1}\approx0.3679\), its probability of one event is \(e^{-1}\approx0.3679\), and its probability of at least two events is \(1-2e^{-1}\approx0.2642\). The Bernoulli calculation discards the possibility of multiple events and gives the wrong probability of no event. A Bernoulli approximation may be used as an approximation in a suitably small time step, but it is not the exact fixed-grid Poisson simulation described here.

Check Your Understanding

Use the rate, interval widths, and aggregation rule to answer the following questions.

  1. For rate \(\lambda=3\) and grid points \(0,\tfrac13,1\), what is the distribution of each increment? What is the distribution of the total count at time \(1\)?
  2. Suppose four independent fine-grid increments are \((0,2,1,0)\). What are the total count and the two coarse increments when the first two and last two fine intervals are grouped?
  3. Explain why the values of \(N_t\) at all grid points do not specify exact event times inside the grid cells.
  4. If independent coarse-grid and fine-grid simulations produce different totals on the same horizon, does this contradict the aggregation result? Explain the distinction.
  5. For \(\lambda=2\) and a cell of width \(\tfrac14\), give the correct distribution of the cell count and explain why a Bernoulli variable with success probability \(\lambda h\) is not the exact count distribution.