Poisson & Point Processes

the non-homogeneous Poisson process

Real arrivals rarely keep a constant pace. A restaurant is dead at 3pm and slammed at 7pm; emergency-room visits surge on weekends; website hits track daylight across the globe. The non-homogeneous Poisson process keeps everything good about the Poisson process but lets the rate breathe: instead of a single number lambda, the rate is a function lambda(t) that rises and falls with time.

The right bookkeeping device is the integrated rate, called the mean function: m(t) = integral from 0 to t of lambda(u) du, the expected number of events accumulated by time t. The count in any interval (s, t] is then Poisson with mean m(t) - m(s) = integral from s to t of lambda(u) du, and counts in disjoint intervals are still independent. So you replace 'lambda times length' with 'area under the rate curve'; everything else (independent increments, one-at-a-time arrivals) survives. A clean way to picture and simulate it: run a constant-rate Poisson process and then either stretch/squeeze the time axis by the mean function, or generate a homogeneous process at a rate at least as high as the peak and randomly thin it down to match lambda(t) at each instant.

Two honest notes. First, you lose the memoryless interarrival times — gaps are no longer identically distributed exponentials, because a gap straddling the evening rush behaves differently from one at dawn. The order-statistics property also generalizes: given n events in a window, their positions are independent but distributed in proportion to lambda(t), not uniformly. Second, the non-homogeneous process still assumes events are independent given the rate; if events also influence each other (one fire raising the chance of the next), you need a self-exciting model instead, which is a different beast.

A bakery's arrival rate is lambda(t) = 10 + 8*t per hour over a 4-hour morning (t in hours). The expected number of customers in the first 2 hours is the area m(2) = integral from 0 to 2 of (10 + 8u) du = 20 + 16 = 36. The count in that window is Poisson with mean 36, even though the rate climbed from 10 to 26 over those two hours.

Replace lambda*t by the area under lambda(t): the count is Poisson with that integrated mean.

Interarrival times are no longer identically distributed exponentials when the rate varies — only the count-in-a-window stays Poisson, now with mean equal to the integral of lambda over that window.

Also called
NHPPinhomogeneous Poisson processtime-varying rate process非齊次卜瓦松過程時變速率過程