Advanced Estimation · PhD Track

Fisher Information &
the Cramér–Rao Bound

Before you write a single line of estimator code, the experiment has already fixed the best accuracy any algorithm can ever achieve. This is the mathematics of that floor — and of designing experiments that lower it.

Prerequisites: Bayes Estimation. Comfort with derivatives, expectation, and the Gaussian assumed.
12
Chapters
10
Simulations
1
Assumed: Bayes Estimation

Chapter 0: Two Sensor Designs — Is There a Floor Under All Estimators?

Two teams pitch competing sensor designs for the same measurement job. Team A wants to spend six months building a clever estimator for their sensor; team B claims their design is fundamentally better and no cleverness can save A. Who is right? You could build both estimators and race them — or you could compute one number per design that settles the argument in an afternoon.

Make the dispute concrete. Both designs measure the same unknown constant θ. Design A returns θ plus Gaussian noise; design B returns θ plus Laplace (double-exponential) noise with the same total noise variance. Same variance, same budget — surely they are equivalent? They are not, and nothing about "variance" tells you why.

There is a deeper question hiding here, one you have never been forced to ask. When you built estimators on this site — the sample mean, the Kalman filter, MAP and MMSE from Bayes Estimation — how would you know if a better one exists? Racing candidates only ever gives an upper bound on the best. Nobody has ever handed you a lower bound that binds all algorithms at once.

The Estimator Race — Three Algorithms vs. One Wall

Monte Carlo of three estimators of a location parameter. Each violin is that estimator's error distribution; the red band is the theoretical floor (half-width √CRLB). No violin ever gets tighter than the band — but which estimator touches it flips with the noise family.

Samples n25

Run the race under Gaussian noise with n = 25 and σ = 1. The sample mean delivers error variance 0.04. The sample median delivers about 0.063. The midrange does worse still. There seems to be a wall at 0.04 that nothing crosses — and the claim of this lesson is that the wall is real, computable in closed form, and equals σ²/n here.

Now flip the noise family to Laplace with the same variance and watch the leaderboard invert. The mean stays stuck at 0.04, but the wall itself drops to 0.02 — and the median slides down toward it. Two lessons in one plot: the floor belongs to the noise distribution, not just its variance — two designs with identical variance carry different amounts of information — and which estimator touches the floor depends on matching the estimator to the distribution.

The machinery this lesson builds: a quantity called Fisher information I(θ) — computed from the noise model alone — whose inverse is the Cramér–Rao lower bound on the variance of every unbiased estimator. Team A versus team B becomes: compute IA and IB, compare. Sensor design, sample-size budgeting, sensor placement (chapter 9) all become arithmetic on I before any hardware or code exists.

The arc is a single story: read the noise model backwards (likelihood, ch 1), differentiate it (score, ch 2), take the variance of that (information, ch 3), apply Cauchy–Schwarz (the bound, ch 4), ask who achieves it (efficiency, ch 5), then generalize: many parameters (ch 6), bias and priors (ch 7), compressed data (ch 8), and sensor geometry as the showcase (ch 9).

One ownership boundary, stated out loud: this lesson derives the theory floor. Testing whether your deployed filter is honest against ground truth (NEES, Monte Carlo campaigns, ATE) lives in Estimator Evaluation, and the recursive machinery that chases the floor over time lives in the Kalman Filter.

Misconception: "Accuracy is a property of the algorithm — with enough cleverness (deep nets, better tuning) any sensor can be estimated arbitrarily well." Actually the experiment fixes a floor no algorithm can cross, and two noise models with identical variance can carry different information — so even "equal noise" designs are not equal.
Check: The Cramér–Rao bound, once computed for an experiment, constrains…
WhyThe bound is derived without ever naming an estimator — the only property used is unbiasedness (chapter 4). That is what makes it a design tool: it prices the data, so it binds all present and future algorithms at once, including ones not yet invented.
PhD lens: Examiners open with the design framing: "Two sensors have the same noise variance. Argue, without computing anything, why they might still not be equally good — then name the quantity that decides it." A strong answer already distinguishes variance (second moment of the noise) from information (curvature of the log-likelihood), and mentions that the bound is achieved by different estimators under different families.

Chapter 1: The Likelihood — One Formula, Read Backwards

You already know the formula p(z; θ) — it says which measurements are probable once θ is fixed. Now the measurement has happened. Same formula, opposite reading: hold z fixed, sweep θ, and ask which hypothesis makes what-actually-happened least surprising.

Define the object carefully, because everything downstream differentiates it. The likelihood function is L(θ; z) = p(z; θ) viewed as a function of θ with the data z frozen. Insist on the asymmetry: over z (θ fixed) it integrates to 1 and is a probability density; over θ (z fixed) it integrates to whatever it wants and is not a density. It is a score sheet, not a belief. Beliefs over θ need a prior — that is Bayes Estimation's territory, and chapter 7 will reconnect.

Make it concrete immediately: one sample z = 4.2 from N(θ, 1). L(θ) is a Gaussian-shaped bump in θ centered at 4.2 — hypotheses near 4.2 explain the datum well; hypotheses far away rate it a freak event. Nothing new was computed. The formula was read in the other direction.

Independent samples multiply: L(θ) = ∏i p(zi; θ). Products of many small numbers are numerically vicious and analytically clumsy, so pass to the log-likelihood:

ℓ(θ) = ∑i log p(zi; θ)

Logs turn independent evidence into addition — the single most consequential design choice in this lesson. Sums have means and variances, and chapter 3 lives on exactly that.

The Likelihood Surface Explorer

Top: the data (drag dots; click empty space to add one) and a Gaussian template at your hypothesis θ — the stem heights multiply into the likelihood. Bottom: the (log-)likelihood curve over θ, with a tick at the MLE. Toggle to raw likelihood and add points: watch the product of small numbers collapse toward zero while the log view stays legible.

Hypothesis θ3.30

Work the Gaussian case to a shape you will meet fifty more times. For z1…zn from N(θ, σ²):

ℓ(θ) = const − ∑i (zi − θ)² / (2σ²)

— an exact downward parabola in θ. Its peak sits where the derivative vanishes: at the sample mean. That peak location is the maximum likelihood estimate (MLE). You met MAP in Bayes Estimation; the MLE is MAP with a flat prior.

The seed the whole lesson grows from: two datasets can agree on the peak yet disagree on how sharp the peak is. A sharp peak means nearby hypotheses are already much worse — the data discriminate finely. A flat peak means a whole neighborhood of θs explains the data almost equally — the data barely care. Sharpness, made precise as curvature, is chapter 3's Fisher information.

Worked Example: Three Samples, One Parabola

Setup. Three samples from N(θ, 1): z = (4.2, 3.6, 4.5). Build the log-likelihood, find its peak, and measure its shape.

Step 1 — write it.

ℓ(θ) = −(3/2) log(2π) − ½[(4.2−θ)² + (3.6−θ)² + (4.5−θ)²]

Step 2 — peak. dℓ/dθ = (4.2−θ) + (3.6−θ) + (4.5−θ) = 12.3 − 3θ = 0, so the MLE is θ̂ = 4.1 — the sample mean.

Step 3 — shape. Expanding the squares, ℓ(θ) = −(3/2)(θ − 4.1)² + const — an exact parabola with second derivative −3 everywhere, which is −n/σ². For the Gaussian, the curvature does not even depend on the data values, only on the design (n, σ).

Step 4 — price a wrong hypothesis. ℓ(4.1) − ℓ(3.6) = (3/2)(0.5)² = 0.375 nats. Half a unit off the peak already costs 0.375 — and with n = 300 instead of 3 it would cost 37.5. The data's objection scales linearly with n.

Verified: the log-likelihood peaks at the sample mean 4.1; moving the hypothesis to 3.6 costs exactly 0.375 nats; and the numerical second derivative is −3.0 — the exact parabola curvature −n/σ². (Every number passes an independent scipy check.)
Misconception: reading L(θ) as "the probability that θ is true" and expecting it to integrate to 1 over θ. Likelihood is a density in z, not in θ — it ranks hypotheses but is not a belief, and turning it into one requires a prior (Bayes Estimation), which is a genuinely different object with different calculus.
Check: Why work with the LOG of the likelihood rather than the likelihood itself?
WhyIndependence multiplies likelihoods, and logs turn that product into a sum of per-sample terms. Everything that follows — the score as a sum of votes, information as a variance that adds across samples, the central-limit behavior of the MLE — exists because log-evidence is additive.
PhD lens: A standard warm-up probe: "Is the likelihood a probability density over the parameter? Defend your answer, and explain what changes when you multiply it by a prior." Examiners are checking that the candidate keeps the z-space and θ-space readings distinct, because the regularity conditions of chapters 3–4 (differentiating integrals over z) are unintelligible if the two spaces are blurred.

Chapter 2: The Score — Every Data Point Votes

Stand at some hypothesis θ and ask each data point: which way should I move, and how urgently? That per-datum answer — the slope of its log-likelihood contribution — is the score, and the entire theory of estimation limits is bookkeeping on these votes.

Define the score:

s(θ; z) = d/dθ log p(z; θ)

— the sensitivity of a datum's log-plausibility to the hypothesis. Positive score: this datum argues θ should be larger. For the Gaussian, s = (z − θ)/σ²: the vote is the residual, scaled by confidence. A precise sensor (small σ) shouts; a sloppy one whispers.

Connect to the peak: the MLE is precisely where the votes sum to zero — the total score of the sample vanishes at θ̂. An estimate is a negotiated settlement among the data's demands; the sample mean is literally the θ at which the Gaussian residual-votes balance.

Now the central identity of the chapter: at the true θ, E[s] = 0. The proof is one honest line. The density integrates to 1 for every θ, so d/dθ of that integral is 0. Exchanging derivative and integral — this exchange is the regularity fine print; flag it now, it returns in chapter 4 — gives ∫(∂p/∂θ)dz = ∫s·p dz = E[s] = 0. Individual votes can be loud; at the truth they cancel on average.

The Voting Floor

Samples from a hidden true θ fire signed vote-arrows at your hypothesis. The big arrow below the line is the running average vote. Park the slider at the truth and the big arrow shrivels toward zero as draws pile up — E[s] = 0 happening live. Park it anywhere else and the average converges to a systematic pull pointing home.

Hypothesis θ0.80
Sensor σ1.0

Sit with what E[s] = 0 means operationally, because the sim makes it visceral. Draw data from the true θ and average their votes at the truth: the average shrivels toward zero as draws accumulate. Average the same votes at a wrong θ and they converge to a systematic nonzero pull toward the truth — (θtrue − θ)/σ² for the Gaussian. A persistent average vote is the data telling you that you are standing in the wrong place.

Do a non-Gaussian case by hand — the worked example below — because the Gaussian's linear score breeds bad intuition. For a Bernoulli(θ) bit, s(1) = 1/θ and s(0) = −1/(1−θ). At θ = 0.3, a success votes +3.33 and a failure votes −1.43: wildly asymmetric votes — yet they cancel exactly on average. The cancellation is a theorem, not a symmetry accident.

Worked Example: The Bernoulli Electorate

Setup. One Bernoulli(θ) bit with θ = 0.3: p(z; θ) = θz(1−θ)1−z. Compute both possible votes, check they cancel on average, and compute their spread.

Step 1 — the score. log p = z log θ + (1−z) log(1−θ), so s = z/θ − (1−z)/(1−θ).

Step 2 — the two votes at θ = 0.3. A success gives s(1) = 1/0.3 = 3.333333 (pull θ up, hard); a failure gives s(0) = −1/0.7 = −1.428571 (pull down, gently). The asymmetry is real: successes are rare at θ = 0.3, so witnessing one is loud evidence.

Step 3 — cancellation at the truth.

E[s] = 0.3 × 3.333333 + 0.7 × (−1.428571) = 1.0 − 1.0 = 0

Exactly zero — the theorem, not luck.

Step 4 — spread of the votes. Var(s) = E[s²] = 0.3 × (3.333333)² + 0.7 × (1.428571)² = 3.333333 + 1.428571 = 4.761905. Check the closed form: 1/(θ(1−θ)) = 1/0.21 = 4.761905. That spread is about to be named Fisher information in the next chapter — remember this number.

Verified: at θ = 0.3 a success votes s(1) = 3.333333 and a failure votes s(0) = −1.428571; the expected vote is exactly 0; the vote variance is 4.761905, matching the closed form 1/(θ(1−θ)) = 1/0.21.
Misconception: concluding from E[s] = 0 that the score carries no information at the truth. The mean is zero but individual votes are large and violently informative — the useful signal is the score's variance (how loudly each datum discriminates), which is precisely what gets promoted to Fisher information.
Check: The identity E[score] = 0 holds…
WhyThe proof differentiates the normalization integral (p integrates to 1) with respect to θ and swaps derivative and integral — legal under regularity conditions (smoothness, support not depending on θ). Evaluated at the true θ this gives E[s] = 0; at a wrong θ the expected score is nonzero and points toward the truth.
PhD lens: Examiners love making candidates prove E[s] = 0 and then immediately asking: "Where exactly did you use regularity, and give a density where the argument fails." The expected counterexample is Uniform(0, θ) — the support moves with the parameter, the derivative-integral exchange is illegal, and chapter 4's fine print inherits exactly this hole.

Chapter 3: Fisher Information — Variance of the Vote, Curvature of the Peak

Chapter 2 left a variance on the table. Chapter 1 left a curvature. Here is the punchline of classical estimation theory: they are the same quantity — and it is additive, so every new sample deposits a fixed amount of it in your account.

Define Fisher information as the variance of the score at the truth: I(θ) = Var(s) = E[s²] (the mean is zero by chapter 2). High information: each datum's vote is loud — small changes in θ change the log-plausibility a lot — the data discriminate. Low information: votes are murmurs; whole neighborhoods of θ explain the data equally.

Now the second face. Differentiate the identity E[s(θ)] = 0 with respect to θ once more (same regularity fine print). The product rule yields two terms — E[ds/dθ] + E[s²] = 0 — giving the information identity:

I(θ) = Var(s) = −E[ d²/dθ² log p ]

Variance of the slope equals expected downward curvature of the log-likelihood. The algebra is four lines; do each one on paper — it is quals question 1 verbatim.

Insist on the word expected, because this is the classic exam trap. The curvature of one realized log-likelihood is the observed information and jitters from dataset to dataset (for non-Gaussian models); Fisher information is its average over data drawn at the truth. For the Gaussian, the parabola's curvature happens to be data-independent (n/σ² exactly), which is precisely why Gaussians breed sloppy intuition here — the sim overlays thirty replicate log-likelihoods so you can see peaks jitter while the average curvature stands still.

The Two Faces, Live — Thirty Replicate Log-Likelihoods

Thirty thin curves, each from a fresh dataset. Peak locations jitter (sampling variation of the MLE) but under Gaussian noise every parabola has the same width. The bottom ledger stacks one information block per sample. Switch to Bernoulli(0.3): now per-replicate curvature visibly varies while the dashed expected curve stands still — observed vs. expected information on screen.

Samples n12
σ (Gaussian)1.5

Cash the additivity cheque. For iid samples, ℓ is a sum, scores add, and independent variances add:

Itotal(θ) = n × I1(θ)

Information is a budget: every sample deposits I1. The Gaussian deposits 1/σ² per sample (n = 25 at σ = 2: total 6.25); the Bernoulli deposits 1/(θ(1−θ)) — chapter 2's 4.761905 at θ = 0.3, so a hundred coin flips hold 476.190476.

Give information its units and its warning label. I(θ) carries units of 1/θ² — its inverse is a variance in θ-units, which is exactly what makes chapter 4's bound dimensionally inevitable. And it is a local quantity, a property of the model at a parameter value: I(θ) can be large at one θ and tiny at another (Bernoulli near 0.5 versus near 0.01), so "how informative is my sensor" has no answer without saying where.

The payoff, previewed: if information is the budget, chapter 4 proves the exchange rate — the variance of any unbiased estimator is at least 1/Itotal. Doubling samples doubles information and halves the best achievable variance. The √n law of error bars is Fisher additivity wearing street clothes.

Worked Example: Both Faces, Then the Budget

Setup. Verify both faces and additivity with real numbers: Gaussian samples with σ = 2, then the Bernoulli budget from chapter 2.

Step 1 — face one (vote variance). The per-sample score is s = (z − θ)/σ², so Var(s) = σ²/σ4 = 1/σ² = 0.25 at σ = 2. A Monte Carlo of 200,000 scores confirms: 0.2506.

Step 2 — face two (curvature). d²/dθ² log p = −1/σ² = −0.25 per sample, so −E[curvature] = 0.25. The two faces agree, as the information identity demands.

Step 3 — additivity. n = 25 samples deposit Itotal = 25 × 0.25 = 6.25. Preview of chapter 4: the best possible unbiased variance will be 1/6.25 = 0.16.

Step 4 — a non-Gaussian budget. The Bernoulli(0.3) deposit is 4.761905 per flip (chapter 2), so n = 100 flips hold Itotal = 476.190476 — bounding any unbiased estimate of θ to variance at least 0.0021.

Verified: both faces give 0.25 per Gaussian sample at σ = 2 (MC vote variance 0.2506, exact curvature 0.25); 25 samples stack to Itotal = 6.25, previewing a best-variance floor of 0.16; the Bernoulli(0.3) budget is 4.761905 per flip, 476.190476 for 100 flips, floor 0.0021.
Misconception: equating Fisher information with the curvature of your dataset's log-likelihood (the observed information). I(θ) is the expected curvature over data drawn at the truth — a property of the experiment design, computable before any data exist, which is exactly what makes it a design tool rather than a diagnostic.
Check: You double the number of independent samples. Fisher information and the best-possible unbiased variance respectively…
WhyLog-likelihoods of independent samples add, scores add, and independent variances add: Itotal = n I1, so doubling n doubles information. Chapter 4's exchange rate (variance floor = 1/I) then halves the floor — the familiar 1/√n error-bar law is additivity plus the CRLB.
PhD lens: The canonical probe: "State and prove the information identity Var(s) = −E[curvature], flagging every regularity assumption, and explain when observed and expected information differ and which one you would plug into a confidence interval." The last clause is the discriminator — strong candidates know the observed information is often preferred in practice (Efron–Hinkley), and that for the Gaussian location model the two coincide identically.

Chapter 4: The Cramér–Rao Bound — Cauchy–Schwarz in Four Moves

Here is the whole proof in one sentence: being unbiased handcuffs your estimator to the score with covariance exactly 1, and two random variables with a fixed covariance cannot both have small variance. Everything else is bookkeeping — four moves, no magic.

Move 1 — the handcuff
E[θ̂] = θ for every θ
Move 2 — differentiate it
d/dθ E[θ̂] = 1  ⇒  E[θ̂ s] = 1
Move 3 — recenter
E[s] = 0  ⇒  Cov(θ̂, s) = 1
Move 4 — Cauchy–Schwarz
1 ≤ Var(θ̂) · I(θ)  ⇒  Var(θ̂) ≥ 1/I(θ)

Move 1 — the handcuff. Unbiasedness says E[θ̂] = θ for every θ, not just one. That "for every" is the engine: a statement true along a continuum of θs can be differentiated in θ. Write E[θ̂] as ∫θ̂(z) p(z; θ) dz — the estimator is a fixed function of data; only p moves with θ.

Move 2 — differentiate the handcuff: d/dθ E[θ̂] = 1. Pushing the derivative through the integral — the same regularity fine print as chapters 2–3; third appearance, so name the conditions: support independent of θ, differentiable density, dominated derivatives — turns ∂p/∂θ into p times the score, giving E[θ̂ · s] = 1.

Move 3 — recenter. Since E[s] = 0, we get Cov(θ̂, s) = E[θ̂s] − E[θ̂]E[s] = 1. Pause on how strange this is: whatever unbiased estimator anyone builds — mean, median, a neural network, an algorithm from 2080 — its covariance with the score is exactly 1. Unbiasedness is not a loose promise; it is a rigid mechanical linkage to the data's votes.

Move 4 — Cauchy–Schwarz.

1 = Cov(θ̂, s)² ≤ Var(θ̂) · Var(s) = Var(θ̂) · I(θ)   ⇒   Var(θ̂) ≥ 1/I(θ)

The estimator's identity appears nowhere on the right side — that is why this one line binds all algorithms at once, and why chapter 0's wall was real. With n iid samples, I = n I1 and the floor is 1/(n I1).

The Handcuff, Visualized — 500 Replications in the (score, estimator) Plane

Each dot is one Monte Carlo replication: x = total score, y = estimator value. The mean collapses onto a perfect line (equality case: on the floor). The median keeps the same tilt — covariance still locks near 1 — but orthogonal scatter inflates its variance ~π/2 above the floor. The shrunk mean halves the tilt: covariance 0.5, previewing chapter 7. Hover a dot for its values.

Samples n25

Read the equality condition out of Cauchy–Schwarz, because it is chapter 5's entire agenda: equality iff θ̂ − θ is exactly proportional to the score. For the Gaussian, θ̂mean − θ = (σ²/n) × total score — proportional, so the sample mean sits on the floor at every n. The median is correlated with the score but not proportional to it: same covariance 1, extra orthogonal wobble, variance π/2 times the floor (worked below).

State the fine print as a first-class result, not a footnote: the bound requires the regularity conditions, and Uniform(0, θ) violates them — there the MLE (the sample maximum) has variance shrinking like 1/n², sailing straight through where a naive "1/nI" floor would sit. The CRLB is a theorem about smooth families, not a law of nature; the fine print is exam material and engineering material (quantized and thresholded sensors live near the edge of it).

What the bound does NOT say: it does not promise any estimator achieves 1/I (attainability is chapter 5), it binds variance not MSE unless unbiased (bias bends it — chapter 7), and it is local in θ. Three caveats, three future chapters.

Worked Example: The Floor, Who Touches It, and the Measured Handcuff

Setup. Gaussian location, σ = 2, n = 25. Compute the floor, check who touches it, and verify the covariance handcuff by Monte Carlo.

Step 1 — the floor. Itotal = n/σ² = 25/4 = 6.25, so CRLB = 1/6.25 = 0.16.

Step 2 — the sample mean. Var(z̄) = σ²/n = 4/25 = 0.16 — on the floor, at finite n, because z̄ − θ = (σ²/n) × total score is proportional to the score (the equality case). MC confirms: Var 0.1599.

Step 3 — the handcuff, measured. Over 200,000 replications, Cov(z̄, total score) = 0.9991 — pinned to 1, as the proof demands of every unbiased estimator.

Step 4 — the sample median. Same covariance-1 handcuff, but not proportional to the score — its asymptotic variance is πσ²/(2n) = π × 4/50 = 0.251327, a factor π/2 = 1.570796 above the floor (efficiency 2/π = 0.63662). MC at n = 25 gives 0.246, within 2% of the asymptotic value.

Step 5 — read the two MC numbers together. Identical handcuff, different orthogonal wobble — the covariance constraint is what the bound prices; the wobble is what inefficiency looks like.

Verified: Itotal = 6.25 gives a floor of 0.16; the sample mean sits on it (MC variance 0.1599) with the covariance handcuff measured at 0.9991; the median pays the π/2 = 1.570796 tax — asymptotic variance 0.251327, MC 0.246, efficiency 2/π = 0.63662.

From Scratch: A CRLB Verification Harness

You should be able to check this whole chain numerically for any model you can sample and write a log-density for: E[score] = 0, the information identity by finite differences, and estimators raced against the floor.

python
import numpy as np

# CRLB verification harness, from scratch: for any model you can sample
# and log-density you can write, check the whole chain numerically:
#   E[score] = 0,  Var(score) = -E[curvature] = I(theta),  Var(est) >= 1/I.

def fisher_report(logpdf, sampler, theta, n, estimators, trials=100000, h=1e-4, seed=0):
    rng = np.random.default_rng(seed)
    Z = sampler(rng, theta, (trials, n))
    # score via central differences on the summed log-likelihood
    ll_p = logpdf(Z, theta + h).sum(axis=1)
    ll_m = logpdf(Z, theta - h).sum(axis=1)
    ll_0 = logpdf(Z, theta).sum(axis=1)
    score = (ll_p - ll_m) / (2 * h)
    curv  = (ll_p - 2 * ll_0 + ll_m) / h**2
    I_var, I_curv = score.var(), -curv.mean()
    print(f'E[score]      = {score.mean():+.4f}   (theory: 0)')
    print(f'Var(score)    = {I_var:.4f}')
    print(f'-E[curvature] = {I_curv:.4f}   (the two faces agree)')
    print(f'CRLB          = {1/I_var:.5f}')
    for name, est in estimators.items():
        v = est(Z).var()
        print(f'  Var({name:6s}) = {v:.5f}   efficiency = {(1/I_var)/v:.3f}')

# Gaussian location, sigma = 2, n = 25: mean is efficient, median pays pi/2
sig = 2.0
fisher_report(
    logpdf=lambda z, th: -0.5*np.log(2*np.pi*sig**2) - (z - th)**2/(2*sig**2),
    sampler=lambda rng, th, shape: rng.normal(th, sig, shape),
    theta=5.0, n=25,
    estimators={'mean': lambda Z: Z.mean(axis=1),
                'median': lambda Z: np.median(Z, axis=1)})

print()
# Bernoulli, theta = 0.3, n = 100: the sample proportion is efficient
th0 = 0.3
fisher_report(
    logpdf=lambda z, th: z*np.log(th) + (1 - z)*np.log(1 - th),
    sampler=lambda rng, th, shape: (rng.random(shape) < th).astype(float),
    theta=th0, n=100,
    estimators={'prop': lambda Z: Z.mean(axis=1)})
Misconception: remembering the CRLB as "the variance of the MLE" or assuming some estimator always achieves it. The bound is estimator-free — derived from unbiasedness alone — and attainment at finite n happens only in the special proportionality case (exponential families in their natural parameter). For many honest models nothing touches the floor at finite n.
Check: In the four-move proof, where does the specific estimator's identity disappear?
WhyMoves 1–3 use only E[θ̂] = θ (for all θ) to pin Cov(θ̂, s) = 1. Move 4 then divides by Var(s) = I(θ) — a property of the model. No property of the algorithm survives into the final inequality, which is exactly why it binds algorithms not yet invented.
PhD lens: The core quals derivation — examiners time it: "Derive the CRLB, stating precisely where regularity enters, then exhibit a model where the bound FAILS and compute the actual rate." Expected: the four moves, the derivative-integral exchanges flagged in moves 2 and (via chapter 2) 3, then Uniform(0, θ): support depends on θ, the MLE max(zi) has variance ~θ²/n² — faster than any 1/n floor — and no contradiction, because the theorem's hypotheses were never satisfied.

Chapter 5: Efficiency — Who Actually Hits the Floor

A floor is only interesting if someone can stand on it. Chapter 0's race showed the mean touching the floor under Gaussian noise and the median touching it under Laplace — same floor-touching honor, opposite estimators. Time to explain who gets to touch, when, and why the MLE almost always does eventually.

Formalize the scoreboard: the efficiency of an unbiased estimator is eff = CRLB / Var(θ̂), a number in (0, 1]; an estimator with eff = 1 is efficient. Chapter 4 already measured the Gaussian median at 2/π = 0.637 — now make that number systematic rather than anecdotal.

Derive the membership rule from Cauchy–Schwarz equality: θ̂ is efficient iff θ̂ − θ = c(θ) × s(θ; z) for some factor constant in z. Integrate this condition and you land on a structural theorem: a finite-n efficient unbiased estimator exists iff the family is an exponential family and θ is (a linear function of) its natural mean parameter, with θ̂ the corresponding sufficient statistic. Gaussian mean, Poisson rate, Bernoulli proportion: yes. Gaussian σ² with unknown mean, Laplace location, almost everything nonlinear: no finite-n winner exists at all.

Let the Laplace worked example land the punch: under Laplace(b = 1) noise the CRLB at n = 100 is 0.01. The sample mean — the reflex estimator — delivers 0.02: fifty percent efficiency, permanently, at every n. The sample median (which is the MLE here, since the log-density is −|z − θ|/b) closes on the floor as n grows. Matching the estimator to the noise family is worth a factor of 2 in variance — for free, forever.

The Asymptotic Race — Sampling Distribution vs. the Efficient Limit

Histogram of √n(θ̂ − θ) against the limiting efficient curve N(0, 1/I1). Under Gaussian noise the mean matches the curve at every n while the median stays wider forever. Under Laplace the roles swap — but watch the median approach the curve only slowly (visibly above the floor at n = 10, hugging it by n = 500). The strip chart traces efficiency vs. n, so "asymptotic" is a curve you watch converge, not a word.

Samples n25

Now the general engine — MLE asymptotics, sketched honestly in three steps you can follow on paper. (1) The MLE zeroes the total score: 0 = Sn(θ̂). (2) Taylor-expand around the truth: 0 ≈ Sn(θ) + S′n(θ)(θ̂ − θ). (3) So:

√n (θ̂ − θ) ≈ [ Sn(θ)/√n ] / [ −S′n(θ)/n ]  →  N(0, I1) / I1 = N(0, 1/I1)

The numerator tends to N(0, I1) by the CLT (scores are iid, mean 0, variance I1); the denominator tends to I1 by the law of large numbers. The MLE is asymptotically efficient because it asymptotically becomes the proportional-to-score estimator that equality demands.

Warning labels, because "MLE is efficient" is the most misquoted sentence in estimation: (a) it is an n→∞ statement — at small n the MLE can be biased (the Gaussian variance MLE carries the (n−1)/n factor; quals question 3 quantifies it) and can be beaten; (b) it assumes the model is right — under misspecification the sandwich variance replaces 1/I and efficiency claims dissolve; (c) asymptotic efficiency is about the leading 1/n term only.

Connect back to the site's estimators to make this concrete: the Kalman filter under linear-Gaussian assumptions is the recursive MLE/MMSE and inherits efficiency (kalman-filter); robust estimators (Huber, from robust-estimation) deliberately spend efficiency at the Gaussian — about 5% at the usual tuning — to buy insurance against heavy tails. That lesson's tradeoff curve is this chapter's efficiency number turned into a dial.

Worked Example: Scoring the Reflex Estimator Under Laplace Noise

Setup. Laplace(b = 1) location noise (per-sample variance 2b² = 2), n = 100. Score the reflex estimator (mean) against the matched one (median = MLE).

Step 1 — Fisher information for Laplace location. log p = −log(2b) − |z − θ|/b, so s = sign(z − θ)/b and I1 = E[s²] = 1/b² = 1. The CRLB at n = 100: 1/(n I1) = 0.01.

Step 2 — the sample mean ignores the noise shape. Var = 2b²/n = 0.02. Efficiency = 0.01/0.02 = 0.5 — fifty percent, at every n, forever.

Step 3 — the sample median is the MLE (it minimizes ∑|zi − θ|). Its asymptotic variance is 1/(4 f(0)² n) with f(0) = 1/(2b): 1/(4 × 0.25 × 100) = 0.01 — exactly the CRLB, asymptotically.

Step 4 — seeded Monte Carlo, 200,000 replications. Mean variance 0.02 (on its nose); median variance 0.0116 — 16% above the 0.01 floor at n = 100, the visible cost of "asymptotic"; rerun mentally at larger n and the gap closes like 1/n.

Step 5 — moral with numbers attached. Matching estimator to noise family is worth a factor 2 here; impatience (finite n) costs another 16% temporarily. The floor prices both.

Verified: Laplace floor 0.01 at n = 100; the mean delivers 0.02 (efficiency 0.5, permanently); the median's asymptotic variance equals the floor 0.01, and the seeded MC shows the finite-n reality: mean 0.02, median 0.0116 — still 16% above the floor on its way down.
Misconception: quoting "the MLE is efficient" as a finite-sample guarantee. It is an asymptotic statement under a correctly specified regular model — at finite n the MLE can be biased and beatable, under misspecification its variance is the sandwich (not 1/I), and for most models NO unbiased estimator attains the floor at finite n because the proportionality condition has no solution.
Check: An unbiased estimator achieves the CRLB at finite n exactly when…
WhyCauchy–Schwarz is tight iff the two variables are linearly dependent: θ̂ − θ = c(θ) s. That structural condition integrates to the exponential-family characterization. The MLE only earns equality asymptotically, when the Taylor expansion of its score equation makes it proportional-to-score in the limit.
PhD lens: A beloved two-parter: "Sketch the proof that the MLE is asymptotically N(θ, 1/(nI)) — CLT on the numerator, LLN on the denominator — then name three distinct ways the claim fails in practice." Wanted: finite-n bias (the (n−1)/n variance example), model misspecification (sandwich variance, White), and non-regular models (Uniform(0, θ) again). Bonus credit for knowing the median-vs-mean factor 2 under Laplace as a lived example of matching.

Chapter 6: Many Parameters — the FIM, the Matrix Bound, and the Price of Nuisance

Real problems never have one unknown. You want the slope; the intercept tags along. You want position; the clock bias tags along. Here is the uncomfortable theorem: the parameters you do not care about still charge you variance on the ones you do — unless the information matrix says they are orthogonal.

Lift the machinery in one motion. The score becomes the gradient vector s = ∇θℓ; the Fisher information matrix (FIM) is

I(θ) = E[ s sT ] = −E[ Hessian of ℓ ]

(both faces survive, same proof shape). Diagonal entries: per-parameter loudness. Off-diagonals: vote entanglement — when data cannot tell a change in θ1 from a change in θ2, the off-diagonal grows.

State the matrix bound and immediately de-mystify what a matrix inequality means: Cov(θ̂) ≥ I−1 means aTCov a ≥ aTI−1a for every direction a — every linear functional of the parameters has its own scalar floor. Direction a = ej reads off the practical corollary everyone uses: Var(θ̂j) ≥ [I−1]jj. Note the trap in the notation: [I−1]jj, NOT 1/Ijj — the whole chapter lives in the gap between those two.

The Nuisance Tax, On Screen — Line-Fit Design vs. CRLB Ellipse

Top: the four x-design points (drag them, or shift all). Below: the CRLB ellipse in the (slope, intercept) plane, with two brackets on the slope axis — the marginal floor √[I⁻¹]11 (intercept unknown: the ellipse's full shadow) and the conditional floor √(1/I11) (intercept known: a horizontal slice). Center the design and watch the ellipse rotate axis-aligned as the brackets snap together. The bottom strip traces the inflation factor vs. shift — a design-of-experiments curve drawn by hand.

Shift all x0.00

Make the gap concrete with the line fit: yi = a xi + b + Gaussian noise, x at (0, 1, 2, 3), σ = 1. The FIM is [[14, 6], [6, 4]] — that 6 is the entanglement: raising the slope and lowering the intercept produce nearly the same fitted line over right-shifted x. Invert: [I−1]11 = 0.2, while 1/I11 = 0.0714 — knowing the intercept would make the slope 2.8 times easier. The nuisance parameter b, which you never wanted, taxed your slope by 180%.

Name the general law. With θ = (ψ, λ) (interest, nuisance), the effective information for ψ is the Schur complement:

Ieff = Iψψ − Iψλ Iλλ−1 Iλψ

— information minus what the nuisance can mimic. Verify on the numbers: 14 − 6²/4 = 5, and 1/5 = 0.2, matching the inverse's corner exactly. Equality with the naive 1/I11 holds iff the off-diagonal vanishes: parameter orthogonality.

Turn the law into a design lever, because this is where estimation theory becomes engineering: center the regressors. Shift x to (−1.5, −0.5, 0.5, 1.5): now ∑x = 0, the FIM is diagonal, and the slope's floor is 1/5 = 0.2 with no inflation — same hardware, same noise, same four measurements, the tax legislated away by parametrization. (The slope floor itself is unchanged — 0.2 either way, since ∑(x − x̄)² = 5 is shift-invariant — what changed is that the intercept no longer costs anything extra, and the two estimates decorrelate.)

A friendly orthogonality you already own: the Gaussian with unknown (μ, σ²) has FIM diag(n/σ², n/(2σ4)) — off-diagonal exactly zero, so not knowing σ² does NOT inflate the floor for μ. This is why chapter 4's σ-known analysis quietly survives σ being unknown — a luck that the line fit, the range-bearing showcase, and most real sensor models do not share.

Foreshadow the showcase: in chapter 9 the FIM's eigen-structure becomes literal geometry — each sensor contributes a rank-one slab of information along its measurement direction, off-diagonals become ellipse tilt, and a nuisance-like degeneracy (two nearly parallel slabs) becomes an ellipse stretching to the horizon.

Worked Example: The Exact Price of Not Knowing the Intercept

Setup. Fit yi = a xi + b + noise (σ = 1) with x at (0, 1, 2, 3). How well can ANY unbiased method know the slope a — with and without knowing the intercept b?

Step 1 — assemble. Per-sample gradients are (xi, 1), so the FIM is (1/σ²) [[∑x², ∑x], [∑x, n]] = [[14, 6], [6, 4]]. The off-diagonal 6 says slope and intercept votes are entangled on this right-shifted design.

Step 2 — invert (det = 14 × 4 − 36 = 20): I−1 = [[0.2, −0.3], [−0.3, 0.7]]. Slope floor with b unknown: [I−1]11 = 0.2.

Step 3 — if b were known: floor = 1/I11 = 1/14 = 0.071429. The nuisance inflation is 0.2/0.071429 = 2.8: not knowing the intercept makes the slope 2.8× harder — with identical data.

Step 4 — Schur complement check. Effective slope information = 14 − 6²/4 = 5.0, so the floor is 1/5 = 0.2. Same answer through the front door.

Step 5 — centered design x at (−1.5, −0.5, 0.5, 1.5): ∑x = 0 kills the off-diagonal; ∑(x − x̄)² = 5.0 is unchanged, so the slope floor stays 0.2 — but now 1/I11 ALSO equals 0.2: orthogonal parameters, zero nuisance tax, and the intercept estimate no longer covaries with the slope.

Verified: FIM [[14, 6], [6, 4]] with det 20 inverts to [[0.2, −0.3], [−0.3, 0.7]]: slope floor 0.2 with the intercept unknown versus 0.071429 if known — a 2.8× nuisance inflation — and the Schur complement 14 − 9 = 5.0 reproduces the 0.2 directly; centering the design keeps sum-of-squares 5.0 (same floor) while zeroing the entanglement.
Misconception: computing the per-parameter floor as 1/Ijj — reading the information matrix's diagonal directly. The bound is [I−1]jj, which is LARGER whenever off-diagonals exist, and the gap (the Schur complement deficit) is precisely the price of every nuisance parameter you must co-estimate. Diagonal-of-inverse versus inverse-of-diagonal is the single most common FIM error in papers and in exams.
Check: Estimating θ1 alongside an unknown nuisance θ2 (versus θ2 known) leaves your θ1 floor unchanged exactly when…
WhyThe marginal floor is [I−1]11 = 1/(I11 − I12²/I22) by the Schur complement. It collapses to the naive 1/I11 iff I12 = 0. Orthogonality is a property of the model AND the design — the line fit buys it by centering x; the Gaussian (μ, σ²) pair has it for free.
PhD lens: Two staple probes: (1) "Write the FIM for a linear-Gaussian model, and explain — in one sentence each — what a matrix inequality means and why [I−1]jj is not 1/Ijj." (2) "Your calibration parameter is a nuisance. Compute the information you effectively retain about the state, and propose one DESIGN change that restores orthogonality." The centered-regressor trick is the expected exhibit; sf-15's time-sync and extrinsic calibration parameters are the field version of the same tax.

Chapter 7: Bias and Priors — Bending the Floor

Chapter 4's proof had one confession in it: unbiasedness. Remove that assumption and the floor does not vanish — it bends. And once a prior enters, the bend has a direction: toward the prior, below the unbiased floor, priced by a beautiful generalization that the Kalman filter has been achieving all along without telling you.

Redo move 2 of chapter 4 with a biased estimator, E[θ̂] = θ + b(θ): differentiating now gives E[θ̂s] = 1 + b′(θ). The handcuff's length changed. Cauchy–Schwarz delivers the biased CRLB:

Var(θ̂) ≥ (1 + b′(θ))² / I(θ)

If b′ is negative — the estimator systematically leans toward some anchor — the variance floor drops below 1/I. Bias legally buys variance.

Make the purchase concrete with the shrinkage estimator θ̂ = 0.5 z̄ (Gaussian, σ = 2, n = 4, so I = 1 and the unbiased floor is 1.0): bias b(θ) = −0.5θ, b′ = −0.5, bent floor (0.5)²/1 = 0.25 — and Var(0.5 z̄) = 0.25 achieves it. A quarter of the unbiased floor! The catch: variance is not error. Its MSE is 0.25 + 0.25θ² — below the unbiased 1.0 for |θ| < √3, above it beyond. Shrinkage is a bet that θ is small; the bent bound prices the bet's variance, not its regret.

Draw the moral before you over-learn it: the biased bound shows the unbiased CRLB is not sacred — but it prices each bias function separately and says nothing about which bet to make. To rank bets you must average over θ — and the moment you put a distribution on θ, you have rejoined Bayes Estimation.

Enter the Bayesian CRLB (the Van Trees inequality): for ANY estimator — biased, nonlinear, whatever — the average MSE over the prior obeys

E[(θ̂ − θ)²] ≥ 1/J,     J = Eθ[I(θ)] + Jprior

where Jprior = E[(d/dθ log π(θ))²] is the prior's own Fisher information about θ. Data information and prior information add — the same additivity as chapter 3, now across sources of knowledge rather than samples. No unbiasedness anywhere: averaging over the prior is what replaces it.

The Floor Bender — Prior Dial and Regret Plot

Left: three bars — the frequentist unbiased floor (fixed at 1.0), the Van Trees floor sliding with the prior-variance dial, and a Monte Carlo dot for the posterior mean's Bayes MSE landing on the Van Trees bar at every setting. Right: the regret plot — MSE vs. true θ for the shrinkage estimator c z̄; the parabola crosses the flat unbiased line at |θ| = √((1+c)/(1−c)). The two panes separate what students conflate: the bent floor prices the VARIANCE of one bet; the prior converts bets into an average.

Prior var P0 (log)1.00
Shrink factor c0.50

Run the linear-Gaussian case where everything is exact: prior N(0, P0 = 1), n = 4 samples at σ = 2. Data information n/σ² = 1.0; prior information 1/P0 = 1.0; J = 2.0; floor 0.5 — HALF the frequentist floor of 1.0. The posterior mean shrinks z̄ by data-info/total = 0.5 (it IS the 0.5 z̄ estimator above — the bet the prior justifies), and its Bayes MSE, by seeded Monte Carlo, is 0.5014: on the Van Trees floor. In linear-Gaussian problems the bound is achieved exactly, at finite n, by the MMSE estimator you built in Bayes Estimation.

The sentence that reorganizes your world: the Kalman filter's posterior covariance IS the achieved Bayesian CRLB of its linear-Gaussian problem, recursively maintained. P = (Ppred−1 + HTR−1H)−1 is 1/J wearing matrices; the information filter (sf-09) is this chapter as an algorithm. For NONLINEAR filtering, the tracking community's benchmark — the posterior CRLB propagated by the Tichavsky recursion — is the dynamic version of J; estimator-eval owns the practice of racing filters against it, this chapter owns why the race is fair for biased filters too.

Close the triangle of the three floors now standing: unbiased 1/I (binds unbiased estimators at a point), bent (1 + b′)²/I (binds one bias function at a point), Bayesian 1/J (binds EVERYONE on average over the prior). Each weakening of the claim buys generality; knowing which floor a paper is quoting is a quals reflex.

Worked Example: Pricing the Shrinkage Bet, Then Letting the Prior Settle It

Setup. Gaussian measurements, σ = 2, n = 4 (so data information = 1.0, unbiased floor = 1.0). A prior N(0, P0 = 1) becomes available. Price the shrinkage bet and the Bayesian floor.

Step 1 — unbiased frequentist floor. I = n/σ² = 1.0, so Var ≥ 1.0 for any unbiased estimator.

Step 2 — the shrinkage bet θ̂ = 0.5 z̄. Bias b(θ) = −0.5θ, so b′ = −0.5 and the bent floor is (1 − 0.5)²/I = 0.25. Its variance: 0.25 × (σ²/n) = 0.25 — the bent floor, achieved. Below the unbiased floor by 4×, legally.

Step 3 — the bill for the bet at fixed θ. MSE(θ) = 0.25 + (0.5θ)². At θ = 2: 0.25 + 1.0 = 1.25 — WORSE than the unbiased 1.0. The bet pays off only for |θ| < √3.

Step 4 — the prior settles the bet. J = data info + prior info = 1.0 + 1/P0 = 2.0, so the Van Trees floor on average MSE is 1/J = 0.5 — half the frequentist floor.

Step 5 — achieved. The posterior mean shrinks by data-info/total = 0.5 — exactly the c = 0.5 estimator, now justified — and seeded MC over 400,000 draws of (θ, data) from the joint gives Bayes MSE 0.5014: the floor, achieved to MC precision. Priors are not philosophical decoration; they are information, and they add.

Verified: unbiased floor 1.0; the c = 0.5 shrinkage estimator sits on its bent floor 0.25 (variance 0.25) but pays MSE 1.25 at θ = 2; with the N(0,1) prior, J = 2.0 gives the Van Trees floor 0.5, the posterior mean is exactly the 0.5-shrinkage, and seeded MC delivers Bayes MSE 0.5014 — the floor achieved.
Misconception: treating "the CRLB" as a single universal wall and being scandalized that shrinkage or a Kalman filter reports variance below 1/I. There are three floors with three different claims — unbiased-at-a-point, bias-function-at-a-point, and average-over-a-prior — and estimators routinely and legally live below the first by paying bias that a prior (when honest) fully licenses.
Check: The Van Trees (Bayesian) bound differs from the classical CRLB most importantly because it…
WhyAveraging over the prior replaces the unbiasedness assumption entirely: J = E[I(θ)] + Jprior bounds E[(θ̂ − θ)²] for any measurable estimator. That is why it can price shrinkage, MAP, and nonlinear filters — and why the tracking community's posterior-CRLB benchmarks are Van Trees machinery, not classical CRLB machinery.
PhD lens: Examiners test the three-floors taxonomy directly: "A paper reports a filter beating the CRLB. Give three legitimate explanations and one illegitimate one." Legitimate: it is biased (bent floor), it uses a prior (Van Trees floor), the model is non-regular (no floor). Illegitimate: variance estimated from too few Monte Carlo runs — which segues into estimator-eval's campaign-size discipline. Follow-up: "Show that the Kalman covariance equals the achieved Bayesian bound in the linear-Gaussian case."

Chapter 8: Sufficiency — Processing Can Only Lose Information

Your pipeline throws data away constantly: it averages, thresholds, bins, summarizes. Which of those steps cost you accuracy that no downstream algorithm can ever recover? There is an exact accounting — and it explains, at last, why the median pays chapter 4's mysterious π/2 tax.

State the theorem first because it is short and shocking: for ANY function T of the data,

IT(θ) ≤ IZ(θ)

Processing is a one-way valve for Fisher information — the data-processing inequality of estimation. The proof sketch is worth doing on the board: the score of T is the conditional expectation of the score of Z given T (one honest computation via the factorization of densities), and conditional expectation shrinks variance (law of total variance) — so Var(scoreT) ≤ Var(scoreZ). Equality iff the score of Z is already a function of T.

Define sufficiency through that equality: T is sufficient when p(z; θ) factorizes as g(T(z); θ) h(z) (the Fisher–Neyman factorization) — all θ-dependence flows through T — and then scoreZ IS a function of T, so IT = IZ: lossless compression. For n Gaussian samples, the log-density's θ-terms collect into n z̄θ − nθ²/2 (over σ²): z̄ is sufficient. One number carries ALL 25 samples' information about the mean — averaging is free.

Now the median mystery dissolves: the sample median is NOT sufficient for the Gaussian mean — it forgets exactly where each datum sits, keeping only rank information near the center. Chapter 4 measured the price empirically: efficiency 2/π. This chapter derives where 2/π comes from: near the center the median is driven by SIGN information — and a sign is a 1-bit measurement.

The Information Pipeline — With a Meter

Raw samples flow into a compressor; the meter shows how much Fisher information survives. Mean: 100% (sufficiency — the bar does not move). Median: 63.7%. A 1-bit comparator: 63.7% at the perfect threshold, bleeding toward 43.9% one sigma off (the analytic curve traces as you move t). A k-bin histogram climbs back toward 100% by k ≈ 8. The bottom strip shows a Monte Carlo estimator actually attaining the raised floor — the mean's step up from the raw floor is exactly zero.

Threshold t (1-bit)0.0
Bins k (histogram)4
Samples n100

Compute the 1-bit sensor exactly, because it is the workhorse of the chapter and of modern cheap-sensor design. A comparator reports only whether z exceeds threshold t. This is a Bernoulli observation with success probability 1 − Φ((t − θ)/σ), and its Fisher information (chain rule through chapter 2's Bernoulli) is

I1bit = [ φ(d)² / ( Φ(d)(1 − Φ(d)) ) ] · 1/σ²,    d = (t − θ)/σ

At the sweet spot t = θ: φ(0)²/(1/4) = 4/(2π) = 2/π ≈ 0.6366 of the analog sample's 1/σ². A perfectly placed comparator keeps 63.7% of the information — and that same 2/π is the median's efficiency, no coincidence: both live on signs around the center.

Move the threshold and watch the information bleed — the design lesson: at d = 1 (threshold one sigma off the truth), I1bit = φ(1)²/(Φ(1)(1−Φ(1))) = 0.438629 — you keep 43.9%, not 63.7%. The floor from n = 100 one-bit sensors with a well-placed threshold is 1/(100 × 0.63662) = 0.015708 versus 0.01 from analog samples. Numbers like these budget real systems: how many comparators buy one ADC (π/2 ≈ 1.57), what a misplaced threshold costs (another 1.45× at one sigma), when binning telemetry is safe (k-bin histograms recover information rapidly as k grows).

The reflex to leave with: BEFORE compressing (averaging windows, decimating, quantizing, feature-extracting), ask "is my summary sufficient — does the factorization go through?" If yes, compress fearlessly. This is why the Kalman filter can carry ONLY (x̂, P) and lose nothing in the linear-Gaussian world: the Gaussian posterior is a sufficient summary of the entire measurement history — the deepest instance of this chapter on the whole site. If no, compute IT/IZ and decide whether the bandwidth is worth the floor you are raising.

Flag the boundary honestly: Fisher information's data-processing inequality is about estimating θ locally; Shannon's mutual-information DPI is a cousin, not the same theorem (the information theory workbook draws the family tree). Quals will ask you to keep them apart.

Worked Example: Pricing Three Compressions Exactly

Setup. Gaussian samples, σ = 1. Price three compressions of the data exactly: the mean, the median, and a 1-bit comparator at two threshold placements; then budget n = 100 comparators against n = 100 analog samples.

Step 1 — baseline. Each analog sample carries I = 1/σ² = 1.0.

Step 2 — sample mean. Sufficient (factorization collects all θ-terms into z̄), so it keeps 100% — compression for free.

Step 3 — 1-bit comparator at the ideal threshold t = θ. The bit is Bernoulli with p = 1/2 and sensitivity φ(0), giving I = φ(0)²/(1/4) = 2/π = 0.63662 — 63.7% kept. The sample median's asymptotic efficiency is the SAME 2/π = 0.63662: the median is sign-driven near the center, so chapter 4's tax is this chapter's quantization loss in disguise.

Step 4 — off-center threshold, d = 1 sigma. I = φ(1)²/(Φ(1)(1 − Φ(1))) = 0.241971²/(0.841345 × 0.158655) = 0.438629 — 43.9% kept. Threshold placement alone costs a further factor 1.45.

Step 5 — the budget. n = 100 well-placed comparators give a floor of 1/(100 × 0.63662) = 0.015708, versus 0.01 for 100 analog samples. Equivalently π/2 = 1.5708 comparators buy one analog sample — the exact exchange rate between a $0.05 comparator and an ADC channel.

Verified: a well-placed comparator keeps 2/π = 0.63662 of an analog sample's information (the same 0.63662 that is the median's efficiency); one sigma of threshold misplacement drops it to 0.438629 (via φ(1) = 0.241971, Φ(1) = 0.841345); so 100 one-bit sensors floor at 0.015708 versus 0.01 analog — an exchange rate of π/2 = 1.5708 comparators per analog sample.
Misconception: assuming clever downstream processing can recover accuracy lost to early compression — "we will fix the quantization in the estimator." The data-processing inequality is absolute: once the comparator, the bin, or the summary has discarded score information, NO estimator, learned or classical, can get back below the raised floor 1/IT. The only free compressions are the sufficient ones.
Check: A statistic T achieves IT = IZ (no information loss) precisely when…
WhyThe Fisher–Neyman factorization makes the score of Z a function of T alone, so conditioning on T loses no score variance. Sufficiency is exactly the equality case of the information data-processing inequality — averaging Gaussian samples qualifies; taking medians, signs, or coarse bins does not.
PhD lens: A favorite deep-cut: "Prove IT ≤ IZ via the law of total variance on the score, identify the equality case, then compute the information of a 1-bit quantizer and tell me where to put the threshold." Full marks requires the 2/π at the optimum, the φ²/(Φ(1−Φ)) curve, and the punchline that adaptive systems TRACK the threshold at the current estimate — which is a comparator implementing Fisher-optimal design on the fly.

Chapter 9: Showcase — the Sensor-Geometry CRLB Explorer

Everything so far priced WHAT you measure. The showcase prices WHERE you measure from. Drag two sensors around a target and watch the theory assemble in front of you: information adding as rank-one slabs, the bound inverting into an ellipse, and a Monte Carlo cloud of actual MLE estimates hugging that ellipse — geometry becoming accuracy in real time.

Set up the estimation problem cleanly: target at unknown 2D position p; sensor i at known position qi measures either range ri = |p − qi| + noise(σr) or bearing (angle to target) + noise(σb). The measurement gradients are the whole story: the range gradient is the unit vector ui from sensor to target (moving the target radially changes range one-for-one; transversely, not at all); the bearing gradient is the PERPENDICULAR unit vector scaled by 1/di (angles change fastest for close targets).

Assemble the FIM as a sum of rank-one slabs — the geometric reading of chapter 6:

I = ∑i (1/σi²) gi giT

each slab constraining exactly one direction. A range sensor is a vise clamping the radial axis; a bearing sensor is a vise clamping the transverse axis with grip 1/(σb²d²) that weakens with the SQUARE of distance. Cross-range accuracy from a bearing sensor floors at d × σb — at d = 10 with σb = 0.05 rad, transverse information 4.0 and a floor of 0.5 units of standard deviation, however good the estimator.

The Sensor-Geometry CRLB Explorer

Drag the target (cross) and the two sensors. Each sensor paints its rank-one information slab through the target; the purple ellipse is the 95% CRLB. Fire the MLE scatter to watch 400 actual estimates fill the ellipse. Sweep orbits sensor B while the strip chart traces trace(CRLB) vs. separation angle against the 2σ²/sin²γ law — minimum flagged at 90°. Squeeze the sensors collinear and the ellipse runs off the screen: GDOP, live.

Sensor A: σ=1.00
Sensor B: σ=1.00

Work the two-range-sensor case to a closed form you can carry forever: unit vectors separated by angle γ, both σr = 1. The FIM is uAuAT + uBuBT with det = sin²(γ) and trace 2, so

trace(CRLB) = trace(I)/det(I) = 2/sin²(γ)

At γ = 90°: total variance floor 2.0 — each direction independently clamped. At 30°: 8.0 — a factor FOUR worse with IDENTICAL sensors, purely from geometry. As γ → 0 the two slabs become parallel, the FIM drops rank, and the transverse direction is unconstrained: the ellipse runs off the screen. This is GDOP (geometric dilution of precision) — the reason GPS wants satellites spread across the sky, not bunched.

Close the loop with achievability, because a bound without a cloud is decoration: draw noisy ranges, solve the MLE by Gauss–Newton (vnav-09's machinery — one step from truth suffices in the linearized regime), and scatter 200,000 estimates: seeded MC covariance trace 8.013 against the bound's 8.0. The ellipse is not a pessimist's abstraction; the MLE cloud FILLS it.

What the explorer is secretly teaching: optimal experiment design. Sweeping sensor B around the target traces trace(CRLB) versus γ with its minimum at 90° — minimizing trace of I−1 is A-optimal design, minimizing det is D-optimal (minimum ellipse area) — and every "where should I put the anchor / the antenna / the third camera" question in UWB positioning, TDOA arrays, SLAM landmark selection, and satellite geometry is this plot with a domain costume on. The FIM lets you shop for geometry BEFORE deploying hardware — the chapter-0 promise, delivered.

Worked Example: 90° vs. 30° in Full Matrix Detail

Setup. Two range sensors, σr = 1, observing a target. Compare separation angles 90 and 30 degrees; check the bearing-sensor scaling; confirm achievability by seeded Monte Carlo MLE.

Step 1 — geometry to unit vectors. Put uA = (0, 1) (sensor due south of target) and uB at 30° from it: (sin 30°, cos 30°) = (0.5, 0.866025).

Step 2 — assemble the slabs. FIM = uAuAT + uBuBT = [[0.25, 0.433013], [0.433013, 1.75]]. det = 0.25 — and in general det = sin²(γ), so det at 30° = sin²(30°) = 0.25. Check.

Step 3 — invert. CRLB = [[7.0, −1.732051], [−1.732051, 1.0]], trace 8.0 — matching the closed form 2/sin²(γ) = 2/0.25 = 8.0. At γ = 90°: 2/1 = 2.0. Same two sensors, 4× the total variance floor, geometry alone.

Step 4 — ellipse anatomy. Eigenvalues of the CRLB are 4 ± 2√3 = 7.4641 and 0.5359 — the error ellipse is √(7.4641/0.5359) ≈ 3.73 times longer than wide, its long axis bisecting the two nearly-parallel sensor directions.

Step 5 — bearing scaling check. A bearing sensor at distance d = 10 with σb = 0.05 rad contributes transverse information 1/(σb²d²) = 4.0 — a cross-range standard-deviation floor of d × σb = 0.5.

Step 6 — achievability. 200,000 seeded MC trials, one Gauss–Newton step from truth on noisy ranges: empirical covariance trace 8.013 against the bound's 8.0 — the MLE cloud fills the ellipse; the bound is tight, not decorative.

Verified: at 30° the FIM [[0.25, 0.433013], [0.433013, 1.75]] has det 0.25 = sin²(30°) and inverts to CRLB [[7.0, −1.732051], [−1.732051, 1.0]] with trace 8.0 = 2/sin²(γ) (versus 2.0 at 90°), eigenvalues 0.5359 and 7.4641; a bearing sensor at d = 10, σb = 0.05 contributes transverse information 4.0 (cross-range floor 0.5); and the seeded 200k-trial Gauss–Newton MLE achieves covariance trace 8.013 against the 8.0 bound.

Production Framing: A Sensor-Placement Evaluator

This is how a localization stack actually uses the CRLB: assemble the FIM for a candidate layout, score it by A/D-optimality, then cross-check that the covariance an NLLS solver reports at its optimum (inverse of the whitened JTJ, GTSAM/Ceres-style) IS the inverse FIM.

python
import numpy as np
from scipy.optimize import least_squares

# Production framing: a sensor-placement evaluator, the way a localization
# stack actually uses the CRLB. Build the FIM for a candidate geometry,
# score it (A/D-optimality), and cross-check that the covariance an NLLS
# solver reports at the optimum IS the inverse FIM (J' Sigma^-1 J)^-1.

def fim_for_layout(target, sensors):
    """sensors: list of (pos, kind, sigma); kind in {'range','bearing'}."""
    I = np.zeros((2, 2))
    for pos, kind, s in sensors:
        d = target - pos
        r = np.linalg.norm(d)
        u = d / r                                  # unit vector sensor -> target
        if kind == 'range':
            g = u / s                              # d(range)/d(target) scaled
        else:                                      # bearing: transverse, 1/(s*r)
            g = np.array([-u[1], u[0]]) / (s * r)
        I += np.outer(g, g)                        # rank-one information slab
    return I

target = np.array([0.0, 0.0])
layout = [(np.array([0.0, -8.0]), 'range', 0.5),        # due south
          (np.array([-8.0, 0.0]), 'range', 0.5),        # due west: 90 deg baseline
          (np.array([10.0, 0.0]), 'bearing', 0.05)]     # bearing at d=10

I = fim_for_layout(target, layout)
C = np.linalg.inv(I)
print('FIM =\n', np.round(I, 4))
print('CRLB trace (A-optimality) =', round(float(np.trace(C)), 4))
print('CRLB det   (D-optimality) =', round(float(np.linalg.det(C)), 6))

# Cross-check: simulate one measurement set, solve the MLE by NLLS, and
# recover the covariance from the solver's Jacobian -- the observed FIM.
rng = np.random.default_rng(7)
def h(p):
    out = []
    for pos, kind, s in layout:
        d = p - pos
        out.append(np.linalg.norm(d) if kind == 'range' else np.arctan2(d[1], d[0]))
    return np.array(out)

sig = np.array([s for _, _, s in layout])
z = h(target) + rng.normal(0, sig)
res = least_squares(lambda p: (h(p) - z) / sig, x0=np.array([1.0, 1.0]))
J = res.jac                                       # already noise-whitened
C_solver = np.linalg.inv(J.T @ J)
print('solver covariance trace =', round(float(np.trace(C_solver)), 4))
print('matches CRLB at optimum:', np.allclose(np.trace(C_solver), np.trace(C), rtol=0.05))
# Placement loop in practice: sweep candidate layouts, keep the one with
# min trace(inv(FIM)) -- optimal experiment design, before any hardware.
Misconception: budgeting accuracy by sensor QUALITY alone — better σ, better floor. With identical hardware the placement multiplies the floor by 4× between 90 and 30 degrees of separation and by infinity at collinearity, because information is a sum of rank-one slabs and only geometry decides whether the slabs span the space. GDOP is not a GPS curiosity; it is the FIM's determinant talking.
Check: Two identical range sensors and a target. Moving the sensors from 90° of angular separation to 30° (same distances, same σ) changes the total position-variance floor by…
WhyEach range sensor clamps only its radial direction (a rank-one slab u uT). The FIM's determinant is sin²(γ), so trace(I−1) = 2/sin²(γ) per unit σ²: 2.0 at 90°, 8.0 at 30°. As γ → 0 the slabs become parallel, the FIM loses rank, and the transverse direction becomes unobservable — geometry is a term in the bound, not a detail.
PhD lens: The showcase in exam form: "Write the FIM for two range-only sensors as a function of separation angle, derive trace(CRLB) = 2σ²/sin²(γ), identify the unobservable limit, and connect to GDOP and to A- versus D-optimal placement." Follow-up that separates strong candidates: "Why does a bearing sensor's information fall like 1/d² while a range sensor's does not — and what does that imply for landmark selection in SLAM?" (Transverse angle-to-position conversion carries the lever arm d; distant landmarks pin heading, close ones pin position — the vnav/modern-SLAM selection heuristic, derived.)

Chapter 10: The Quals Arsenal

You have the machinery: likelihood, score, information, the bound, its equality case, its matrix form, its bent and Bayesian generalizations, and its geometry. Now sit the exam — eight questions of the kind that open an estimation quals, graded on derivations, limiting cases, and judgment rather than recall.

Attempt each question on paper (or the Teach whiteboard) before expanding the worked answer. The answers are graded sketches: full credit requires the algebra, the regularity flags where they belong, and a sanity check at a limit — precisely what the in-chapter derivations rehearsed. Every number in the answers is one the lesson has already verified, so checking your work means checking against chapters you can revisit.

The eight group by theme: foundations (the information identity with its fine print; the four-move proof and its failure model), structure (the (μ, σ²) FIM and attainability at finite n; the efficiency characterization), applications (nuisance/Schur on the line fit; the 1-bit quantizer design), and generalizations (Van Trees pricing the Kalman filter; the two-sensor geometry closed form).

Foundations

Q1. State and prove the information identity Var(score) = −E[second derivative of the log-likelihood], flagging every regularity condition you use, and exhibit a model where the whole framework fails — with the actual estimation rate in that model.
Worked answer

Start from normalization: ∫p(z; θ) dz = 1 for all θ. Differentiate in θ and exchange derivative with integral (regularity flag #1: dominated differentiable integrand, support independent of θ): ∫p′ dz = 0, i.e. E[s] = 0 where s = p′/p. Differentiate AGAIN (flag #2, same conditions): ∫p″ dz = 0. Now compute d/dθ of s = p′/p: s′ = p″/p − (p′/p)², so E[s′] = 0 − E[s²], giving E[s²] = −E[s′] — i.e. Var(s) = −E[curvature] since E[s] = 0.

Failure model: Uniform(0, θ). The support [0, θ] moves with the parameter, the exchange is illegal, E[s] is not even 0, and no CRLB applies: the MLE max(zi) has E[(θ̂ − θ)²] ≈ 2θ²/n² — a 1/n² rate, faster than any 1/(nI) floor, with no contradiction because the theorem's hypotheses never held. Sanity check on a regular model: Gaussian σ = 2 gives Var(s) = 1/4 = 0.25 and −E[curvature] = 1/σ² = 0.25 — the two faces agree.

Q2. Derive the Cramér–Rao bound in full, identify exactly where unbiasedness enters, and state what replaces the bound when the estimator has bias b(θ).
Worked answer

Move 1: unbiasedness E[θ̂] = θ for ALL θ — a differentiable identity in θ. Move 2: differentiate under the integral (regularity): d/dθ ∫θ̂(z) p(z; θ) dz = ∫θ̂ p s dz = E[θ̂s] = 1. Move 3: since E[s] = 0, Cov(θ̂, s) = 1 — the handcuff every unbiased estimator wears regardless of its construction. Move 4: Cauchy–Schwarz: 1 = Cov² ≤ Var(θ̂) Var(s) = Var(θ̂) I(θ), so Var(θ̂) ≥ 1/I(θ).

Unbiasedness entered ONLY in move 1 (making the derivative equal 1). With bias: E[θ̂] = θ + b(θ) differentiates to E[θ̂s] = 1 + b′, and the same Cauchy–Schwarz gives Var ≥ (1 + b′)²/I — the bent floor, which shrinkage estimators achieve (c z̄ with c = 0.5 on the σ = 2, n = 4 Gaussian: bent floor 0.25, variance 0.25, versus unbiased floor 1.0 — but MSE 1.25 at θ = 2: the bend prices variance, not regret). Equality condition in either case: θ̂ − E[θ̂] proportional to the score.

Structure

Q3. Compute the Fisher information matrix for N(μ, σ²) with both parameters unknown, from n iid samples. Are the parameters orthogonal? Derive the CRLB for estimating σ² and determine whether any unbiased estimator attains it at finite n.
Worked answer

Per-sample log-density: −½log(2πσ²) − (z − μ)²/(2σ²). Scores: sμ = (z − μ)/σ²; sσ² = −1/(2σ²) + (z − μ)²/(2σ4). FIM entries (n samples): Iμμ = n/σ²; Iσ²σ² = n/(2σ4) (from Var((z−μ)²) = 2σ4); cross term E[sμsσ²] = 0 because it involves the third central moment of a Gaussian, which vanishes. So I = diag(n/σ², n/(2σ4)): ORTHOGONAL parameters — not knowing σ² does not inflate the μ floor, a special Gaussian mercy.

CRLB for σ²: 2σ4/n; at σ = 2, n = 25: 2 × 16/25 = 1.28. Attainability: the unbiased sample variance s² (divisor n − 1) has Var = 2σ4/(n − 1) = 32/24 = 1.3333 > 1.28 — strictly above the floor. In fact NO unbiased estimator of σ² attains 1.28 at finite n (the equality condition θ̂ − θ proportional-to-score has no solution in this parametrization); the floor is approached only asymptotically. Moral: the CRLB can be an infimum nobody achieves — quoting it as "the variance of the best estimator" is generically wrong at finite n.

Q4. Characterize exactly which models admit a finite-n efficient unbiased estimator, and use the characterization to explain — with numbers — why the sample mean under Laplace noise is permanently 50% efficient while the median is asymptotically 100%.
Worked answer

Cauchy–Schwarz equality demands θ̂(z) − θ = c(θ) s(θ; z) for all z. Since the left side's z-dependence is θ-free, integrating this ODE in θ forces log p to have the form A(θ)T(z) + B(θ) + h(z): a one-parameter EXPONENTIAL FAMILY with θ̂ = T the natural sufficient statistic and E[T] = θ. Gaussian location (T = z̄), Bernoulli (T = sample proportion), Poisson (T = sample mean) qualify. Laplace location does NOT: log p = −|z − θ|/b − log 2b is not of that form (the score sign(z − θ)/b is not linear in any T(z)), so no finite-n efficient unbiased estimator EXISTS.

Numbers at b = 1, n = 100: I1 = 1/b² = 1, floor 0.01. Sample mean: Var = 2b²/n = 0.02 — efficiency 0.5 at every n, because the mean solves the wrong family's equality condition. Sample median = the MLE: asymptotic variance 1/(4f(0)²n) = 0.01 — floor-touching, but only asymptotically (seeded MC at n = 100: 0.0116, still 16% over). The general MLE result: √n(θ̂ − θ) → N(0, 1/I1) via CLT on the score over LLN on the curvature.

Applications

Q5. For the line fit yi = a xi + b + N(0, 1) noise with design x = (0, 1, 2, 3), compute the exact price of not knowing the intercept when estimating the slope, and propose a zero-cost design change that eliminates the price. State the general law you used.
Worked answer

FIM = [[∑x², ∑x], [∑x, n]] = [[14, 6], [6, 4]], det 20. Slope floor with b unknown: [I−1]11 = 4/20 = 0.2. With b known: 1/I11 = 1/14 = 0.071429. Price: 0.2/0.071429 = 2.8×. General law: the effective information for the parameter of interest is the SCHUR COMPLEMENT Iaa − IabIbb−1Iba = 14 − 36/4 = 5, so the floor is 1/5 = 0.2 — information minus what the nuisance can mimic; equivalently Var ≥ [I−1]jj, never 1/Ijj, with equality iff off-diagonals vanish (parameter orthogonality).

Design fix: CENTER the regressors, x → (−1.5, −0.5, 0.5, 1.5): ∑x = 0 zeroes the off-diagonal while ∑(x − x̄)² = 5 is unchanged — slope floor still 0.2, but the naive and marginal floors now coincide and the estimates decorrelate. Note what centering did NOT do: it cannot beat the Schur floor (which was already 1/∑(x−x̄)²); it removed the CORRELATION and the temptation to misread 1/I11 — which now happens to be correct. Field version: sf-15's calibration parameters are nuisances; time-sync offsets orthogonal to the state cost nothing, coupled ones inflate the state floor by exactly this Schur deficit.

Q6. A 1-bit comparator reports whether a Gaussian measurement exceeds threshold t. Derive its Fisher information about the mean, find the optimal threshold, compute the exchange rate against an analog sample, and connect the answer to the sample median's efficiency.
Worked answer

The bit is Bernoulli with success probability q(θ) = 1 − Φ((t − θ)/σ). Chain rule through the Bernoulli information 1/(q(1−q)): I1bit = (dq/dθ)²/(q(1 − q)) = φ(d)²/(Φ(d)(1 − Φ(d))) × 1/σ² with d = (t − θ)/σ. Maximize over d: the ratio φ²/(Φ(1−Φ)) peaks at d = 0 (threshold AT the unknown mean), value φ(0)²/(1/4) = 4/(2π) = 2/π = 0.63662 per σ². Exchange rate: an analog sample carries 1/σ², so π/2 = 1.5708 well-placed comparators buy one ADC sample.

Misplacement cost at d = 1: φ(1)²/(Φ(1)(1−Φ(1))) = 0.241971²/(0.841345 × 0.158655) = 0.438629 — a further 1.45× tax; n = 100 comparators floor at 0.015708 versus 0.01 analog. Median connection: the sample median's asymptotic efficiency under Gaussian noise is ALSO 2/π = 0.63662 — the median is driven by sign (1-bit) information around the center, so chapter 4's π/2 tax and the quantizer's optimum are the same number seen from two sides. Design corollary: adaptive comparators servo the threshold to the running estimate — implementing d = 0 online.

Generalizations

Q7. State the Van Trees (Bayesian) CRLB, prove the linear-Gaussian case achieves it, and use it to explain in one paragraph why the Kalman filter's covariance is not merely a bookkeeping device but an achieved information bound.
Worked answer

Van Trees: for ANY estimator (no unbiasedness), E[(θ̂ − θ)²] ≥ 1/J with J = Eθ[I(θ)] + Jprior, Jprior = E[(d log π/dθ)²] — expected data information plus the prior's own information; the proof mirrors the four moves with the expectation taken over the JOINT of (θ, z), integration by parts replacing the unbiasedness step. Linear-Gaussian case, prior N(0, P0), n obs at variance σ²: J = n/σ² + 1/P0. With σ = 2, n = 4, P0 = 1: J = 2.0, floor 0.5 (versus frequentist 1.0). The posterior mean shrinks z̄ by (n/σ²)/J = 0.5, and its Bayes MSE is E[Var(θ | z)] = 1/J = 0.5 exactly (seeded MC: 0.5014) — achieved, at finite n, because the posterior is Gaussian with constant variance 1/J.

Kalman paragraph: the KF is this computation run recursively — Ppost−1 = Ppred−1 + HTR−1H is literally J with the predicted prior as π, so the reported P is the achieved Van Trees floor of each step's linear-Gaussian subproblem (sf-09 maintains Y = P−1 explicitly). For nonlinear filtering the same logic yields the recursive posterior CRLB (Tichavsky), which is the benchmark estimator-eval races filters against — and it prices biased filters legitimately, which the classical CRLB cannot.

Q8. Two range-only sensors (same σ) localize a target in 2D. Derive the CRLB's dependence on their angular separation γ, identify the degenerate limit, and use the structure to argue where a THIRD sensor should go.
Worked answer

Each sensor's range gradient is its unit line-of-sight vector ui, so FIM = (1/σ²)(uAuAT + uBuBT). With separation γ: trace(I) = 2/σ² and det(I) = sin²(γ)/σ4 (since det = |uA|²|uB|² − (uA·uB)² = 1 − cos²γ). For a 2×2 matrix trace(I−1) = trace(I)/det(I), so trace(CRLB) = 2σ²/sin²(γ): 2σ² at 90°, 8σ² at 30° (worked matrices: FIM [[0.25, 0.433013], [0.433013, 1.75]], CRLB trace 8.0, eigenvalues 4 ± 2√3 = 7.4641/0.5359; MC Gauss–Newton achieves trace 8.013).

Degenerate limit γ → 0: the slabs are parallel, det → 0, FIM rank 1, the transverse direction UNOBSERVABLE — the ellipse's major axis diverges; this is GDOP. Third sensor: it contributes a rank-one slab along ITS line of sight, so place it to feed the starved eigendirection — perpendicular to the bisector of A and B, i.e. wherever u3u3T loads the current CRLB's major axis. That greedy rule (add information along the worst-served direction) is exactly E-optimal design, and A/D-optimal variants differ only in the scalarization of I−1 being minimized.

Debate Prompts — Oral-Exam Finishers

No single right answer exists, but there are defensible and indefensible positions — argue from the three-floors taxonomy, the regularity conditions, and the attainability results, not from vibes.

Debate 1. Defend or refute: "Unbiasedness is a fetish. The unbiased CRLB blesses no real system — every deployed estimator (shrinkage, MAP, Kalman, deep-learned) is biased, lives legally below 1/I, and is better for it — so teaching the unbiased bound first is teaching the wrong floor."
Debate 2. Defend or refute: "The CRLB is a pre-deployment toy: it is local, asymptotic in spirit, assumes the model is exactly right, and says nothing a good Monte Carlo campaign (estimator-eval) would not reveal — real engineering decisions should be made from simulation, never from information matrices."
Debate 3. Your tech lead proposes replacing one $400 ADC channel with three $0.05 comparators, citing chapter 8's π/2 = 1.57 exchange rate as proof that three one-bit sensors strictly beat one analog sample. Defend or refute, quantifying: threshold placement error (the 0.6366 → 0.4386 slide at one sigma), the fact that the optimum threshold sits AT the unknown parameter (a chicken-and-egg the exchange rate hides), and correlated comparator noise sharing one reference voltage.
Misconception: preparing by memorizing the bound formulas — 1/I, [I−1]jj, 1/J. Examiners probe the HYPOTHESES: where regularity enters each proof, which floor applies to a described estimator (unbiased? biased? Bayesian?), whether attainment is even possible at finite n, and what the model's geometry makes unobservable — the formulas are the cheapest part of every answer.
Check: An examiner describes a filter that reports error variance below your computed 1/I(θ) and asks you to react. Your FIRST diagnostic question should be:
WhyBeating 1/I is legal three ways: bias (bent floor (1+b′)²/I), priors (Van Trees 1/J), or non-regularity (no floor). Ruling those in or out is the diagnosis; MC sample size is a fair second question but tests the MEASUREMENT of variance, not which theorem was in force.
PhD lens: The arsenal is transcribed from the standard oral repertoire — Cramér and Rao's originals, Lehmann–Casella's exercises, Van Trees's detection-and-estimation classics, and the tracking community's posterior-CRLB literature — with grading emphasis exactly where committees put it: regularity conditions, equality cases, limiting geometry, and knowing which of the three floors is in force.

Chapter 11: Connections — Information as the Currency of Estimation

Strip the proofs away and this lesson installed a single accounting system: data deposit information, processing can only withdraw it, priors are deposits from elsewhere, and 1/I is the price of precision. Here is where that currency circulates across everything else you have built.

Every chapter was a ledger rule — deposits add (iid samples, independent sensors, priors), withdrawals are one-way (compression, quantization, nuisance parameters), and the CRLB is the conversion of balance into achievable variance. An estimate is a claim about your own ignorance; Fisher information is what makes the claim auditable.

Map the site, backwards first: bayes-estimation supplied the posterior machinery this lesson priced (the MMSE estimator ACHIEVES the Van Trees floor in linear-Gaussian problems); kalman-filter is that achievement run recursively — its P is the achieved Bayesian bound, and sf-09's information filter literally maintains Y = P−1, this lesson's J, as its state. The "fusion is addition" theorem that distributed fusion agonizes over is Fisher additivity of independent sources, and its failure modes are double-counted information — the same currency, counterfeited.

Map forward into practice: vnav-09's Gauss–Newton covariance (JTJ inverted at the optimum) IS the observed FIM inverted — every NLLS solver on the site has been quoting this lesson's bound without saying so; estimator-eval's chapter 4 races real filters against the CRLB, and its NEES machinery (with sf-21) detects filters whose reported covariance dips below what information arithmetic allows; sf-15's calibration states are chapter 6's nuisance parameters wearing hardware.

Map into design, where the FIM earns salaries: A/D/E-optimal experiment design (minimize trace, det, or max-eigenvalue of I−1) is the showcase's sweep formalized — sensor placement, input-signal design for system identification, landmark selection in SLAM, satellite geometry (GDOP), and even active-learning acquisition functions are FIM shopping trips; the 1-bit threshold curve of chapter 8 is the same discipline applied to sensor front-ends.

Three doors this lesson deliberately did not walk through, with honest pointers: (1) information geometry — the FIM is a Riemannian metric on model space, Jeffreys's prior is √det I (you met improper priors in bayes-estimation), and NATURAL GRADIENT descent preconditions learning by I−1, which is why K-FAC and friends cite Fisher; (2) misspecification — when the model is wrong, sandwich covariances replace 1/I (robust-estimation's territory); (3) Shannon's information — a cousin with its own data-processing inequality; the information theory workbook keeps the family tree straight.

Where nextWhy it connects
Bayes EstimationThe prerequisite: priors, MAP, and MMSE — this lesson prices that machinery (the MMSE posterior mean achieves the Van Trees floor in chapter 7), and MLE is its flat-prior limit.
Estimator EvaluationOwns the empirical side this lesson defers: NEES/NIS testing, Monte Carlo campaign discipline, ATE, and racing deployed filters against the CRLB — its "speed limit" chapter is this theory turned into a benchmark harness.
Kalman FilterThe recursive achiever: the KF's posterior covariance is the attained Bayesian CRLB of each linear-Gaussian step, and its predict/update cycle is what chases the floor through time.
Nonlinear Least SquaresOwns Gauss–Newton/LM mechanics; the covariance an NLLS solver reports — inverse of the whitened JTJ — is exactly the inverse observed FIM, which chapters 6, 9, and the production code lean on.
Information FilterMaintains Y = P−1 as its state: "fusion is addition" is Fisher additivity of independent sources (chapter 3) run as an algorithm, and the information-form update is chapter 7's J assembled recursively.
Debugging ConsistencyThe lie detector for covariance claims: NEES/NIS machinery detects filters reporting less variance than information arithmetic allows — the practical enforcement arm of every bound derived here.
Robust EstimationSpends this lesson's currency deliberately: Huber-style estimators trade a few percent of Gaussian efficiency (chapter 5's scoreboard) for heavy-tail insurance, and sandwich covariances replace 1/I under misspecification.
Calibration & Time SyncChapter 6's nuisance tax wearing hardware: calibration and time-offset states are co-estimated nuisances whose Schur-complement price — and orthogonalization by design — this lesson derives.
Misconception: filing the CRLB as a statistics-course curiosity used to grade homework estimators. It is the working currency of sensor placement (GDOP), calibration budgeting, SLAM landmark selection, quantizer design, NLLS covariance reporting, Kalman consistency auditing, Jeffreys priors, and natural-gradient optimization — the rare theorem that shows up in hardware purchase orders and deep-learning optimizers alike.
Check: Which single property of Fisher information underlies BOTH the information filter's "fusion is addition" rule and the 1/√n error-bar law?
WhyIndependent log-likelihoods add, so scores add and their variances add: n samples hold n I1 (hence floors shrink like 1/n, errors like 1/√n), and independent sensors' information matrices sum (hence the information filter's additive update). One theorem, two of the most-used facts in estimation.
PhD lens: Closing viva: "Name three deployed systems whose design documents contain a Fisher information matrix, and for each say whether it is being used as a bound, a metric, or a design objective." The examiner is checking that the taxonomy is load-bearing — GPS/GDOP (bound and design objective), factor-graph SLAM covariance recovery (metric), natural-gradient training (metric) all pass; reciting the CRLB derivation again does not.
The moral, joined to the site's motto: what you cannot bound, you do not understand. The CRLB is the discipline of knowing — before building — what the data can possibly say, and every honest covariance ellipse on this site is downstream of that discipline.