InformationTheory

InformationTheory.Shannon.Sanov.Basic

source

Sanov's theorem — type class probability upper bound (A form) #

Cover-Thomas (method of types):

Q^n(T(P)) ≤ exp(-n · D(P‖Q))

where T(P) := { x : Fin n → α | ∀ a, #{i | x i = a} = n · P(a) }.

Main definitions #

  • typeCount x a — number of occurrences of a in sequence x : Fin n → α.
  • typeClass P n — type class: sequences whose empirical distribution equals P.
  • klDivSumForm P Q — finite-alphabet KL sum form: ∑ a, P(a) · (log P(a) - log Q(a)).

Main statements #

Implementation notes #

  • The proof avoids the two-step |T(P)| ≤ exp(n H(P)) + Q^n({x}) = exp(-n(H+D)): it goes directly via Q^n(T) = exp(-n D) · P^n(T) ≤ exp(-n D).
  • klDivSumForm is used in the main bound; the equality to (klDiv P Q).toReal is separated into klDivSumForm_eq_toReal_klDiv.

References #

  • T. M. Cover and J. A. Thomas, Elements of Information Theory (2nd ed.), Wiley, 2006.

Type class definition #

noncomputable def

InformationTheory.Shannon.typeCount

source
{α : Type u_1} [DecidableEq α] {n : } (x : Fin nα) (a : α) :

Number of occurrences of letter a in sequence x : Fin n → α.

Equations
Instances For
    Used by
      noncomputable def

      InformationTheory.Shannon.typeClass

      source
      {α : Type u_1} [DecidableEq α] [MeasurableSpace α] (P : MeasureTheory.Measure α) (n : ) :
      Set (Fin nα)

      Type class T(P): sequences x : Fin n → α whose empirical distribution equals P, i.e., ∀ a, (typeCount x a : ℝ) = n · P.real {a}.

      Equations
      Instances For
        Used by
          noncomputable def

          InformationTheory.Shannon.klDivSumForm

          source
          {α : Type u_1} [Fintype α] [MeasurableSpace α] (P Q : MeasureTheory.Measure α) :

          Finite-alphabet KL sum form: klDivSumForm P Q := ∑ a, P(a) · (log P(a) - log Q(a)).

          Shorthand for the Sanov exponent; equals (klDiv P Q).toReal under P ≪ Q (see klDivSumForm_eq_toReal_klDiv).

          Equations
          Instances For
            Used by
              theorem

              InformationTheory.Shannon.sum_llrPmf_eq_of_mem_typeClass

              source
              {α : Type u_1} [Fintype α] [DecidableEq α] [MeasurableSpace α] (P Q : MeasureTheory.Measure α) {n : } {x : Fin nα} (hx : x typeClass P n) :
              i : Fin n, (Real.log (P.real {x i}) - Real.log (Q.real {x i})) = n * klDivSumForm P Q
              Used by
                theorem

                InformationTheory.Shannon.typeClass_prod_ratio

                source
                {α : Type u_1} [Fintype α] [DecidableEq α] [MeasurableSpace α] (P Q : MeasureTheory.Measure α) (hPpos : ∀ (a : α), 0 < P.real {a}) (hQpos : ∀ (a : α), 0 < Q.real {a}) {n : } {x : Fin nα} (hx : x typeClass P n) :
                i : Fin n, Q.real {x i} = (∏ i : Fin n, P.real {x i}) * Real.exp (-(n * klDivSumForm P Q))

                Per-point ratio identity: x ∈ typeClass P n implies ∏ i, Q.real {x i} = (∏ i, P.real {x i}) · exp(-n · klDivSumForm P Q).

                Used by

                  Sanov A main theorem #

                  theorem

                  InformationTheory.Shannon.typeClass_Qn_le

                  source
                  {α : Type u_1} [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] (P Q : MeasureTheory.Measure α) [MeasureTheory.IsProbabilityMeasure P] [MeasureTheory.IsProbabilityMeasure Q] (hPpos : ∀ (a : α), 0 < P.real {a}) (hQpos : ∀ (a : α), 0 < Q.real {a}) (n : ) :
                  ((MeasureTheory.Measure.pi fun (x : Fin n) => Q) (typeClass P n)).toReal Real.exp (-(n * klDivSumForm P Q))

                  Sanov's theorem (A form): Q^n(T(P)) ≤ exp(-n · klDivSumForm P Q).

                  Used by

                    (klDiv P Q).toReal form (corollary) #

                    theorem

                    InformationTheory.Shannon.klDivSumForm_eq_toReal_klDiv

                    source

                    klDivSumForm P Q = (klDiv P Q).toReal when P ≪ Q (both probability measures).

                    Used by
                      theorem

                      InformationTheory.Shannon.typeClass_Qn_le_klDiv

                      source
                      {α : Type u_1} [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] (P Q : MeasureTheory.Measure α) [MeasureTheory.IsProbabilityMeasure P] [MeasureTheory.IsProbabilityMeasure Q] (hPpos : ∀ (a : α), 0 < P.real {a}) (hQpos : ∀ (a : α), 0 < Q.real {a}) (hPQ : P.AbsolutelyContinuous Q) (n : ) :
                      ((MeasureTheory.Measure.pi fun (x : Fin n) => Q) (typeClass P n)).toReal Real.exp (-(n * (klDiv P Q).toReal))

                      Sanov's theorem (A form), klDiv exponent: Q^n(T(P)) ≤ exp(-n · (klDiv P Q).toReal).

                      See also typeClass_Qn_le.

                      Used by