InformationTheory

InformationTheory.Shannon.SMB.ChainRule

source

SMB chain rule decomposition #

For a stationary process p : StationaryProcess μ α over a finite alphabet, this file establishes the Cover–Thomas chain rule for log-likelihood:

-log P_n({block_n ω}) = ∑_{i<n} -log P(obs i | block_i)(block_i ω){obs i ω}

a.s. over ω. The right-hand side is named pmfLogCond μ p i ω. The result is the algebraic identity that the Levy convergence and the Birkhoff + Cesàro sandwich use to discharge the four hypotheses of shannon_mcmillan_breiman_of_sandwich.

Main definitions #

  • pmfLogCond μ p i ω — per-step conditional negative log-likelihood -log (condDistrib (obs i) (blockRV i) μ (block_i ω)).real {obs i ω}.

Main statements #

  • block_measure_succ_singleton_eq — multiplicative ENNReal chain rule at singletons: P_{n+1}({block_{n+1} ω}) = P_n({block_n ω}) · c_n(...){obs n ω}.
  • block_singleton_pos_ae_at — a.s. positivity of P_n({block_n ω}) for each n.
  • log_block_eq_sum_pmfLogCond — a.s. log identity (chain rule): -log P_n({block_n ω}) = ∑_{i<n} pmfLogCond μ p i ω.

References #

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

Per-step conditional log-likelihood #

noncomputable def

InformationTheory.Shannon.pmfLogCond

source

Per-step conditional negative log-likelihood: pmfLogCond μ p i ω = -log (condDistrib (obs i) (blockRV i) μ (block_i ω)).real {obs i ω}.

For i = 0, blockRV 0 is the unique map to Fin 0 → α, so the conditional kernel reduces to the marginal μ.map (p.X).

Equations
Instances For
    Used by
      theorem

      InformationTheory.Shannon.measurable_pmfLogCond

      source
      Used by

        Multiplicative chain rule at singletons (ENNReal level) #

        theorem

        InformationTheory.Shannon.block_measure_succ_singleton_eq

        source
        {Ω : Type u_1} [MeasurableSpace Ω] {α : Type u_2} [Fintype α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsProbabilityMeasure μ] (p : StationaryProcess μ α) (n : ) (ω : Ω) :
        (MeasureTheory.Measure.map (p.blockRV (n + 1)) μ) {p.blockRV (n + 1) ω} = (MeasureTheory.Measure.map (p.blockRV n) μ) {p.blockRV n ω} * ((ProbabilityTheory.condDistrib (p.obs n) (p.blockRV n) μ) (p.blockRV n ω)) {p.obs n ω}

        Chain rule for the block measure (ENNReal singleton form).

        Pushforward of μ by blockRV (n+1) factors at any singleton via the conditional kernel condDistrib (obs n) (blockRV n) μ: P_{n+1}({block_{n+1} ω}) = P_n({block_n ω}) · c_n(block_n ω){obs n ω}.

        Used by
          theorem

          InformationTheory.Shannon.block_measure_succ_singleton_real_eq

          source

          Real-valued multiplicative chain rule at singletons.

          Used by

            A.s. positivity of P_n({block_n ω}) #

            theorem

            InformationTheory.Shannon.block_singleton_pos_ae_at

            source

            For any finite alphabet pushforward and n, the singleton mass at the observed block block_n ω is a.s. positive (the trajectory lies in the support).

            Used by
              theorem

              InformationTheory.Shannon.block_singleton_pos_ae_upTo

              source
              {Ω : Type u_1} [MeasurableSpace Ω] {α : Type u_2} [Fintype α] [MeasurableSpace α] [MeasurableSingletonClass α] (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsProbabilityMeasure μ] (p : StationaryProcess μ α) (n : ) :
              ∀ᵐ (ω : Ω) μ, in, 0 < (MeasureTheory.Measure.map (p.blockRV i) μ).real {p.blockRV i ω}

              A.s., the singleton mass at every prefix block_i ω (for i ≤ n) is positive.

              Used by

                Conditional singleton positivity (consequence of block positivity) #

                theorem

                InformationTheory.Shannon.cond_singleton_pos_ae

                source
                {Ω : Type u_1} [MeasurableSpace Ω] {α : Type u_2} [Fintype α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsProbabilityMeasure μ] (p : StationaryProcess μ α) (n : ) :
                ∀ᵐ (ω : Ω) μ, 0 < ((ProbabilityTheory.condDistrib (p.obs n) (p.blockRV n) μ) (p.blockRV n ω)).real {p.obs n ω}

                A.s. positivity of the conditional kernel singleton mass: (condDistrib (obs n) (blockRV n) μ (block_n ω)).real {obs n ω} > 0 a.s.

                Used by

                  Integrability and integral identity #

                  pmfLogCond μ p l is integrable, and its integral equals conditionalEntropyTail μ p l. This bridges the Birkhoff time-average to the spatial average used by the sandwich.

                  theorem

                  InformationTheory.Shannon.integral_pmfLogCond_eq_conditionalEntropyTail

                  source

                  The expected per-step conditional log-likelihood equals the conditional entropy tail: ∫ ω, pmfLogCond μ p l ω dμ = conditionalEntropyTail μ p l.

                  Used by
                    theorem

                    InformationTheory.Shannon.integrable_pmfLogCond

                    source

                    pmfLogCond μ p l is integrable.

                    Used by

                      Birkhoff per-level application #

                      For each fixed level l, the Birkhoff time average of pmfLogCond p l along the orbit converges a.s. to conditionalEntropyTail μ p l. This is the "l-Markov approximation" output that the SMB sandwich (Algoet–Cover) chains with H_l → entropyRate to obtain the full result.

                      theorem

                      InformationTheory.Shannon.birkhoffAverage_pmfLogCond_tendsto

                      source

                      Birkhoff applied to per-step conditional log-likelihood.

                      For an ergodic process and fixed level l, the Birkhoff time average of pmfLogCond p l converges a.s. to conditionalEntropyTail μ p l:

                      (1/(n+1)) ∑_{i=0}^{n} pmfLogCond p l (T^[i] ω) → H_l = H(X_l | X_0, …, X_{l-1}).

                      Used by