Processes over Distributions
How one complete uncertain object produces compatible distributions whenever finitely many indices are selected—and how Gaussian and Dirichlet processes produce two different kinds of object.
One uncertain object can carry a value at every index
Imagine describing tomorrow’s uncertain temperature throughout the day. Let be the temperature at noon. Asking about noon means asking for probabilities such as : the probability that noon’s temperature lies between 68° and 72°. The time “noon” selects the random variable; the temperature range is the event receiving a probability.
Asking about noon and 6 p.m. together means asking for one probability that both temperature statements are true on the same day:
This is the probability that noon lies between 68° and 72° while 6 p.m. lies between 60° and 64°. A model for the complete day must answer this kind of question for every finite list of times.
Each selected list reveals temperatures considered together
Its distribution assigns probabilities to possible noon temperatures.
One distribution assigns probabilities to possible pairs of temperatures.
The process supplies one distribution for every selected finite list.
A probability distribution that describes several random values together is their joint distribution. The two-time joint distribution describes possible pairs of temperatures; a longer finite list produces a longer vector of temperatures considered together.
The noon range can be asked of the noon distribution alone or of the two-time distribution for noon and any arbitrary time :
The two distributions must assign the same probability to the displayed noon range. The same requirement holds for every possible noon range and, in the other direction, for every possible temperature range at . This agreement is compatibility.
Compatibility is the agreement condition linking the resulting distributions: every two-index distribution must contain the one-index distributions assigned to its two indices, every three-index distribution must contain the assigned one- and two-index distributions, and the same pattern continues. Compatibility is therefore a relationship among the chosen distributions.
Formally, the possible times, locations, or other labels form an index set , and is the random quantity attached to index .
Tomorrow’s temperature at noon.
The two temperatures considered jointly.
Three temperatures considered jointly.
The symbols stand for whichever finite list of actual indices is selected. Thus may mean the noon value, the noon-and-6-p.m. pair, the 8-a.m./noon/6-p.m. triple, or any other finite list.
In the temperature example, one complete indexed object is one possible temperature profile for the entire day. A stochastic process assigns probabilities across these complete indexed objects. Whenever indices are selected, each possible object supplies one vector of attached values . The probabilities assigned to the complete objects therefore produce a joint distribution over these vectors. The process supplies such a joint distribution for lists of every finite length, while compatibility makes the distributions agree on every index or sublist they share.
To see how compatibility works, consider three times: , , and . The two-time list asks about 8 a.m. and noon, while asks about noon and 6 p.m. Both lists contain the same noon temperature .
Suppose the noon question asks whether the temperature lies between 68° and 72°. Write for that whole range and for one possible temperature inside it. The statement records that 70° belongs to the selected range. The event asks whether noon is exactly 70°, while asks whether noon lands anywhere from 68° through 72°.
A continuous temperature model assigns probability zero to each exact point. The probability of a range accumulates the local concentration of probability across all . The function describing that local concentration is the probability density , and its integral across gives the range probability:
The event concerns the shared noon temperature. It can therefore be asked of the noon-only distribution, the 8-a.m.–and-noon distribution, or the noon-and-6-p.m. distribution. Compatibility requires the same probability for that event in all three places.
Compatibility means that all three distributions assign the same probability to the displayed event for the shared random value . The same requirement extends to lists of any finite length: the process supplies a joint distribution for each list, and any overlapping sublist carries the same distribution everywhere it appears.
Observed input–output pairs reveal an unknown function
Suppose the observed data are pairs , collected as . The input might be a time or dosage, and the output might be a temperature or measured response. The goal is to learn the relationship well enough to predict the output at a new input. This prediction problem is called regression.
Begin with one fitted function : one deterministic input–output rule selected to explain the observations and predict new outputs. Several deterministic functions may explain the observed pairs while giving different outputs between them or beyond their range. Replacing the single commitment with a probability distribution over these plausible functions preserves that uncertainty.
Each plausible function is one complete deterministic mapping across the input domain. Once a particular function is selected, it assigns one definite value to every input . The observed input–output pairs change the probability of each complete function according to how well that one mapping explains the data as a whole. At a new input, the same collection of functions supplies the possible outputs.
“At this input, my best guess is 0.4.”
Reports the center of the prediction.“At this input, here is the probability assigned to every plausible y.”
The width can change with the location of the evidence.At one chosen input , every plausible function supplies one possible value . The probabilities assigned to the functions therefore produce a probability distribution over the possible values of . At two chosen inputs, every function supplies an ordered pair . A probability distribution over these pairs describes the two function values together, so it is called their joint distribution.
Each plausible function contributes one possible output.
Each plausible function contributes one possible pair of outputs.
Each plausible function contributes one possible vector of outputs.
These output vectors make a probability distribution over complete functions concrete. A Gaussian process assigns probabilities to functions so that, whenever inputs are selected, their function values have a multivariate Gaussian joint distribution.
The function itself covers the complete input domain, which may contain every real number in an interval. The word finite describes only how many inputs are selected in one question: perhaps two, ten, or one thousand. One selected input gives an ordinary Gaussian distribution, two selected inputs give a two-dimensional Gaussian distribution, and selected inputs give an -dimensional Gaussian distribution. The two-input distribution also records whether the two function values tend to be high and low together.
A Gaussian process supplies one such joint distribution for every finite selection of inputs. Compatibility makes the distributions agree whenever their selected inputs overlap.
How to build a Gaussian process
A Gaussian process places probability over complete functions. To shape those probabilities, it describes where function values tend to lie at each input and how values at different inputs tend to move together. The mean function and covariance kernel carry these two relationships across the complete input domain. Applying the same two rules to every selected finite list produces Gaussian joint distributions that remain compatible when the lists overlap.
First find their center; then see how their values move together
Each plausible function supplies one dot. Their vertical average gives the center at this input.
Each connecting line belongs to one function. Its value at x is paired with its value at x′.
At one input , the plausible functions supply many possible values. Their average marks the center of those values. Repeating this at every input produces a rule that returns the center wherever is chosen. This rule is the mean function.
Now choose two inputs and . Across the plausible functions, values above the center at may tend to appear with values above the center at . Learning one value would then raise the plausible values at the other input. The strength and direction of this co-movement are summarized by their covariance, written . A large positive value represents strong movement in the same direction; a value near zero represents a weak relationship. When the two inputs are the same, gives the variance of the possible values at .
Because this covariance rule accepts a pair of inputs and returns their covariance, it is called a covariance kernel. The kernel itself always receives two inputs. For a selected list , apply it to every ordered pair . Those pairwise answers fill an covariance matrix, while the mean function is applied once to each input to fill a mean vector:
The same functions and are used for every selected list. Consequently, an input shared by two lists receives the same mean, variance, and covariance relationships in both. This is the rule that makes the Gaussian distributions compatible.
Where functions are centered before seeing data.
How strongly two function values move together.
Its possible realizations are complete deterministic input–output rules.
Different kernels produce different families of plausible functions. They can express smoothness, periodicity, roughness, and other relationships. The radial basis function (RBF) kernel is one particular kernel. It expresses the belief that inputs close together should have similar function values, with covariance decreasing smoothly as their distance grows. Its length scale determines how quickly that relationship fades. Its function scale uses the lowercase Greek letter and determines the overall spread of possible function values:
Pair one input with itself. Its distance from itself is zero, so the exponential becomes one and the kernel returns . Because is the variance of the possible function values at , the function scale is their standard deviation around the mean function.
The RBF kernel calls this influence distance its length scale. Small values allow rapid wiggles; large values favor slowly changing functions.
Its square is the variance of possible function values around the mean function.
Covariance is highest at the same input and decreases as the two inputs separate.
Using the Gaussian process for inference
The original goal was to replace one fixed predictive function with a probability distribution over complete candidate functions. The mean function and covariance kernel now provide that distribution. The next task is to use measured input–output pairs to determine which candidates remain plausible and then predict at an input where no output has been measured.
Measurements reshape the distribution of function values
The cyan line is the mean function. The band is the central 95% range of function values at each input.
The distribution is unchanged here; the gold points show the measured input–output pairs it must explain.
The mean moves toward the measurements, and the band narrows most where measurements inform the function.
The first panel summarizes the starting probabilities across functions. At each input, the cyan line marks their average value and the band contains the central 95% of their values. These probabilities vary according to the chosen mean and kernel: a zero mean function centers the candidates around zero, while the RBF kernel gives more probability to candidates whose values change smoothly across its length scale. This starting distribution is the prior distribution over functions.
The middle panel leaves that distribution unchanged and places the measured input–output pairs over it. The third panel shows the computed result after those measurements are used. Its mean moves toward the observed outputs, and its band narrows most near observed inputs. This change occurs because complete functions that explain all the measurements receive more relative probability than functions whose values lie farther away.
The RBF kernel is the covariance rule used to construct the joint Gaussian distribution of function values. A draw from that joint distribution supplies connected values belonging to one candidate function . Its value is the output that this candidate assigns to input . The candidate function therefore comes from a Gaussian-process draw; it is the object being learned and used for prediction.
A measured pair compares one candidate function with reality. For example, a candidate may assign while the measurement at that input is . Their difference is . This difference is the candidate’s residual at that input. Repeated measurements can vary around the underlying response because of sensor variation and influences outside the function. Represent that measurement variation by a random quantity called observation noise. The measured output is:
The lowercase is the standard deviation of measurement noise. Its subscript distinguishes it from the function scale . The RBF kernel uses to describe the prior spread of underlying function values; the observation model uses to describe how far measurements typically vary from those values. The noise draws are independent across measurements and independent of the candidate function.
For one complete candidate function, calculate a residual at every measured input. Small residuals across the entire dataset make the measurements more probable under that candidate; large residuals make them less probable. The resulting data-dependent multiplier is the likelihood. Write the measured inputs as and their outputs as . Under the Gaussian observation model, the likelihood has the form:
The squared residuals appear in the exponent. A smaller makes the likelihood fall rapidly as a candidate moves away from the measurements. A larger makes that fall slower, so residual differences produce a smaller change in the candidates’ relative probabilities.
Multiply each candidate’s prior probability by its likelihood, then normalize the results so that the updated probabilities sum to one. This multiplication-and-normalization rule is Bayes’ rule. Using it to incorporate the observed data is called conditioning, and the updated distribution is the posterior distribution over functions:
Now select a new input . Every posterior candidate supplies one value from the same complete function that was compared with all the measurements. The distribution across these values describes uncertainty about the underlying response at . A future measured output also includes a new draw of observation noise:
The resulting distribution of possible future measurements is the posterior predictive distribution. It is the probabilistic answer sought at the beginning: a center and a spread over plausible outputs at the selected input, informed by every observed pair.
Move the question, then change what “nearby” means
Move the question location in the laboratory. Near several observations that support similar function values, the predictive distribution is narrow. In the large gap or near an edge, it widens. Increase the observation noise and differences in residual error change the relative function probabilities less. Increase the RBF length scale and an observation changes predictions across a wider range of inputs. Increase the function scale and the prior allows function values farther above and below the mean function.
With a zero mean function and the RBF kernel, the posterior mean function is a weighted sum of RBF kernel shapes centered at the observed inputs. The measured outputs determine the weights; the length scale determines how far each centered shape reaches.
The laboratory performs this Bayes update at every question location. Gaussian distributions make the update calculable without listing or scoring the candidate functions one by one. The same calculation can be organized in four steps:
- 1Collect the measured pairs
Write the observed inputs as and their outputs as .
- 2Relate every pair of observed inputs
Apply the kernel to each pair and place the answers in , where .
- 3Connect the question location to the data
Place for every observed input in , and compute its prior variance .
- 4Condition the joint Gaussian distribution
Combine , , , , and to obtain the predictive center and spread at .
Before the outputs are observed, the measured outputs and future output belong to one joint multivariate Gaussian distribution supplied by the process. Conditioning that distribution on gives this posterior predictive distribution when the mean function is zero:
The first expression is the predictive mean. It combines observed values according to their kernel relationship with . The second expression begins with the prior variance and removes the part resolved by kernel connections to the observed inputs. The final adds the variation of a new measurement around its underlying function value.
From uncertain functions to uncertain distributions
Gaussian-process inference placed probability over complete predictive functions. Selecting an input revealed the uncertain output assigned by those functions. The same stochastic-process strategy can serve a different inference problem in which the complete unknown object is a probability distribution. That distribution will describe which data-generating groups exist and how frequently observations arise from each one.
Suppose the observed values are delivery times. Several fast observations may share one data-generating group, typical observations another, and slow observations another. Only the measured times are visible. The number of groups, the delivery-time pattern produced by each group, the probability of using each group, and the group used by each observation are all unknown.
The data are visible; their group assignments are inferred
Begin with possible groups. Call each data-generating group a component. Component has a probability distribution describing the delivery times it generates. The parameter may contain that component’s mean delivery time and spread, while its weight is the probability that a new observation uses it. First the model chooses a component; then it draws a measured value from that component’s distribution. The unobserved choice for observation is its component assignment . Observations with the same component assignment form a cluster. The weighted collection of component distributions is a mixture model.
In this finite mixture, the number of components was selected in advance. Allowing the data to support another component requires an uncertain, growing collection of component parameters and weights. Represent that collection with one uncertain probability distribution over possible component parameters. For each observation, a draw chooses the parameter of the component that generates . Repeated draws of the same parameter give those observations the same component assignment and therefore place them in the same cluster.
To see what says about possible component parameters, ask how much probability it assigns to broad ranges such as low, middle, and high values.
Let contain every possible component parameter . Divide into a low region , a middle region , and a high region . These regions group possible values; together they cover the whole space and they do not overlap. The symbol records this nonoverlapping union, so says that every possible parameter lies in exactly one displayed region.
The area is divided into three regions, each with its own probability mass
· together the regions contain every possible value of θ
The distribution assigns probability mass to possible component parameters. Thus is the probability that the parameter used for a new observation lies in the low region. The three displayed masses are nonnegative and sum to one. Refining the middle region asks the same distribution for a more detailed allocation of that mass.
Candidate distributions can divide their mass differently among the same regions. To describe their starting probabilities, first specify the average allocation of mass and then specify how strongly candidate allocations concentrate around that average. A fixed probability distribution supplies the average allocation: across candidates, the average mass of region is . A positive number controls the concentration around that allocation; larger values produce less variation among the candidate region masses. The fixed distribution is the base probability measure, and is the concentration parameter.
A probability distribution over is also called a probability measure because it assigns probability mass to regions. The known stochastic-process structure is now visible. A Gaussian process assigns probabilities to complete functions, and a finite input list reveals jointly Gaussian function values. Here probabilities are assigned to complete probability measures , and a finite partition reveals the mass that each candidate assigns to every region. When these region-mass vectors follow compatible Dirichlet distributions for every finite partition, the random probability measure follows a Dirichlet process:
It describes where a newly created component parameter is likely to lie.
Larger values keep the random region masses more tightly centered around H.
A draw supplies the weighted component parameters used by one mixture model.
The random distribution now supplies the component parameters and their weights, while supplies the observations generated by each component. Combining these two levels creates a Dirichlet-process mixture. Its number of occupied components can grow as observations provide evidence for new groups.
For two regions and its remaining region , the mass determines the remaining mass through . The first mass follows a Beta distribution with positive shape parameters and . For regions, the Dirichlet distribution supplies one shape parameter for each region. A Dirichlet process makes this finite Beta-to-Dirichlet pattern hold for every finite partition.
With two regions, the finite Dirichlet law is exactly a Beta law. This is the clean ladder from Beta to Dirichlet to Dirichlet process: two regions, then any finite partition, then one coherent random assignment of mass to every measurable region.
Finite function values and finite region masses play parallel roles
Repeated parameters form a growing collection of clusters
One random probability measure drawn from the Dirichlet process places probability mass on particular component parameters. Several draws from that same can therefore return exactly the same parameter. Observations whose parameters repeat belong to the same cluster; a newly drawn parameter begins a new cluster. A distribution that concentrates mass on individual points is called discrete, and a Dirichlet-process draw is discrete with probability one even when is continuous.
Picture each distinct component parameter as a table and each draw from as a customer. After draws, tables are occupied. Table represents one distinct parameter , and its customers record how many times that parameter has repeated.
Existing component parameters attract repeats; α reserves probability for a new one
The next draw reuses the parameter at table with weight . The concentration supplies the weight for opening a new table whose parameter is drawn from . Dividing by the total weight turns these weights into probabilities. This table-and-customer predictive rule is called the Chinese restaurant process. The symbol represents a distribution whose entire mass sits on the existing parameter :
This predictive rule averages across all possible values of . The operation is called integrating out , and it directly gives the probabilities of reusing an existing component parameter or drawing a new one from .
The number of occupied tables adapts as observations arrive. The concentration , the base probability measure , and the component density jointly shape how readily new clusters appear and how observations accumulate within existing clusters.
If the component parameters were known, they would also update the probability distribution over itself. Each known parameter adds probability mass at its location, while the total concentration grows from to . The resulting updated distribution remains a Dirichlet process:
Each component parameter that receives positive probability mass from is called an atom. A second construction makes these atoms and their weights visible. Break a unit-length stick repeatedly, draw one atom from for each piece, and place that piece of probability on its atom:
The fraction breaks off part of the probability still available at step . The resulting piece becomes the weight of component parameter . Repeating the construction indefinitely produces the complete discrete probability measure .
Different process families describe different kinds of complete random object
A process family begins with the kind of complete random object being described: a function, probability measure, event set, nonnegative measure, or feature set. Selecting finitely many inputs, regions, or features from that object reveals a joint distribution whose form is characteristic of the family. Gaussian, Dirichlet, Poisson, Gamma, Beta, and Bernoulli processes use this shared architecture for different objects and questions.
| Process | Finite question | Random object | Typical use |
|---|---|---|---|
| Gaussian | Function values are multivariate Gaussian | real-valued function | regression, spatial fields, time series |
| Dirichlet | Partition masses are Dirichlet | probability measure | clustering and mixture models |
| Poisson | Region counts are Poisson; disjoint counts are independent | random event set / counting measure | arrivals, spikes, spatial points |
| Gamma | Disjoint increments are independent Gamma variables | nonnegative random measure | random intensities and Bayesian priors |
| Beta | Random atoms carry inclusion weights in [0,1] | nonnegative random measure | growing collections of binary features |
| Bernoulli | Atoms are independently selected from supplied weights | random subset / feature vector | which features each observation possesses |
A Gamma-process draw assigns nonnegative mass to each region of its complete domain . Dividing every region’s mass by the total mass turns those masses into probabilities.
A beta-process draw supplies a probability for each possible feature. Given those probabilities, a Bernoulli-process draw selects the feature subset carried by observation .
For a selected region , let count its events and let be their expected count. The selected count follows a Poisson distribution.
Counts in disjoint regions are independent, linking the selected counts into one random event set.
From random events to events that change their own rates
A Gaussian process supplies an uncertain function; a Dirichlet process supplies an uncertain probability measure. Now consider events recorded by a detector. We want to describe the entire collection of event times, so that we can ask how many events occur in any selected interval. A Poisson process provides this distribution over event configurations. We will first derive its count probabilities, then recover its waiting times, and finally let each event change the conditions governing the next one. That last extension describes the activation and deactivation events in a neural population.
One draw is an event configuration
Suppose we choose to record the detector for two seconds, starting at time zero. This choice fixes the observation interval; what remains unknown is how many events will occur and when they will occur within it. The Poisson process describes that uncertainty. A draw supplies an event configuration, whose events within our chosen interval might occur at 0.4, 1.1, and 1.8 seconds. Another draw can give different event times and a different total count in the same interval. We can choose a longer or shorter observation interval as needed.
For the configuration with events at 0.4, 1.1, and 1.8 seconds, count how many events have occurred by each time: zero initially, one after 0.4 seconds, two after 1.1, and three after 1.8. The event timeline and this staircase describe the same outcome. Call the staircase the counting function, , where is elapsed time and .
Select the interval (t₁, t₂], with t₁ = 0 seconds and t₂ = 2 seconds: it includes times after t₁ up to and including t₂. In the configuration shown above, this extracts a count of three events. Selecting (0, 1] instead extracts one event. Once a configuration is fixed, these counts are fixed, just as selecting inputs from a fixed Gaussian-process function extracts fixed function values. Before the configuration is drawn, the count in a selected interval is uncertain; its probabilities come from the process that generates configurations. For example, the probability of at least one event in (0, 1] is the probability of the set of configurations containing at least one event in that subinterval.
The endpoints specify where an interval lies; its duration specifies how long it lasts. If we extend the recording beyond two seconds, counting events between 5 and 10 seconds means taking N(10) − N(5): the count up to 10 seconds minus the count up to 5 seconds. N(5) itself counts events from 0 to 5 seconds. For the constant-rate Poisson process considered here, intervals of equal duration have the same count distribution. Thus (0, 5], (5, 10], and (15, 20] all have the same count distribution, even though their observed counts can differ. Their counts are also independent because these intervals are disjoint. Overlapping intervals share events and generally have dependent counts.
For that same configuration, assign every interval its event count. Counts add when disjoint intervals are combined: the one event in (0, 1] plus the two events in (1, 2] give three in (0, 2]. Because this equality holds for every configuration, counting the whole interval directly or adding its two half-interval counts gives the same probability distribution. This is an instance of compatibility: the joint count distributions agree when we select the same intervals from different larger collections. Deriving all these counts from one random configuration supplies the compatibility in our earlier definition of a stochastic process. For each fixed configuration, these counts determine a counting measure. It assigns whole-number event counts to intervals and, more generally, measurable sets of times.
From possible configurations to a count probability
The displayed configuration answers a counting question once its event times are known. To predict a count before observing the events, we need to consider the other possible configurations of the same two-second interval and their probabilities. Several configurations can give the same count, just as several Gaussian-process functions can give the same value at a selected input. We will build a finite approximation, assign probabilities to its configurations, and add the probabilities of configurations with the requested count. Making the approximation finer will give the continuous-time count distribution.
First divide the interval into eight equal time slots, each a quarter of a second long. In the approximation, a slot contains either one event or zero events. The original times 0.4, 1.1, and 1.8 seconds occupy slots 2, 5, and 8. Other choices of three occupied slots describe other configurations with the same count. Each occupied slot records that an event occurred somewhere inside it; its precise time is left unspecified. The figure shows three such choices.
Different event times can give the same count
The slot choices specify the possible configurations; a probability rule tells us how likely each choice is. The illustrated configurations each contain three events in two seconds, an observed rate of 1.5 events per second. Choose a model rate of 1.5 events per second to match this example; its expected count in two seconds is three. Individual draws can still have different counts.
Our approximation uses eight slots, each holding either zero or one event. Make each slot independently occupied with probability 3/8. Across eight slots, the expected number of occupied slots is 8 × (3/8) = 3, giving three events on average.
More generally, call the rate and the duration . Their product is the expected count. Write n for the number of slots. Let be the probability that a particular slot is occupied. With the same probability for every slot, the expected count is . To make that count equal to, choose . The number of slots must be large enough that this probability is at most one. Here .
Configuration A's slot pattern has three occupied slots and five empty slots. Independence lets us multiply the eight probabilities: three factors of p₈ and five factors of 1 − p₈. Every other choice of three occupied slots has that same probability. Counting the choices gives the binomial coefficient, written “8 choose 3”.
For n slots and a requested count k, there are “n choose k” choices. Call the random occupied-slot count Nₙ(T). Adding the probabilities of these mutually exclusive choices gives its binomial distribution:
Eight slots are a coarse approximation: each permits at most one event. Refine to 16, then 32 slots, and onward, keeping T = 2 seconds and μ = 3 fixed. The slots become shorter, and their event probabilities fall to 3/16, then 3/32. Each finite approximation gives a consistent set of counting answers on its own grid; increasing n changes the approximate law. In the limit, events can occur at continuous times. Thus discretizing time constructs an approximation to the process; the process itself has no fixed time bins. A Poisson process supplies a Poisson count distribution for each selected interval, with these distributions satisfying compatibility across intervals.
To derive the Poisson distribution from the finite-slot approximation, let n increase without limit while keeping T, μ, and the requested count k fixed, where k is a nonnegative integer. The expression tends to , and tends to . The first line rewrites its expression as a product of k factors, indexed by i from zero to k − 1; each factor tends to one. Both arrows show the limit as n tends to infinity.
Deriving the two limits step by step
Keep the expected count μ and the requested count k fixed as n grows. We first expand the factorials in the first expression. For the second expression, taking its natural logarithm turns the changing power into a product whose limit we can calculate. Exponentiating then recovers the original expression. When μ = 0, the process has zero events with probability one; the steps below treat μ > 0.
Expand n choose k. Cancelling (n − k)! leaves k descending factors in the numerator.
Divide each of those k factors by n. The factors become 1, 1 − 1/n, and so on, ending at 1 − (k − 1)/n.
There are a fixed number k of factors, and each tends to one. Their product tends to one. For k = 0, the empty product is defined as one.
For n > μ, the base is positive, so take its natural logarithm and bring the exponent down in front.
To see how this logarithm behaves near zero, take 0 < x < 1. Over 0 ≤ u ≤ x, the integrand lies between 1 and 1/(1 − x). Bounding the area and negating gives these inequalities; u is the integration variable.
Divide by positive x. Both bounds tend to −1 as x shrinks to zero, so the expression between them must also tend to −1.
Set x = μ/n. The logarithm ratio tends to −1, while 1 − k/n tends to one and μ stays fixed.
Undo the logarithm by exponentiating. Continuity of the exponential turns the logarithm’s limit −μ into e to the power −μ.
The finite-slot probability is already the product of the two expressions whose limits we just calculated. By the product rule for limits, its limit is the product of their limits: replace by and by .
This gives the Poisson distribution for the count. Recall that μ = λT: the expected count equals the rate multiplied by the interval duration. Substituting λT for μ in both places gives. Write N(T) for the count in the continuous-time limit. Its probability for each whole-number count is:
Applying this construction consistently across the time axis gives the homogeneous Poisson process. “Homogeneous” means the rate is constant: equal-length intervals have the same count distribution. For times s and t with s ≤ t, the number of events in the interval (s, t] is the difference of the two cumulative counts:
These differences are called increments. Consider N(1) and N(2), the cumulative counts up to 1 and 2 seconds. Their difference N(2) − N(1) counts events in (1, 2]. Learning that N(1) = 3 leaves the distribution of N(2) − N(1) unchanged. This is independence: learning one count leaves the other’s probabilities unchanged. In this constant-rate Poisson model, increments over disjoint intervals are independent.
Now compare the first-second count N(1) with the total two-second count N(2). Before observing anything, N(2) could be zero. Learning that N(1) = 3 tells us immediately that N(2) ≥ 3, because those three events are included in both counts. This is dependence: learning one count changes the probabilities for the other. With the positive rate used in our example, N(1) and N(2) are dependent.
- N(1) and N(2) − N(1): independent, because they count events in disjoint intervals.
- N(1) and N(2): dependent, because N(2) includes the events counted by N(1).
This distinction matters when calculating probabilities. For independent counts, multiplying their separate probabilities gives the probability of both outcomes occurring together. For dependent counts, we account for how knowing one changes the probabilities of the other.
The whole process specifies these relationships as well as each interval’s count distribution. Compatibility ensures that selecting the same counts from different larger collections gives the same joint distribution. Independence of counts in disjoint intervals is an additional property of this Poisson model. Together, these properties let us combine interval counts while preserving a consistent description of the same random configuration.
From event counts to the time of the first event
So far, we have selected an interval and asked how many events it contains. The same event configuration also answers another question: how much time passes before the first event occurs? In our illustrated configuration, the first event occurs at 0.4 seconds. This elapsed duration is called the waiting time.
Now consider a new random configuration, before its event times are known. Our model has a rate of 1.5 events per second. Select the interval from 0 to 0.5 seconds and ask: what is the probability of zero events in this interval, given the rate and interval duration?
To calculate this probability across new draws, use the Poisson count formula with k = 0, rate λ = 1.5 events per second, and duration T = 0.5 seconds. Here zero is the requested count; the expected count is λT = 1.5 × 0.5 = 0.75. The factor (λT)ᵏ/k! becomes 0.75⁰/0! = 1/1 = 1, leaving only the exponential factor:
Therefore our model says that the probability that the waiting time exceeds 0.5 seconds is approximately 47.2%.
Let τ be the random waiting time until the first event, and let u be a chosen elapsed duration, such as 0.5 seconds. Given the model rate λ, asking for the probability that τ exceeds u is equivalent to asking for the probability of zero events in (0, u]. Here N(u) is the count in that interval. This probability is called the survival probability. Substituting k = 0 and duration u into the Poisson count formula gives:
Since the probability that the waiting time exceeds u is , the probability that it is at most u is . These two possibilities exhaust the outcomes. In other words, is the probability that the first event has occurred by time u. This is called the cumulative probability, written .
Plugging in u = 0.5 seconds and λ = 1.5 events per second gives: about a 52.8% chance that the first event has occurred by then. As u grows, this probability accumulates toward one.
The two curves below answer complementary questions at the same rate of 1.5 events per second. At each elapsed time u, their probabilities add to one: either the first event has occurred by then, or it is still to come.
No event by time u
At 0.5 seconds: 47.2% probability of zero events.
First event by time u
At 0.5 seconds: 52.8% probability that the first event has occurred.
This waiting-time distribution is called the exponential distribution. Its mean waiting time is 1/λ for a positive rate. A zero rate produces no events.
Generate a configuration by sampling successive waits
We have calculated probabilities for possible configurations. To simulate a recording, we now need to produce one configuration with those probabilities. Start at time zero, draw a waiting time, and place the first event that far along the timeline. Draw another wait and add it to the first event’s time to place the next event. Repeating these steps produces the event configuration; stop when the next event would fall beyond the recording.
The cumulative probability tells us how to draw each wait. Choose a number U uniformly between zero and one, find that height on the cumulative probability curve, and read off its elapsed time. For example, a height near 0.528 gives a wait near 0.5 seconds at our rate of 1.5 events per second. Because 52.8% of uniform draws fall below that height, approximately 52.8% of the sampled waits are at most 0.5 seconds, as required. Solving for the time at height U gives this sampling rule:
Here U is a fresh uniform draw in (0, 1), λ is the fixed rate, and τ is the sampled delay in seconds. Choosing independent uniform draws gives independent exponential waits. For example, waits of 0.4, 0.7, and 0.7 seconds place events at 0.4, 1.1, and 1.8 seconds—the configuration used earlier.
At a constant rate, observing no event for a while leaves the same distribution for the remaining wait. This follows because counts in the subsequent interval are independent of earlier counts and depend only on its duration. This property is called memorylessness. Successive independent exponential waits generate the same Poisson process whose count probabilities we derived.
The cumulative probability supplies the sampling rule directly. To examine how likely the first event is within a short interval, the same distribution also has a density representation, developed below.
From interval probabilities to waiting-time density
The cumulative probability answers whether the first event has happened by a chosen time. To locate when it is likely to happen, we also want probabilities for short intervals. For example, the chance that the first event occurs between 0.4 and 0.5 seconds is the increase in cumulative probability between those times, about 0.528 − 0.451 = 0.077, or 7.7%. More generally, for two times a and b, subtract the accumulated probability at a from that at b: . Over a very short interval, this increase is approximately the slope of the cumulative probability curve multiplied by the interval’s duration. Dividing the increase by the duration measures how quickly probability accumulates there; letting the duration shrink to zero gives the slope at that time. That slope is the waiting-time density, written. We obtain it by differentiating with respect to elapsed time u, holding λ fixed:
The graphs below compare cumulative probability with its slope at a rate of 1.5 events per second. The increase in the first graph over (0.4, 0.5] equals the shaded area in the second. Plugging u into the cumulative probability gives the probability of a first event by that time; plugging u into the density gives a slope. An area under the density gives a probability over an interval.
First event by time u
At 0.5 seconds: 52.8% probability that the first event has occurred.
Waiting-time density
The shaded area from 0.4 to 0.5 seconds is the same probability: 0.077. The curve height gives probability per second.
Sampling at a fixed rate now gives a complete event configuration. In a neural population, however, an event can change how many neurons are eligible for the next event. To simulate that feedback, we need to record what changed and update the rates before drawing the next wait.
Let events change a state
Consider ten neurons, with three currently active. An activation changes the active count from 3 to 4; a deactivation changes it from 3 to 2. This active count is the state, written . The simulation must now choose both when the next event occurs and which of these changes it makes. It will calculate the rates from the current state, sample a delay and event type, update the state, and repeat.
Suppose each inactive neuron activates at 0.2 per second and each active neuron deactivates at 0.1 per second. With three active neurons, seven can activate and three can deactivate. The combined activation rate is 7 × 0.2 = 1.4 per second; the combined deactivation rate is 3 × 0.1 = 0.3 per second. These replace the single fixed rate of 1.5 used for the earlier detector example.
While this state stays unchanged, model the two event types with independent exponential waits at their respective rates. For the next event to take longer than duration u, both types must have zero events during that duration. Multiplying those independent probabilities gives:
This is the survival probability of an exponential wait with total rate 1.7 per second. We can therefore use the same waiting-time sampling rule with λ = 1.7. The event is an activation with probability 1.4/1.7 and a deactivation with probability 0.3/1.7. To select its type, draw another independent uniform number V: choose activation if V is below 1.4/1.7, and deactivation otherwise.
Why event types are selected in proportion to their rates
Use the waiting-time density from the earlier expansion. An activation at delay u has density . For it to be the next event, deactivation must also wait beyond u, with probability . Their product gives a joint density for the delay and activation type. Integrating over every possible delay gives the activation probability.
More generally, label an event type j, its combined rate aⱼ, and the selected type J. The total rate is . The joint density factors into the waiting-time density and the type probability, so the delay and type can be drawn independently at this fixed state:
Integrating this density over a delay interval gives the probability that the next event has type j and occurs in that interval.
Each event changes the rates for what follows
Suppose the sampled event is an activation. Advance time by the sampled delay and change the active count from 3 to 4. Now six neurons can activate and four can deactivate: the rates become 1.2 and 0.4 per second. The next wait uses total rate 1.6, and the next activation probability is 1.2/1.6. Recalculating after each event lets the generated configuration reflect its own effects on the population.
Write x for the current active count, with + labeling activation and − labeling deactivation.
At zero active neurons the deactivation rate is zero, and at ten the activation rate is zero. If the total rate is zero, the state stays fixed until an external change supplies a positive rate. In Wilson–Cowan, the per-neuron activation rate also depends on the shared input generated by the current population counts, giving further feedback.
Between events the state remains constant; each event makes a discrete change. This is a jump process. A draw now records both the event times and the resulting states, forming a state trajectory.
This explains the name continuous-time Markov jump process. “Continuous-time” describes the time axis; “jump” describes the discrete state changes. “Markov” says that the current state supplies all the information from the past needed to specify the future law. Here the rates depend only on x, and the state remains constant between events. A rate depending on additional unrecorded history would require a richer state to make that claim.
The ordinary Poisson counting process is the special case with one possible change, adding one to the count, at a constant rate. The Markov property is shared by both constructions; state dependence identifies the added feedback. “State-dependent Poisson event generation” describes the mechanism; “continuous-time Markov jump process” names the resulting state trajectory and its prediction rule.
The simulation procedure now follows directly: calculate the current rates, draw the next waiting time and event type, apply the state change, and repeat. This is the Gillespie direct method. Simulation time advances by each sampled wait; physical time is the same continuous variable used in the corresponding population equations.
For the explicit six-event neural example, continue to How the Gillespie Algorithm Works. It also distinguishes simulated activation counts from the illustrative neuron rows used in the demo raster.
Representing the complete trajectory with Poisson clocks
The connection can be made exact across the entire history. Give each event type its own independent Poisson clock that produces one event per unit of internal time on average. Let that clock run faster when its event rate is high and slower when its event rate is low. An event changes the shared state, which changes how quickly the clocks run. Independence belongs to the underlying clocks; their state-dependent speeds couple the observed event histories.
To write this construction, let Yj be the unit-rate Poisson counting process for type j, and let νj be the change that event makes to the state. Its accumulated internal time is the integral of its rate along the state trajectory. This is the random time-change representation:
Here s is time inside the integral. For the single active count, ν+ = +1 and ν− = −1. Each clock counts how many events of its type have occurred; multiplying by its change and adding the contributions reconstructs the current state. This is another representation of the same jump dynamics, rather than an extra layer of randomly chosen probability distributions.
Objects and notation introduced here
Event configuration: the complete collection of event times. Counting measure: its event counts in intervals and measurable sets of times. t₁ and t₂: the start and end of a selected interval; (t₁, t₂] excludes the start and includes the end. Probability law over configurations: the probabilities governing which event configuration is drawn. N(t): cumulative events. X(t): the evolving state. Increment: a count difference over a time interval.
λ: event rate; T: observation duration; μ = λT: expected count; n: approximation slots; Slot pattern: the occupied and empty slots in a finite approximation; n: number of slots. pn: per-slot probability; p₈: that probability with eight slots; Nn: approximate count; k: a possible count; i: product index.
τ: waiting time; u: a chosen elapsed duration; U: uniform draw for the delay; V: independent uniform draw for the event type; a and b: interval endpoints; Fτ: cumulative waiting-time probability; fτ: waiting-time density; f: a density; Pr: probability; j: event type; J: selected type; aj: its rate; x: current state; νj: its state change; Yj: its unit-rate Poisson clock. The symbol s denotes a time, as an interval endpoint or integration variable.
Source: Anderson and Kurtz, Continuous Time Markov Chain Models for Chemical Reaction Networks, for the Poisson construction, state-dependent event rates, and random time-change representation.
The connection, compressed without losing it
An entire real-valued function
An entire probability measure
Input locations
Measurable regions
Multivariate Gaussian over function values
Dirichlet over partition masses
Mean function and covariance kernel
Base probability measure and DP concentration
They raise the probability of functions that explain the measured outputs
They raise probability mass at component parameters supported by the data
The kernel supports different function shapes across the complete input domain
The number of occupied mixture components can grow with the data
A practical reading path
- 1Identify the complete random object
A GP randomizes a function f; a DP randomizes a probability measure G.
- 2Separate that object from observations
A GP assigns probability to f before outputs y are measured; a DP assigns probability to G before component parameters and observations are generated.
- 3Track the rules that shape it
The mean function and covariance kernel shape GP functions. The base probability measure H and DP concentration α shape DP probability measures.
- 4Select a finite question
Function values at finitely many inputs and masses on finitely many regions turn the complete random objects into concrete calculations.
Continue through the foundations
Sources and further reading
- Mutual Information, “Gaussian Processes”. The predictive-distribution, function-sampling, and kernel intuitions motivate the opening GP path.
- C. E. Rasmussen and C. K. I. Williams (2006), Gaussian Processes for Machine Learning. A complete treatment of GP regression, covariance functions, marginal likelihood, and approximation methods.
- T. S. Ferguson (1973), “A Bayesian Analysis of Some Nonparametric Problems”. The defining finite-partition construction and conjugate posterior of the Dirichlet process.
- J. Sethuraman (1994), “A Constructive Definition of Dirichlet Priors”. The stick-breaking construction and almost-sure discreteness of DP draws.
- R. Thibaux and M. I. Jordan (2007), “Hierarchical Beta Processes and the Indian Buffet Process”. The beta–Bernoulli process relationship for unbounded feature models.
