Documentation

TestingLowerBounds.Testing.Binary

Simple Bayesian binary hypothesis testing #

Main definitions #

Main statements #

Notation #

Implementation details #

@[simp]
theorem ProbabilityTheory.simpleBinaryHypTest_ℓ :
∀ (x : Bool × Bool), ProbabilityTheory.simpleBinaryHypTest.ℓ x = match x with | (y, z) => if y = z then 0 else 1

Simple binary hypothesis testing problem: a testing problem where Θ = 𝒴 = 𝒵 = {0,1}, y is the identity and the loss is ℓ(y₀, z) = 𝕀{y₀ ≠ z}.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    noncomputable def ProbabilityTheory.binaryGenBayesEstimator {𝒳 : Type u_2} {m𝒳 : MeasurableSpace 𝒳} (μ : MeasureTheory.Measure 𝒳) (ν : MeasureTheory.Measure 𝒳) (π : MeasureTheory.Measure Bool) :
    𝒳Bool

    The function x ↦ 𝕀{π₀ * ∂μ/∂(twoHypKernel μ ν ∘ₘ π) x ≤ π₁ * ∂ν/∂(twoHypKernel μ ν ∘ₘ π) x}. It is a Generalized Bayes estimator for the simple binary hypothesis testing problem.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      noncomputable def ProbabilityTheory.bayesBinaryRisk {𝒳 : Type u_2} {m𝒳 : MeasurableSpace 𝒳} (μ : MeasureTheory.Measure 𝒳) (ν : MeasureTheory.Measure 𝒳) (π : MeasureTheory.Measure Bool) :

      The Bayes risk of simple binary hypothesis testing with respect to a prior.

      Equations
      Instances For
        theorem ProbabilityTheory.bayesBinaryRisk_eq {𝒳 : Type u_2} {m𝒳 : MeasurableSpace 𝒳} (μ : MeasureTheory.Measure 𝒳) (ν : MeasureTheory.Measure 𝒳) (π : MeasureTheory.Measure Bool) :
        ProbabilityTheory.bayesBinaryRisk μ ν π = ⨅ (κ : ProbabilityTheory.Kernel 𝒳 Bool), ⨅ (_ : ProbabilityTheory.IsMarkovKernel κ), π {true} * (ν.bind κ) {false} + π {false} * (μ.bind κ) {true}
        theorem ProbabilityTheory.bayesBinaryRisk_smul_smul {𝒳 : Type u_2} {m𝒳 : MeasurableSpace 𝒳} (μ : MeasureTheory.Measure 𝒳) (ν : MeasureTheory.Measure 𝒳) (π : MeasureTheory.Measure Bool) (a : ENNReal) (b : ENNReal) :
        ProbabilityTheory.bayesBinaryRisk (a μ) (b ν) π = ProbabilityTheory.bayesBinaryRisk μ ν (π.withDensity fun (x : Bool) => bif x then b else a)

        B (a•μ, b•ν; π) = B (μ, ν; (a*π₀, b*π₁)).

        Data processing inequality for the Bayes binary risk.

        theorem ProbabilityTheory.nonempty_subtype_isMarkovKernel_of_nonempty {𝒳 : Type u_6} {m𝒳 : MeasurableSpace 𝒳} {𝒴 : Type u_7} {m𝒴 : MeasurableSpace 𝒴} [Nonempty 𝒴] :
        Nonempty (Subtype ProbabilityTheory.IsMarkovKernel)
        @[simp]
        theorem ProbabilityTheory.bayesBinaryRisk_self {𝒳 : Type u_2} {m𝒳 : MeasurableSpace 𝒳} (μ : MeasureTheory.Measure 𝒳) (π : MeasureTheory.Measure Bool) :
        ProbabilityTheory.bayesBinaryRisk μ μ π = min (π {false}) (π {true}) * μ Set.univ
        theorem ProbabilityTheory.bayesBinaryRisk_le_min {𝒳 : Type u_2} {m𝒳 : MeasurableSpace 𝒳} (μ : MeasureTheory.Measure 𝒳) (ν : MeasureTheory.Measure 𝒳) (π : MeasureTheory.Measure Bool) :
        ProbabilityTheory.bayesBinaryRisk μ ν π min (π {false} * μ Set.univ) (π {true} * ν Set.univ)
        theorem ProbabilityTheory.toReal_bayesBinaryRisk_eq_integral_min {𝒳 : Type u_2} {m𝒳 : MeasurableSpace 𝒳} (μ : MeasureTheory.Measure 𝒳) (ν : MeasureTheory.Measure 𝒳) [MeasureTheory.IsFiniteMeasure μ] [MeasureTheory.IsFiniteMeasure ν] (π : MeasureTheory.Measure Bool) [MeasureTheory.IsFiniteMeasure π] :
        (ProbabilityTheory.bayesBinaryRisk μ ν π).toReal = ∫ (x : 𝒳), min (π {false} * μ.rnDeriv (π.bind (ProbabilityTheory.twoHypKernel μ ν)) x).toReal (π {true} * ν.rnDeriv (π.bind (ProbabilityTheory.twoHypKernel μ ν)) x).toRealπ.bind (ProbabilityTheory.twoHypKernel μ ν)
        theorem ProbabilityTheory.toReal_bayesBinaryRisk_eq_integral_abs {𝒳 : Type u_2} {m𝒳 : MeasurableSpace 𝒳} (μ : MeasureTheory.Measure 𝒳) (ν : MeasureTheory.Measure 𝒳) [MeasureTheory.IsFiniteMeasure μ] [MeasureTheory.IsFiniteMeasure ν] (π : MeasureTheory.Measure Bool) [MeasureTheory.IsFiniteMeasure π] :
        (ProbabilityTheory.bayesBinaryRisk μ ν π).toReal = 2⁻¹ * (((π.bind (ProbabilityTheory.twoHypKernel μ ν)) Set.univ).toReal - ∫ (x : 𝒳), |(π {false} * μ.rnDeriv (π.bind (ProbabilityTheory.twoHypKernel μ ν)) x).toReal - (π {true} * ν.rnDeriv (π.bind (ProbabilityTheory.twoHypKernel μ ν)) x).toReal|π.bind (ProbabilityTheory.twoHypKernel μ ν))
        theorem ProbabilityTheory.bayesBinaryRisk_eq_lintegral_ennnorm {𝒳 : Type u_2} {m𝒳 : MeasurableSpace 𝒳} (μ : MeasureTheory.Measure 𝒳) (ν : MeasureTheory.Measure 𝒳) [MeasureTheory.IsFiniteMeasure μ] [MeasureTheory.IsFiniteMeasure ν] (π : MeasureTheory.Measure Bool) [MeasureTheory.IsFiniteMeasure π] :
        ProbabilityTheory.bayesBinaryRisk μ ν π = 2⁻¹ * ((π.bind (ProbabilityTheory.twoHypKernel μ ν)) Set.univ - ∫⁻ (x : 𝒳), (π {false} * μ.rnDeriv (π.bind (ProbabilityTheory.twoHypKernel μ ν)) x).toReal - (π {true} * ν.rnDeriv (π.bind (ProbabilityTheory.twoHypKernel μ ν)) x).toReal‖₊π.bind (ProbabilityTheory.twoHypKernel μ ν))