Chapter 17
30 min read
Section 112 of 175

Posterior Distributions

Bayesian Foundations

Learning Objectives

By the end of this section, you will be able to:

📚 Core Knowledge

  • • Define the posterior distribution mathematically and intuitively
  • • Explain how the posterior combines prior beliefs with data evidence
  • • Distinguish between MAP, posterior mean, and posterior median
  • • Understand equal-tailed vs HPD credible intervals

🔧 Practical Skills

  • • Compute posteriors for common prior-likelihood combinations
  • • Calculate and interpret posterior summaries
  • • Construct Bayesian credible intervals
  • • Apply sequential Bayesian updating

🧠 Deep Learning Connections

  • MAP = Regularized MLE: L2 regularization corresponds to a Gaussian prior; MAP finds the regularized optimum
  • Posterior Predictive: How Bayesian neural networks quantify prediction uncertainty
  • Variational Inference: Approximating intractable posteriors in deep learning (VAEs, BNNs)
  • Thompson Sampling: Using posteriors for exploration-exploitation in bandits/RL
Where You'll Apply This: Uncertainty quantification in AI/ML models, Bayesian A/B testing, medical diagnosis, Thompson Sampling for recommender systems, Bayesian optimization for hyperparameter tuning, and any application requiring honest uncertainty estimates.

The Big Picture: Where Beliefs Meet Data

The posterior distribution is the heart of Bayesian inference. It answers the fundamental question:"Given what I've observed, what should I now believe about the unknown parameter?"

Unlike point estimation that gives a single number, the posterior is an entire probability distributionover possible parameter values. This distribution captures not just our best guess, but our complete state of uncertainty after seeing the data.

The Bayesian Update Equation

Posterior=Likelihood×PriorEvidence\text{Posterior} = \frac{\text{Likelihood} \times \text{Prior}}{\text{Evidence}}

Updated belief = (How well data fits hypothesis) × (Initial belief) / (Normalization)

Historical Context

The concept of updating beliefs with evidence traces back to the 18th century. Thomas Bayes posed the"inverse probability" problem: given that we observe effects, what can we infer about causes?

🎯
The Core Insight

The posterior distribution is a compromise between what you believed before (prior) and what the data tells you (likelihood). With more data, the posterior shifts toward what the data suggests; with strong prior beliefs, it stays closer to the prior.


Mathematical Definition

The posterior distribution of a parameter θ\theta given observed dataDD is defined by Bayes' theorem:

π(θD)=f(Dθ)π(θ)f(Dθ)π(θ)dθ\pi(\theta | D) = \frac{f(D | \theta) \cdot \pi(\theta)}{\int f(D | \theta') \cdot \pi(\theta') \, d\theta'}

Components of Bayes' Theorem

SymbolNameIntuitive Meaning
π(θ | D)PosteriorYour updated belief about θ AFTER seeing data D
f(D | θ)LikelihoodHow probable is this data IF θ were the true value?
π(θ)PriorYour belief about θ BEFORE seeing any data
∫f(D|θ')π(θ')dθ'Evidence / Marginal LikelihoodNormalizing constant ensuring posterior integrates to 1
Intuition: Think of the prior as your starting position, the likelihood as the data's "vote" for each parameter value, and the posterior as the weighted consensus. Parameters that both fit the data well AND were plausible beforehand get the highest posterior probability.

The Proportional Form

Since the denominator (evidence) doesn't depend on θ\theta, we often write:

π(θD)f(Dθ)π(θ)\pi(\theta | D) \propto f(D | \theta) \cdot \pi(\theta)

"Posterior is proportional to Likelihood times Prior"

This proportional form is incredibly useful because:

  • We can identify the posterior's shape without computing the normalizing constant
  • MCMC methods (Chapter 19) only need the proportional form
  • For conjugate priors, the posterior family is known, and we just need to find new parameters

Interactive: Posterior = Likelihood × Prior

Visualize how the posterior arises from multiplying the likelihood and prior. Adjust the prior strength and the observed data to see how each influences the final posterior.

Posterior = Likelihood × Prior

See visually how the posterior combines information from the prior and the data

Prior Presets

Data Presets

00.250.50.751Parameter θDensity

π(θ|data) L(data|θ) × π(θ)

Posterior is proportional to Likelihood times Prior

Prior Mean

0.500

Beta(2, 2)

MLE (Data)

0.700

14/20

Posterior Mean

0.667

Beta(16, 8)

Data Influence

83%

vs 17% prior

Key Insight: The posterior is a compromise between the prior and the likelihood. The posterior mean (0.667) lies between the prior mean (0.500) and the MLE (0.700). With more data, the posterior shifts toward the MLE; with stronger priors, it stays closer to the prior mean.


Computing Posterior Distributions

For many problems, we can compute the posterior analytically. The key is recognizing the mathematical form of the likelihood × prior product.

Beta-Binomial Example

Prior: θBeta(α,β)\theta \sim \text{Beta}(\alpha, \beta)

Likelihood: XθBinomial(n,θ)X | \theta \sim \text{Binomial}(n, \theta) with x successes

Posterior:

θX=xBeta(α+x,β+nx)\theta | X = x \sim \text{Beta}(\alpha + x, \beta + n - x)

The posterior is simply the prior parameters updated by adding the number of successes and failures!

The Normalizing Constant (Evidence)

The evidence (marginal likelihood) ensures the posterior integrates to 1:

P(D)=f(Dθ)π(θ)dθP(D) = \int f(D | \theta) \cdot \pi(\theta) \, d\theta
When do we need it? The normalizing constant is essential for: (1) Model comparison using Bayes factors, and (2) Exact posterior evaluation. For parameter estimation and MCMC, we often don't need it.

Posterior Summaries

While the full posterior distribution contains all our uncertainty about θ\theta, we often need to summarize it with point estimates or intervals.

Point Estimates: MAP, Mean, and Median

MAP (Mode)

θ^MAP=argmaxθπ(θD)\hat{\theta}_{\text{MAP}} = \arg\max_\theta \pi(\theta | D)

The most probable value. Optimal under 0-1 loss. Equals MLE when prior is uniform.

Posterior Mean

E[θD]=θπ(θD)dθ\mathbb{E}[\theta | D] = \int \theta \cdot \pi(\theta | D) \, d\theta

The expected value. Optimal under squared error loss. Most commonly used.

Posterior Median

The 50th percentile of the posterior.

Optimal under absolute error loss. Robust to skewness.

When do they differ? For symmetric posteriors, all three are equal. For skewed posteriors, the mean is "pulled" toward the tail, while the mode stays at the peak. The choice depends on your loss function and what "best estimate" means in your context.

Interactive: Comparing Point Estimates

MAP vs Posterior Mean vs Median

Compare different point estimates and understand when they differ

Quick Presets

00.250.50.751Distribution: right-skewed

MAP (Mode)

0.1818

Most probable value

Optimal under 0-1 loss

Posterior Mean

0.2308

Expected value of θ

Optimal under squared error loss

Posterior Median

0.9990

50th percentile

Optimal under absolute error loss

Difference: |Mean - MAP| = 0.0490 | |Mean - Median| = 0.7682

Which Estimate to Use? Depends on Your Loss Function

Key Insight: For symmetric posteriors (like Beta(10,10)), all three estimates are equal. For skewed posteriors, they differ:

  • Mean is pulled toward the tail (sensitive to outliers in belief)
  • Mode (MAP) represents the single most likely value
  • Median is in between, robust to skewness

AI/ML Note: MAP estimation with a Gaussian prior gives the same result as MLE with L2 regularization!

Credible Intervals

A 100(1-α)% credible interval is a region containing 1-α probability mass under the posterior. Unlike frequentist confidence intervals, we can directly say: "There's a (1-α) probability that θ lies in this interval given the data."

Equal-Tailed Interval

Equal probability (α/2) in each tail. Simple to compute: just find the α/2 and 1-α/2 quantiles.

HPD (Highest Posterior Density)

The shortest interval containing (1-α) probability. Every point inside has higher density than every point outside.

Interactive: Credible Interval Explorer

Credible Interval Explorer: Equal-Tailed vs HPD

Compare two types of Bayesian credible intervals and see when they differ

Posterior Shape Presets

00.250.50.751

Equal-Tailed Interval

Lower: 0.0010

Upper: 0.4628

Width: 0.4618

Equal probability in each tail: 2.5%

HPD (Highest Posterior Density)

Lower: 0.0010

Upper: 0.4328

Width: 0.4318

Shortest interval containing 95% probability

Width Comparison: HPD is 0.0301 narrower

Key Insight: For symmetric posteriors, equal-tailed and HPD intervals are identical. For skewed posteriors, HPD gives a shorter interval because it captures the high-density region. Try the "Right Skewed" or "Left Skewed" presets to see the difference!

Rule of thumb: HPD intervals are preferred when you want the shortest interval containing the specified probability, but equal-tailed intervals are simpler to compute and communicate.


Sequential Updating

One of the beautiful properties of Bayesian inference is that today's posterior becomes tomorrow's prior. As new data arrives, we simply update:

π(θD1,D2)f(D2θ)π(θD1)\pi(\theta | D_1, D_2) \propto f(D_2 | \theta) \cdot \pi(\theta | D_1)

Update with new data using the old posterior as the new prior

This makes Bayesian methods natural for streaming data and online learning. No need to reprocess all historical data - just update with each new observation!


Interactive: Watch Posterior Evolve

See how the posterior distribution changes as more data accumulates. Watch it concentrate around the true parameter value, demonstrating the Bernstein-von Mises theorem.

Posterior Evolution: Watch Beliefs Update in Real-Time

See how the posterior distribution sharpens and concentrates around the true parameter as data accumulates

Posterior

0

Observations

0

Successes

0

Failures

0.5000

Posterior Mean

0.5000

MAP Estimate

True p = 0.6500.250.50.751DensityParameter p

Prior Distribution

Beta(2, 2)

Mean: 0.5000

Posterior Distribution

Beta(2, 2)

95% CI: [0.094, 0.906]

Estimation Error

|Mean - True| = 0.1500

CI Width: 0.8114

The Core of Bayesian Learning: Watch how the posterior combines prior beliefs with data evidence. With more data, the posterior becomes sharper (more certain) and converges toward the true value. The credible interval (shaded region) shrinks as uncertainty decreases.


Posterior Predictive Distribution

The posterior predictive distribution tells us what future observations we expect, accounting for our uncertainty about the parameter:

P(XD)=P(Xθ)π(θD)dθP(X^* | D) = \int P(X^* | \theta) \cdot \pi(\theta | D) \, d\theta

Average predictions over all possible θ values, weighted by the posterior

This is fundamentally different from "plug-in" prediction (using just the point estimate). The posterior predictive is wider because it honestly propagates parameter uncertainty into predictions.

Interactive: Bayesian Prediction

Posterior Predictive Distribution

Compare plug-in prediction (using point estimate) vs full Bayesian prediction (averaging over posterior)

Posterior Distribution of θ

00.51

Beta(9, 5)

Predictive: # Successes in 10 New Trials

# successes (0 to 10)
Plug-inBayesian

Plug-in Prediction (Binomial)

Uses point estimate θ̂ = 0.643

Expected:

6.43

Variance:

2.30

Ignores uncertainty in θ estimate

Bayesian Predictive (Beta-Binomial)

Averages over posterior uncertainty in θ

Expected:

6.43

Variance:

3.67

Accounts for parameter uncertainty

Variance Inflation Factor: The Bayesian predictive has 60.0% higher variance because it accounts for uncertainty in θ

The Math Behind Posterior Predictive

P(X*|Data) = ∫ P(X*|θ) × π(θ|Data) dθ

"Average the likelihood over all possible θ values, weighted by the posterior"

Why This Matters: The Bayesian predictive distribution is wider (more uncertain) than the plug-in prediction because it honestly accounts for our uncertainty about θ. This is especially important when:

  • • You have limited data (small n) and uncertainty in θ is large
  • • Making high-stakes predictions where underestimating uncertainty is costly
  • • Building uncertainty-aware AI systems (Bayesian neural networks, calibrated predictions)

Try reducing the observed data to see how the Bayesian predictive becomes much wider than plug-in!


Real-World Examples


AI/ML Applications

Posterior distributions are fundamental to modern machine learning. Here are key connections:

⚖️ MAP = Regularized MLE

With a Gaussian prior N(0, 1/λ) on weights, finding the MAP estimate is equivalent to minimizing the loss with L2 regularization (weight decay). The regularization strength λ controls prior tightness.

🎯 Bayesian Neural Networks

Instead of single weight values, maintain posteriors over weights. Predictions average over the weight posterior, giving calibrated uncertainty estimates crucial for safety-critical applications.

🔄 Variational Inference

When exact posteriors are intractable (deep learning!), approximate them with simpler distributions by minimizing KL divergence. VAEs use this for latent variable inference.

🎰 Thompson Sampling

In multi-armed bandits and RL, maintain posteriors over reward parameters. Sample from posteriors to select actions - naturally balances exploration and exploitation. Powers recommendation systems at Netflix, YouTube.


Python Implementation

🐍python
1import numpy as np
2from scipy import stats
3import matplotlib.pyplot as plt
4
5# ============================================
6# Example 1: Beta-Binomial Posterior
7# ============================================
8
9# Prior: Beta(alpha, beta)
10prior_alpha, prior_beta = 2, 2  # Slightly informative
11
12# Data: n trials, x successes
13n, x = 20, 14  # 14 out of 20 successes
14
15# Posterior: Beta(alpha + x, beta + n - x)
16post_alpha = prior_alpha + x
17post_beta = prior_beta + (n - x)
18
19print("=== BETA-BINOMIAL POSTERIOR ===")
20print(f"Prior: Beta({prior_alpha}, {prior_beta})")
21print(f"Data: {x} successes out of {n} trials")
22print(f"Posterior: Beta({post_alpha}, {post_beta})")
23
24# Posterior summaries
25posterior = stats.beta(post_alpha, post_beta)
26print(f"\nPosterior Mean: {posterior.mean():.4f}")
27print(f"Posterior Mode (MAP): {(post_alpha - 1) / (post_alpha + post_beta - 2):.4f}")
28print(f"Posterior Median: {posterior.median():.4f}")
29print(f"Posterior Std: {posterior.std():.4f}")
30
31# 95% Credible Interval
32ci_lower = posterior.ppf(0.025)
33ci_upper = posterior.ppf(0.975)
34print(f"95% Equal-tailed CI: [{ci_lower:.4f}, {ci_upper:.4f}]")
35
36
37# ============================================
38# Example 2: Posterior Predictive Distribution
39# ============================================
40
41def posterior_predictive_binomial(k, n_future, post_alpha, post_beta):
42    """
43    Posterior predictive for k successes in n_future trials
44    given Beta(post_alpha, post_beta) posterior.
45
46    This is the Beta-Binomial distribution.
47    """
48    from scipy.special import gammaln, comb
49
50    log_binom = np.log(comb(n_future, k, exact=True))
51    log_beta_num = gammaln(k + post_alpha) + gammaln(n_future - k + post_beta)
52    log_beta_denom = gammaln(n_future + post_alpha + post_beta)
53    log_beta_prior = gammaln(post_alpha + post_beta) - gammaln(post_alpha) - gammaln(post_beta)
54
55    return np.exp(log_binom + log_beta_num - log_beta_denom + log_beta_prior)
56
57
58# Predict successes in 10 future trials
59n_future = 10
60print(f"\n=== POSTERIOR PREDICTIVE: {n_future} Future Trials ===")
61
62# Plug-in prediction (using posterior mean)
63plug_in_p = posterior.mean()
64print(f"Plug-in (using mean θ={plug_in_p:.3f}):")
65for k in range(n_future + 1):
66    prob = stats.binom.pmf(k, n_future, plug_in_p)
67    if prob > 0.05:
68        print(f"  P(K={k}) = {prob:.4f}")
69
70print(f"\nBayesian Predictive (averaging over posterior):")
71for k in range(n_future + 1):
72    prob = posterior_predictive_binomial(k, n_future, post_alpha, post_beta)
73    if prob > 0.05:
74        print(f"  P(K={k}) = {prob:.4f}")
75
76
77# ============================================
78# Example 3: Sequential Bayesian Updating
79# ============================================
80
81print("\n=== SEQUENTIAL UPDATING ===")
82
83# Initial prior
84alpha, beta = 1, 1  # Uniform prior
85
86# Stream of data (coin flips)
87data_stream = [1, 1, 0, 1, 1, 1, 0, 1, 0, 1,
88               1, 1, 0, 1, 1, 0, 1, 1, 1, 0]
89
90print(f"Initial prior: Beta({alpha}, {beta}), Mean = {alpha/(alpha+beta):.3f}")
91
92for i, outcome in enumerate(data_stream):
93    # Update posterior
94    alpha += outcome
95    beta += (1 - outcome)
96
97    if (i + 1) % 5 == 0:
98        mean = alpha / (alpha + beta)
99        print(f"After {i+1} observations: Beta({alpha}, {beta}), Mean = {mean:.3f}")
100
101
102# ============================================
103# Example 4: MAP = Regularized MLE
104# ============================================
105
106print("\n=== MAP = REGULARIZED MLE ===")
107
108# Simple linear regression with L2 regularization
109from sklearn.linear_model import Ridge
110
111np.random.seed(42)
112n_samples = 50
113X = np.random.randn(n_samples, 5)
114true_weights = np.array([1, -2, 0, 0, 3])
115y = X @ true_weights + 0.5 * np.random.randn(n_samples)
116
117# Different regularization = different prior variance
118lambdas = [0.01, 1.0, 100.0]
119
120print("Regularization | Prior Std | Weight Norms")
121print("-" * 50)
122
123for lam in lambdas:
124    # Ridge regression = MAP with Gaussian prior
125    model = Ridge(alpha=lam, fit_intercept=False)
126    model.fit(X, y)
127
128    # Prior std = 1/sqrt(lambda) in the correspondence
129    prior_std = 1 / np.sqrt(lam)
130    weight_norm = np.linalg.norm(model.coef_)
131
132    print(f"λ = {lam:6.2f}    |  {prior_std:7.3f}  |  {weight_norm:.4f}")
133
134print("\nTight prior (large λ) → smaller weights")
135print("This is why regularization prevents overfitting!")

Common Misconceptions

"The MAP estimate is always the best point estimate"

The "best" estimate depends on your loss function. MAP minimizes 0-1 loss, the mean minimizes squared error, and the median minimizes absolute error. For skewed posteriors, they can differ substantially.

"You always need to compute the normalizing constant"

For parameter estimation and MCMC, we only need the unnormalized posterior (proportional to likelihood × prior). The normalizing constant is only needed for model comparison or exact probability calculations.

"The prior always dominates the posterior"

As data accumulates, the likelihood dominates and the prior "washes out." With enough data, different priors lead to nearly identical posteriors (Bernstein-von Mises theorem). The prior matters most with small samples.

"Plug-in predictions are good enough"

Plug-in predictions (using only the point estimate) underestimate uncertainty because they ignore parameter uncertainty. The posterior predictive gives wider, more honest uncertainty bounds - crucial for calibrated predictions.


Knowledge Check

Test your understanding of posterior distributions with this interactive quiz.

Knowledge Check: Posterior Distributions

Question 1 of 8
Score: 0/0

What does the posterior distribution represent?


Summary

Key Takeaways

  1. The posterior is the heart of Bayesian inference: It represents our updated beliefs about parameters after seeing data, computed via Bayes' theorem: Posterior ∝ Likelihood × Prior.
  2. Multiple point estimates exist: The MAP (mode), posterior mean, and median each have different interpretations and are optimal under different loss functions. They coincide for symmetric posteriors.
  3. Credible intervals have direct probability interpretation: A 95% credible interval means there's 95% probability the parameter lies within it - the interpretation people often want from confidence intervals!
  4. Sequential updating is natural: Today's posterior becomes tomorrow's prior, making Bayesian methods ideal for online learning and streaming data.
  5. Posterior predictive captures full uncertainty: By averaging over the posterior, predictions honestly reflect parameter uncertainty - wider but better calibrated than plug-in.
  6. Deep learning connections: MAP = regularized MLE (L2 = Gaussian prior), Bayesian NNs maintain weight posteriors, variational inference approximates intractable posteriors.
Looking Ahead: In the next section, we'll explore conjugate priors - special prior-likelihood combinations where the posterior has the same form as the prior, making computation elegant and analytical.
Loading comments...