Gumbel–Luce equivalence [McF74] #
A random utility model assigns each alternative i the utility uᵢ + εᵢ and
chooses the maximizer; with i.i.d. Gumbel noise the choice probabilities are
exactly softmax, P(i) = exp(uᵢ/β) / ∑ⱼ exp(uⱼ/β). The Gumbel→softmax
direction is due to [Mar60] and, in the constructive form given here,
to Holman and Marley (via [LS65]); [McF74] proves it as
his Lemma 1 and credits them. McFadden's own contribution is the converse, Lemma 2:
among translation-complete i.i.d. noise distributions only the Gumbel family
yields the Luce rule [Luc59]. Uniqueness genuinely needs choice sets of
size ≥ 3: for binary choice the logistic form does not pin down Gumbel noise
(Yellott [Yel77]; compare the binary probit in
Core/Probability/RandomUtility.lean).
The distribution layer (density, measure, CDF, max-stability, and the
max-probability integral) lives in Core/Probability/Gumbel.lean; this file
gives it the random-utility reading.
Main definitions #
RationalAction.fromGumbelRUM: the Luce agent of a Gumbel RUM, defined asfromSoftmaxat inverse temperatureβ⁻¹.
Main results #
rumMaxProb_gumbel_eq_softmax: Lemma 1 of [McF74] — the Gumbel max-probability integral is softmax.rumMaxProb_gumbel_binary: the binary case is the logistic function.gumbel_from_functional_eq,eq_cdf_gumbelMeasure_of_functional_eq: the terminal step of Lemma 2 — a noise CDF satisfyingG(x-c) = G(x)^{exp c}is Gumbel. McFadden derives that equation only for positive-integerexp c(duplicated alternatives) and extends by monotonicity; the derivation of the equation from the softmax form and translation completeness is not formalized here.
Gumbel RUM ⟹ softmax (Lemma 1 of [McF74], due to Holman and
Marley via Luce and Suppes): the max-probability integral of utilities u
under i.i.d. Gumbel(0, β) noise equals softmax ((1/β) • u).
[McF74] states the unit-scale case; the β-generalization is
standard (the scale of the noise is not separately identified from the
scale of u).
The Gumbel RUM policy sums to 1 over alternatives — inherited from
softmax_sum_eq_one through rumMaxProb_gumbel_eq_softmax.
Binary case: the logistic function #
Binary Gumbel RUM = logistic: for two alternatives the choice
probability is sigmoid ((u 0 - u 1) / β). Compare Thurstone Case V
(Processing/Psychophysics/Thurstone.lean): Φ((u 0 - u 1)/(σ√2)) for
Gaussian noise. By [Yel77] the two are indistinguishable on binary
data alone.
The Gumbel RUM as a RationalAction #
The Luce agent of a Gumbel RUM: score exp(uᵢ/β). This is fromSoftmax
at inverse temperature β⁻¹ — exact under i.i.d. Gumbel(0, β) noise by
Lemma 1 of [McF74], not an approximation.
Equations
- Core.RationalAction.fromGumbelRUM u β = Core.RationalAction.fromSoftmax (fun (x : Unit) => u) β⁻¹
Instances For
The Gumbel RUM policy is softmax at inverse temperature β⁻¹.
Uniqueness: the terminal step of McFadden's Lemma 2 #
Lemma 2 of [McF74] assumes softmax selection probabilities on every
finite subset of a universe, representative utilities ranging over all of ℝ,
and i.i.d. noise with a translation complete CDF G; it concludes G is
Gumbel. Playing duplicated alternatives off against each other yields
G(x - log K) = G(x)^K for positive integers K, which extends to the real
functional equation by monotonicity. The theorems below formalize the terminal
step only: solving the (real-strength) functional equation.
A noise CDF satisfying G(x - c) = G(x) ^ exp c with 0 < G 0 has the
Gumbel form G(t) = exp (log (G 0) · exp (-t)).
With the nondegeneracy bound G 0 < 1, the functional equation pins G
to an honest Gumbel CDF: G = cdf (gumbelMeasure (log (-log (G 0))) 1).