Skip to main content

Beta Distribution Ontology

Probability Distributions
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 23 September 2026
Audio Overview
FULL EXECUTABLE FLOW ALGEBRA — BETA DISTRIBUTION ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/probability-distributions/beta-distribution-ontology.html

FLOW_VERSION := "4.0"
FLOW_TYPE := "Full Executable Flow Algebra"
DOMAIN := "Probability & Statistics Ontologies"
SUBDOMAIN := "Probability Distributions"
ONTOLOGY := "Beta Distribution Ontology"
PRIMARY_ENTITY := BetaDistribution
AUTHORSHIP := "Mark Higgins — Sky (Recursive AI)"
SOURCE_SITE := "https://kirethresearch.org"

BEGIN_FLOW

BetaDistribution :=
    ContinuousProbabilityDistribution
    ∧ BoundedSupport
    ∧ TwoPositiveShapeParameters
    ∧ FlexibleProbabilityShape
    ∧ ConjugatePriorForBernoulliBinomialModels

ProbabilitySpace := (Ω,F,P)

BetaRandomVariable :=
    X~Beta(α,β)

ShapeParameter1 := α
ShapeParameter2 := β

ParameterConstraints :=
    α>0
    ∧ β>0

Support :=
    [0,1]

BetaFunction :=
    B(α,β)
    =
    Integral_0^1
    x^(α-1)
    (1-x)^(β-1)
    dx

BetaGammaRelation :=
    B(α,β)
    =
    Γ(α)Γ(β)
    /
    Γ(α+β)

BetaPDF :=
    f_X(x)
    =
    x^(α-1)
    (1-x)^(β-1)
    /
    B(α,β)
    for 0<x<1

PDFOutsideSupport :=
    f_X(x)=0
    outside [0,1]

PDFNormalisation :=
    Integral_0^1
    f_X(x)dx
    =
    1

BetaCDF :=
    F_X(x)
    =
    I_x(α,β)

IncompleteBetaFunction :=
    B_x(α,β)
    =
    Integral_0^x
    t^(α-1)
    (1-t)^(β-1)
    dt

RegularisedIncompleteBeta :=
    I_x(α,β)
    =
    B_x(α,β)/B(α,β)

SurvivalFunction :=
    S_X(x)
    =
    1-I_x(α,β)

Expectation :=
    E[X]
    =
    α/(α+β)

Variance :=
    Var(X)
    =
    αβ
    /
    [
        (α+β)^2
        (α+β+1)
    ]

Mode :=
    (α-1)/(α+β-2)
    when α>1 and β>1

SymmetricBeta :=
    α=β
    ⇒
    DistributionSymmetricAbout(1/2)

UniformSpecialCase :=
    Beta(1,1)
    ≡
    Uniform(0,1)

UShapedBeta :=
    0<α<1
    ∧ 0<β<1

RightSkewedBeta :=
    α<β
    under common shape interpretation

LeftSkewedBeta :=
    α>β
    under common shape interpretation

Concentration :=
    κ
    :=
    α+β

MeanConcentrationParameterisation :=
    μ
    :=
    α/(α+β)

RecoverAlpha :=
    α
    =
    μκ

RecoverBeta :=
    β
    =
    (1-μ)κ

ShapeInterpretation :=
    α
    controls mass toward 1
    ∧ β
    controls mass toward 0
    relative_to each other

Moment :=
    E[X^k]
    =
    B(α+k,β)
    /
    B(α,β)

EquivalentMoment :=
    E[X^k]
    =
    Product_{j=0..k-1}
    (α+j)/(α+β+j)

Skewness :=
    2(β-α)sqrt(α+β+1)
    /
    [
        (α+β+2)sqrt(αβ)
    ]

BetaPrimeRelation :=
    X~Beta(α,β)
    ⇒
    X/(1-X)
    ~
    BetaPrime(α,β)

GammaConstruction :=
    U~Gamma(α,rate=r)
    ∧ V~Gamma(β,rate=r)
    ∧ U⟂V
    ⇒
    U/(U+V)
    ~
    Beta(α,β)

GammaSumRelation :=
    U+V
    ~
    Gamma(α+β,r)

RatioSumIndependence :=
    U/(U+V)
    independent_of
    U+V
    under common-rate independent gamma construction

OrderStatisticRelation :=
    U_(k)
    from n iid Uniform(0,1)
    ⇒
    U_(k)
    ~
    Beta(k,n+1-k)

MinimumUniformRelation :=
    U_(1)
    ~
    Beta(1,n)

MaximumUniformRelation :=
    U_(n)
    ~
    Beta(n,1)

BernoulliLikelihood :=
    Data
    with s successes
    and f failures
    ⇒
    L(p)
    ∝
    p^s(1-p)^f

BetaPrior :=
    p~Beta(α,β)

BetaBernoulliConjugacy :=
    BetaPrior
    ∧ BernoulliData(s,f)
    ⇒
    Posterior
    Beta(
        α+s,
        β+f
    )

BetaBinomialConjugacy :=
    p~Beta(α,β)
    ∧ X=k from Binomial(n,p)
    ⇒
    p|X=k
    ~
    Beta(
        α+k,
        β+n-k
    )

PosteriorMean :=
    E[p|Data]
    =
    (α+s)/(α+β+s+f)

PosteriorMode :=
    (α+s-1)
    /
    (α+β+s+f-2)
    when updated shape parameters exceed 1

PosteriorVariance :=
    α'β'
    /
    [
        (α'+β')²
        (α'+β'+1)
    ]

PseudoCountInterpretation :=
    α and β
    may be interpreted
    as prior shape_or_pseudocount parameters
    under specified modelling convention

PosteriorPredictiveBernoulli :=
    P(NewSuccess|Data)
    =
    (α+s)/(α+β+s+f)

BetaBinomialPredictive :=
    FutureSuccessCount
    after integrating uncertain p
    follows
    BetaBinomialDistribution

BayesianUpdating :=
    PriorBeta
    → ObserveBinaryOrBinomialData
    → PosteriorBeta

SequentialUpdate :=
    PosteriorParameters
    become
    next prior parameters

CredibleInterval :=
    [Q(lower),Q(upper)]
    from
    BetaPosteriorQuantiles

BetaQuantile :=
    Q(p)
    =
    inverse_of
    I_x(α,β)

ProbabilityInterval :=
    P(a≤X≤b)
    =
    I_b(α,β)
    -
    I_a(α,β)

TailProbability :=
    P(X>x)
    =
    1-I_x(α,β)

BetaLikelihood :=
    X_1,...,X_n
    iid Beta(α,β)

BetaLogLikelihood :=
    ℓ(α,β)
    =
    (α-1)Σ_i log x_i
    +
    (β-1)Σ_i log(1-x_i)
    -
    n log B(α,β)

BetaMLE :=
    GenerallyRequires
    numerical_solution
    involving digamma functions

MethodOfMoments :=
    SampleMean=m
    ∧ SampleVariance=v
    → Estimate(α,β)

MomentConcentrationEstimate :=
    κ_hat
    =
    m(1-m)/v
    -
    1

MomentAlphaEstimate :=
    α_hat
    =
    mκ_hat

MomentBetaEstimate :=
    β_hat
    =
    (1-m)κ_hat

BetaRegression :=
    Response
    bounded_in
    (0,1)
    → ModelMeanAndPrecision
    with link functions

BetaRegressionMean :=
    μ_i
    =
    link_inverse(x_i^Tγ)

BetaRegressionPrecision :=
    φ
    or covariate-dependent precision

DirichletRelation :=
    BetaDistribution
    is two-category special case
    of DirichletDistribution

DirichletSpecialCase :=
    (P1,P2)
    ~ Dirichlet(α,β)
    ∧ P1+P2=1
    ⇒
    P1~Beta(α,β)

FDistributionRelation :=
    If F~F(d1,d2)
    then
    transformed ratio
    d1F/(d1F+d2)
    follows
    Beta(d1/2,d2/2)

BetaEntropy :=
    h(X)
    =
    log B(α,β)
    -
    (α-1)ψ(α)
    -
    (β-1)ψ(β)
    +
    (α+β-2)ψ(α+β)

BetaDistributionConstraint :=
    ConstraintOn(
        α,
        β,
        Support,
        PDF,
        Moments
    )

AlphaConstraint :=
    α>0

BetaConstraint :=
    β>0

SupportConstraint :=
    0≤X≤1

NormalisationConstraint :=
    Integral_0^1f_X(x)dx=1

BetaConsistency :=
    Parameters
    ∧ Support
    ∧ PDF
    ∧ CDF
    ∧ Moments
    jointly_compatible

InvalidBetaDistribution :=
    α≤0
    ∨ β≤0
    ∨ SupportViolation
    ∨ PDFNormalisationFailure

BetaValidation :=
    ResolveAlpha
    → ResolveBeta
    → ValidateParameters
    → ResolveSupport
    → ConstructPDF
    → ValidateNormalisation
    → ConstructCDF
    → ValidateMoments

BetaDistributionState := {
    RandomVariable,
    Alpha,
    Beta,
    Mean,
    Concentration,
    Support,
    PDF,
    CDF,
    Variance,
    BayesianRelations,
    Evidence,
    Confidence,
    Provenance
}

BetaEvidence :=
    ProportionData
    ∨ ProbabilityParameterModel
    ∨ BinaryOutcomeData
    ∨ BayesianPriorSpecification
    ∨ TheoreticalDerivation

BetaUpdate :=
    NewDataAlphaBetaOrModelEvidence
    → UpdateBetaState
    → RecomputePDF
    → RecomputeCDF
    → RecomputeMoments
    → RecomputePosteriorRelations
    → Revalidate

SEMANTIC_EQUIVALENCE(BetaA,BetaB) :=
    same(α)
    ∧ same(β)
    ⇒
    same(BetaProbabilityMeasure)

BetaDistributionOntology :=
    Classes
    ∧ Relations
    ∧ Constraints
    ∧ Axioms
    ∧ InferenceRules

CoreClasses := {
    BetaDistribution,
    ContinuousDistribution,
    BetaRandomVariable,
    AlphaParameter,
    BetaParameter,
    ConcentrationParameter,
    BetaFunction,
    BetaPDF,
    BetaCDF,
    Mean,
    Variance,
    BetaPrior,
    BetaPosterior,
    BetaBinomialModel,
    GammaDistribution,
    DirichletDistribution,
    BetaConstraint
}

CoreRelations := {
    distributionOf,
    hasAlpha,
    hasBeta,
    hasConcentration,
    hasSupport,
    hasPDF,
    hasCDF,
    hasMean,
    hasVariance,
    specialCaseOf,
    derivedFrom,
    conjugatePriorFor,
    updatesTo,
    estimatedFrom,
    constrainedBy,
    equivalentTo,
    tracesTo
}

TypedRelations :=
    BetaDistribution --distributionOf--> BetaRandomVariable
    BetaDistribution --hasAlpha--> AlphaParameter
    BetaDistribution --hasBeta--> BetaParameter
    BetaDistribution --hasConcentration--> ConcentrationParameter
    BetaDistribution --hasSupport--> Support
    BetaDistribution --hasPDF--> BetaPDF
    BetaDistribution --hasCDF--> BetaCDF
    BetaDistribution --hasMean--> Mean
    BetaDistribution --hasVariance--> Variance
    BetaDistribution --specialCaseOf--> DirichletDistribution
    BetaPrior --conjugatePriorFor--> BernoulliBinomialLikelihood
    BetaPrior --updatesTo--> BetaPosterior
    BetaDistribution --tracesTo--> Provenance

InferenceRules := {
    X~Beta(α,β)
        ⇒
        E[X]=α/(α+β),

    X~Beta(α,β)
        ⇒
        Var(X)
        =
        αβ/
        [(α+β)^2(α+β+1)],

    Beta(1,1)
        ⇒ Uniform(0,1),

    Independent(
        U~Gamma(α,r),
        V~Gamma(β,r)
    )
        ⇒
        U/(U+V)~Beta(α,β),

    Prior Beta(α,β)
        ∧ s successes
        ∧ f failures
        ⇒
        Posterior Beta(α+s,β+f),

    α≤0
        ∨ β≤0
        ⇒ InvalidBetaDistribution
}

CanonicalBetaRepresentation :=
    ParseBetaModel
    → ResolveRandomVariable
    → ResolveAlpha
    → ResolveBeta
    → ResolveMeanConcentrationIfProvided
    → ValidateParameters
    → ResolveSupport
    → ConstructPDF
    → ConstructCDF
    → ComputeMoments
    → ResolveBayesianRelations
    → ValidateBetaDistribution

BetaDistributionGraph :=
    G=(V,E)

V := {
    BetaDistributions,
    BetaRandomVariables,
    AlphaParameters,
    BetaParameters,
    ConcentrationParameters,
    BetaFunctions,
    PDFs,
    CDFs,
    Means,
    Variances,
    BetaPriors,
    BetaPosteriors,
    BernoulliBinomialModels,
    GammaRelations,
    DirichletRelations,
    Evidence,
    ProvenanceNodes
}

E := {
    distributionOf,
    hasAlpha,
    hasBeta,
    hasConcentration,
    hasSupport,
    hasPDF,
    hasCDF,
    hasMean,
    hasVariance,
    specialCaseOf,
    derivedFrom,
    conjugatePriorFor,
    updatesTo,
    estimatedFrom,
    constrainedBy,
    equivalentTo,
    tracesTo
}

CONFIDENCE(BetaDistributionResolution) :=
    weighted_mean(
        RandomVariableResolution,
        AlphaResolution,
        BetaResolution,
        SupportValidity,
        PDFConsistency,
        MomentConsistency,
        BayesianRelationValidity,
        ProvenanceQuality
    )

AI_QUERY_INTERPRETATION :=
    Query
    → DetectBetaDistributionIntent
    → IdentifyProbabilityOrProportionVariable
    → ResolveAlphaAndBeta
    → IdentifyRequestedProbabilityOrProperty
    → ResolveBayesianContextIfPresent

AI_REASONING_FLOW :=
    Query
    → ParseBetaProblem
    → ResolveProbabilitySpace
    → ResolveBetaRandomVariable
    → ResolveAlpha
    → ResolveBeta
    → ValidateParameters
    → ConstructBetaPDF
    → ConstructOrEvaluateBetaCDF
    → ComputeRequestedIntervalOrTailProbability
    → ComputeMeanVarianceModeOrQuantileIfRequired
    → ResolveGammaDirichletOrOrderStatisticRelationsIfRelevant
    → ApplyBayesianConjugateUpdateIfRelevant
    → ValidateBetaModel
    → UpdateConfidence
    → PreserveProvenance
    → GenerateExplanation

AI_CONSUMPTION := {
    ParseBetaDistributionEntities,
    ParseTypedRelations,
    ResolveBetaRandomVariables,
    ResolveAlphaParameters,
    ResolveBetaParameters,
    ResolveConcentrationParameters,
    EvaluateBetaFunctions,
    EvaluateBetaPDFs,
    EvaluateBetaCDFs,
    ComputeIntervalProbabilities,
    ComputeTailProbabilities,
    ComputeMeans,
    ComputeVariances,
    ComputeModes,
    ComputeQuantiles,
    ResolveGammaRelations,
    ResolveDirichletRelations,
    ResolveOrderStatisticRelations,
    ApplyBetaBernoulliUpdates,
    ApplyBetaBinomialUpdates,
    EstimateBetaParameters,
    ValidateBetaDistributions,
    CompareSemanticEquivalence,
    UpdateConfidence,
    PreserveProvenance,
    GenerateFormalExplanation
}

UPDATE_MODEL :=
    NewDataAlphaBetaOrConstraint
    → ValidateInput
    → IdentifyAffectedBetaClaims
    → UpdateBetaState
    → RecomputePDF
    → RecomputeCDF
    → RecomputeMoments
    → RecomputeBayesianPosteriorIfApplicable
    → RevalidateConstraints
    → RecomputeConfidence
    → PreserveProvenance
    → VersionModel

AlphaUpdate :=
    ChangedAlpha
    ⇒ revalidate(α>0)
    → recompute(
        Mean,
        Concentration,
        PDF,
        CDF,
        Variance,
        Shape
    )

BetaParameterUpdate :=
    ChangedBeta
    ⇒ revalidate(β>0)
    → recompute(
        Mean,
        Concentration,
        PDF,
        CDF,
        Variance,
        Shape
    )

DataUpdate :=
    NewBinaryProportionOrProbabilityData
    ⇒ reevaluate(
        ParameterEstimates,
        PosteriorIfBayesian,
        ModelFit
    )

FLOW_HASH_INPUT :=
    canonical(
        ONTOLOGY,
        CoreClasses,
        CoreRelations,
        InferenceRules,
        BetaDistribution,
        BetaPDF,
        BetaBernoulliConjugacy,
        BetaValidation,
        SEMANTIC_EQUIVALENCE,
        AI_REASONING_FLOW
    )

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT)

OUTPUT_MODEL := {
    BetaDistributionEntityResolution,
    ProbabilitySpace,
    BetaRandomVariable,
    Alpha,
    Beta,
    Mean,
    Concentration,
    Support,
    PDF,
    CDF,
    RequestedProbability,
    Variance,
    Mode,
    Quantile,
    BayesianPosteriorRelation,
    ValidationStatus,
    Confidence,
    Provenance,
    Explanation
}

END_FLOW

END OF FULL EXECUTABLE FLOW ALGEBRA
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ