Skip to content

Estimating λ — four routes and an honesty protocol

λ is the most abused dial in the QRE literature: mis-specified demand, unmodelled heterogeneity and wrong payoff models all try to leak into it. The defence (strataq.estimate) is redundancy — four structurally different estimators, run together, with disagreement treated as a diagnostic:

Route Uses Assumes Fails how
lambda_mle choice frequencies payoffs known, single-λ QRE flat likelihood ⇒ warns "unidentified"
lambda_mle_implicit same, scored by autodiff through an unrolled solve same must agree with the grid — a solver cross-check
lambda_moment_chi an observed cross-response matrix (pass-through) responses measurable needs perturbation data
lambda_dispersion mean choice entropy only entropy varies with λ flat entropy curve ⇒ warns (e.g. a symmetric principal branch below its pitchfork)

Validation (estimator_recovery.json, seed 20260810, 20 cases over an asymmetric anchor game plus α ∈ {0.15, 0.45, 0.75} family games, λ* from 0.3 to 6): median relative error 2.6% (MLE), 2.8% (dispersion), exact for χ-matching from oracle responses.

The diagnostic fires when it must (estimator_misspecification.json): on data drawn from a λ-mixture (half 0.4, half 4.0 — not a QRE at any single λ) the estimator spread widens ×91 over clean data, and the protocol flags it instead of averaging. On symmetric RPS — where every λ produces the uniform mix and λ is simply not identified from frequencies — every route returns a warning, not a number.

Two rules for data use (Stage 3): report the whole family, never one number; and treat a flagged disagreement as a finding about the model, not a nuisance to be smoothed.

The Bayesian layer and the EFE experiment chooser (unit estimate.bayes, ADR-0012)

Point estimators became posteriors: grid_posterior puts an exact discrete posterior over λ on a log grid (uniform-on-grid prior, deliberately — it makes the F-0006 scale fold an exact reparameterisation in posterior space: the posterior under payoffs s·u on grid g equals the posterior under u on grid s·g, weight for weight, tested to 1e-8). The posterior self-diagnoses grid coarseness: fewer than ~2 effective grid points (participation ratio) flags grid_resolved = False, and the credible interval must not be quoted until the grid is refined — coverage is calibrated (≥ 8/10 seeds per λ*, artifact bayes_recovery.json) only under that guard. R1's mixture-misspecification diagnostic is now a matched model comparison: an explicit two-λ mixture model decisively beats single-λ on mixture data (BF > 100) and is Occam-suppressed on clean data (BF < 10).

The same unit carries the EFE experiment chooser (the active-inference pattern: competing quantitative hypotheses each predict every candidate probe's outcome; the next probe maximises BALD mutual information; beliefs update by Bayes; the campaign stops on concentration or budget). Its first campaign adjudicates F-0012's open mechanism among four pre-declared hypotheses — potential-scale fold, NESS-sensitivity floor, spectral gap, quadratic strawman — with a pre-registered absolute adequacy guard (a winner that doesn't actually fit is recorded as "all hypotheses inadequate") and a σ-sensitivity re-run. Artifact: efe_mechanism_campaign.json, full audit trail per round.