Zulip Chat Archive

Stream: Is there code for X?

Topic: Conditional expectation of product


Yaël Dillies (Jan 19 2025 at 10:28):

I'm trying to prove that if g is m-measurable then μ[f * g | m] =ᵐ[μ] μ[f | m] * g. I thought it would be generalisable to μ[fun ω ↦ L ω (f ω)] =ᵐ[μ] fun ω ↦ L ω (μ[f | m] ω) where L is a m-measurable random linear map. Is this anywhere?

Yaël Dillies (Jan 19 2025 at 10:28):

Here is my attempt:

import Mathlib.MeasureTheory.Function.ConditionalExpectation.Basic

namespace MeasureTheory
variable {Ω R E F : Type*}
  {m m₀ : MeasurableSpace Ω} {μ : Measure Ω} {s : Set Ω}
  [NormedAddCommGroup E] [NormedSpace  E] [CompleteSpace E]
  [NormedAddCommGroup F] [NormedSpace  F] [CompleteSpace F]

/-- For `L` a `m`-measurable random linear map and `X` a random variable, the expectation of `L(X)`
conditional to `m` is `L` applied to the expectation of `X` conditional to `m`. -/
lemma condexp_continuousLinearMap_of_stronglyMeasurable (L : Ω  (E L[] F))
    (hL :  x, StronglyMeasurable[m] (L · x)) (f : Ω  E) :
    μ[fun ω  L ω (f ω) | m] =ᵐ[μ] fun ω  L ω ((μ[f | m]) ω) := by
  by_cases hm : m  m₀; swap
  · simp [condexp_of_not_le hm, Pi.zero_def]
  by_cases hμm : SigmaFinite (μ.trim hm); swap
  · simp [condexp_of_not_sigmaFinite hm hμm, Pi.zero_def]
  haveI : SigmaFinite (μ.trim hm) := hμm
  refine (condexp_ae_eq_condexpL1 hm _).trans ?_
  sorry
  -- Taken from the end of the proof of `condexp_smul`
  -- rw [condexpL1_smul c f]
  -- refine (@condexp_ae_eq_condexpL1 _ _ _ _ _ m _ _ hm _ f).mp ?_
  -- refine (coeFn_smul c (condexpL1 hm μ f)).mono fun x hx1 hx2 => ?_
  -- simp only [hx1, hx2, Pi.smul_apply]

section NormedRing
variable
  [NormedRing R] [NormedSpace  R] [CompleteSpace R] [IsScalarTower  R R] [SMulCommClass  R R]
  {f g : Ω  R}

lemma condexp_mul_of_stronglyMeasurable_left (hf : StronglyMeasurable[m] f) (g : Ω  R) :
    μ[f * g | m] =ᵐ[μ] f * μ[g | m] :=
  condexp_continuousLinearMap_of_stronglyMeasurable
    (fun ω  ContinuousLinearMap.mul _ _ (f ω)) hf.mul_const _

lemma condexp_mul_of_stronglyMeasurable_right (hg : StronglyMeasurable[m] g) (f : Ω  R) :
    μ[f * g | m] =ᵐ[μ] μ[f | m] * g :=
  condexp_continuousLinearMap_of_stronglyMeasurable
    (fun ω  (ContinuousLinearMap.mul _ _).flip (g ω)) hg.const_mul _

end NormedRing

Rémy Degenne (Jan 19 2025 at 10:33):

We have this result, that looks related: MeasureTheory.condexp_stronglyMeasurable_mul

And line 221 of that file, there is the following todo:
-- TODO: this section could be generalized beyond multiplication, to any bounded bilinear map.

Rémy Degenne (Jan 19 2025 at 10:36):

But at that moment I had no use for the generalization so I did not do it.
See Hytönen et al., Analysis in Banach Spaces (vol. 1), proposition 2.6.31

Yaël Dillies (Jan 19 2025 at 10:38):

That's enough for my use case (proving the law of total variance), thanks!

Rémy Degenne (Jan 19 2025 at 10:39):

Note that the book uses sigma-integrability, which makes proofs a bit more complicated. We defined the conditional expectation only for integrable functions, so the proof can be simplified slightly.


Last updated: May 02 2025 at 03:31 UTC