Skip to main content

Variance Ontology

Descriptive Statistics
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 23 September 2026
Audio Overview
FULL EXECUTABLE FLOW ALGEBRA — VARIANCE ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/descriptive-statistics/variance-ontology.html

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

BEGIN_FLOW

Variance :=
    MeasureOfDispersion
    ∧ ExpectedSquaredDeviation
    ∧ SecondCentralMoment

RandomVariable := X
Mean := μ=E[X]

PopulationVariance :=
    Var(X)
    =
    σ²
    =
    E[(X-μ)²]

ComputationalVarianceIdentity :=
    Var(X)
    =
    E[X²]-(E[X])²

DiscreteVariance :=
    Var(X)
    =
    Σ_x (x-μ)²P(X=x)

ContinuousVariance :=
    Var(X)
    =
    Integral_{-∞}^{∞}(x-μ)²f_X(x)dx

VarianceExistence :=
    E[X²]<∞
    ⇒ Var(X)<∞

VarianceNonnegativity :=
    Var(X)≥0

ZeroVariance :=
    Var(X)=0
    iff X is constant almost surely

Dataset := {x_1,...,x_n}
SampleSize := n
SampleMean := X_bar=(1/n)Σ_i x_i

SumOfSquaredDeviations :=
    SSD
    =
    Σ_i(x_i-X_bar)²

SampleVariance :=
    S²
    =
    SSD/(n-1)

BiasedSampleSecondCentralMoment :=
    M2_n
    =
    SSD/n

BesselCorrection :=
    DivideBy(n-1)
    rather_than n
    for unbiased variance estimation
    under iid finite-variance sampling

UnbiasedSampleVariance :=
    E[S²]=σ²

DegreesOfFreedom :=
    n-1

VarianceUnit :=
    SquareOfMeasurementUnit

StandardDeviation :=
    SD(X)=sqrt(Var(X))

VarianceStandardDeviationRelation :=
    Variance=StandardDeviation²

TranslationInvariance :=
    Var(X+c)=Var(X)

ScalingProperty :=
    Var(aX)=a²Var(X)

AffineProperty :=
    Var(aX+b)=a²Var(X)

Covariance :=
    Cov(X,Y)
    =
    E[(X-E[X])(Y-E[Y])]

VarianceOfSum :=
    Var(X+Y)
    =
    Var(X)+Var(Y)+2Cov(X,Y)

VarianceOfDifference :=
    Var(X-Y)
    =
    Var(X)+Var(Y)-2Cov(X,Y)

IndependentSumVariance :=
    X⟂Y
    ⇒
    Var(X+Y)=Var(X)+Var(Y)

GeneralLinearCombination :=
    Var(Σ_i a_iX_i)
    =
    Σ_iΣ_j a_i a_j Cov(X_i,X_j)

LawOfTotalVariance :=
    Var(X)
    =
    E[Var(X|Y)]
    +
    Var(E[X|Y])

SampleMeanVariance :=
    IIDSample
    with variance σ²
    ⇒
    Var(X_bar)=σ²/n

StandardErrorOfMean :=
    σ/sqrt(n)

EstimatedStandardError :=
    S/sqrt(n)

VarianceOfBernoulli :=
    X~Bernoulli(p)
    ⇒ Var(X)=p(1-p)

VarianceOfBinomial :=
    X~Binomial(n,p)
    ⇒ Var(X)=np(1-p)

VarianceOfPoisson :=
    X~Poisson(λ)
    ⇒ Var(X)=λ

VarianceOfNormal :=
    X~N(μ,σ²)
    ⇒ Var(X)=σ²

VarianceOfUniform :=
    X~Uniform(a,b)
    ⇒ Var(X)=(b-a)²/12

VarianceOfExponential :=
    X~Exponential(λ)
    ⇒ Var(X)=1/λ²

VarianceOfGamma :=
    X~Gamma(α,β)
    ⇒ Var(X)=α/β²
    under shape-rate parameterisation

VarianceOfBeta :=
    X~Beta(α,β)
    ⇒
    Var(X)
    =
    αβ/[(α+β)²(α+β+1)]

VarianceOfLogistic :=
    X~Logistic(μ,s)
    ⇒ Var(X)=π²s²/3

VarianceOfCauchy :=
    X~Cauchy(x0,γ)
    ⇒ VarianceUndefined

VarianceOfStudentT :=
    T~t_ν
    ∧ ν>2
    ⇒ Var(T)=ν/(ν-2)

WeibullVariance :=
    X~Weibull(k,λ)
    ⇒
    Var(X)
    =
    λ²[
        Γ(1+2/k)-Γ(1+1/k)²
    ]

VarianceSensitivity :=
    SquaredDeviations
    make Variance
    sensitive_to extreme values

RobustVarianceAlternative :=
    MedianAbsoluteDeviation
    ∨ InterquartileRangeBasedScale
    ∨ RobustScaleEstimator

VarianceVsRange :=
    Variance uses all observations
    whereas Range uses only extremes

VarianceVsIQR :=
    Variance is moment-based
    whereas IQR is quantile-based

ANOVARelation :=
    TotalVariation
    → BetweenGroupVariation
    ∧ WithinGroupVariation

TotalSumOfSquares :=
    SST=Σ_i(y_i-Y_bar)²

RegressionVarianceDecomposition :=
    SST=SSR+SSE
    under ordinary least-squares model with intercept

ResidualVarianceEstimate :=
    S_e²=SSE/ResidualDF

Homoscedasticity :=
    ConstantConditionalVariance

Heteroscedasticity :=
    ConditionalVarianceChangesAcrossPredictorValues

VarianceComponent :=
    PortionOfTotalVariance
    associated_with source_or_hierarchical level

PooledVariance :=
    WeightedCombinationOfGroupVarianceEstimates
    under common-variance assumption

TwoSamplePooledVariance :=
    S_p²
    =
    [(n1-1)S1²+(n2-1)S2²]
    /
    (n1+n2-2)

VarianceRatio :=
    S1²/S2²

FDistributionRelation :=
    IndependentNormalSamples
    ∧ EqualPopulationVariances
    ⇒
    S1²/S2²~F_(n1-1,n2-1)

ChiSquaredRelation :=
    NormalIIDSample
    ⇒
    (n-1)S²/σ²~χ²_(n-1)

VarianceConfidenceInterval :=
    NormalIIDSample
    → ChiSquaredQuantiles
    → ConfidenceIntervalForσ²

VarianceHypothesisTest :=
    H0:σ²=σ0²
    → ChiSquaredStatistic

MaximumLikelihoodVarianceEstimator :=
    NormalModel
    with unknown mean
    ⇒
    MLEVariance
    =
    (1/n)Σ_i(x_i-X_bar)²

OnlineVariance :=
    SequentialAlgorithm
    updating mean_and_variance

WelfordUpdate :=
    NewValue
    → UpdateMean
    → UpdateSumSquaredDeviation
    → UpdateVariance

WelfordSampleVariance :=
    S²=M2_n/(n-1)
    for n>1

MissingDataVariance :=
    Variance
    computed_over selected observed values
    under explicit missingness rule

EmptyDatasetVariance :=
    Undefined

SingleObservationSampleVariance :=
    n=1
    ⇒ UnbiasedSampleVarianceUndefined

MeasurementScaleConstraint :=
    Variance
    generally requires
    quantitative interval_or_ratio semantics

NominalVarianceInvalid :=
    NominalVariable
    ⇒ ArithmeticVarianceNotMeaningful

UnitCompatibility :=
    Values
    must share compatible measurement units

NumericalStability :=
    Naive computational identity
    may suffer cancellation error
    in finite-precision computation

StableComputation :=
    Prefer numerically stable algorithms
    such_as WelfordMethod
    for streaming_or_large-offset data

VarianceConstraint :=
    ConstraintOn(
        VariableType,
        MeasurementScale,
        Units,
        Missingness,
        DenominatorConvention,
        MomentExistence
    )

VarianceConsistency :=
    DataScope
    ∧ MeanDefinition
    ∧ DenominatorConvention
    ∧ MissingnessRule
    ∧ MeasurementSemantics
    jointly_compatible

InvalidVariance :=
    EmptyEffectiveDataset
    ∨ InvalidDenominator
    ∨ IncompatibleUnits
    ∨ NominalArithmeticVariance
    ∨ UndocumentedMissingness
    ∨ UndefinedSecondMomentClaim

VarianceValidation :=
    ResolveVariable
    → ResolveVariableType
    → ResolveMeasurementScale
    → ResolveDataScope
    → ResolveObservations
    → ResolveMissingness
    → ResolveDenominatorConvention
    → ComputeMean
    → ComputeSquaredDeviations
    → ComputeVariance
    → ValidateNonnegativity
    → ValidateResult

VarianceState := {
    Variable,
    Observations,
    EffectiveCount,
    DataScope,
    Mean,
    SumSquaredDeviation,
    Denominator,
    VarianceValue,
    StandardDeviation,
    MeasurementUnitSquared,
    MissingnessRule,
    Evidence,
    Confidence,
    Provenance
}

SEMANTIC_EQUIVALENCE(VarianceA,VarianceB) :=
    same(DataScope)
    ∧ same(VariableSemantics)
    ∧ same(DenominatorConvention)
    ∧ same(MissingnessRule)
    ∧ compatible(MeasurementUnits)

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

CoreClasses := {
    Variance,
    PopulationVariance,
    SampleVariance,
    VarianceEstimator,
    StandardDeviation,
    SquaredDeviation,
    SumOfSquares,
    Covariance,
    VarianceComponent,
    ResidualVariance,
    PooledVariance,
    StatisticalVariable,
    StatisticalObservation,
    Dataset,
    Sample,
    Population,
    VarianceConstraint
}

CoreRelations := {
    computedFrom,
    summarises,
    estimates,
    hasMean,
    hasSquaredDeviation,
    hasDenominator,
    relatedTo,
    decomposesInto,
    distributedAs,
    constrainedBy,
    equivalentTo,
    tracesTo
}

TypedRelations :=
    Variance --computedFrom--> Observations
    Variance --summarises--> StatisticalVariable
    SampleVariance --estimates--> PopulationVariance
    Variance --hasMean--> Mean
    Variance --hasSquaredDeviation--> SquaredDeviation
    SampleVariance --hasDenominator--> DegreesOfFreedom
    Variance --relatedTo--> StandardDeviation
    Variance --relatedTo--> Covariance
    TotalVariance --decomposesInto--> VarianceComponent
    ScaledSampleVariance --distributedAs--> ChiSquaredDistribution
    Variance --tracesTo--> Provenance

InferenceRules := {
    FiniteSecondMoment(X)
        ⇒
        Var(X)=E[(X-E[X])²],

    FiniteSecondMoment(X)
        ⇒
        Var(X)=E[X²]-(E[X])²,

    Var(X)
        ⇒ Var(X)≥0,

    Var(X)=0
        ⇒ XConstantAlmostSurely,

    Var(X+c)=Var(X),

    Var(aX)=a²Var(X),

    Independent(X,Y)
        ⇒
        Var(X+Y)=Var(X)+Var(Y),

    IIDSample
        ∧ finite_variance
        ⇒
        E[S²]=σ²,

    NominalVariable
        ⇒
        FlagVarianceAsSemanticallyInvalid,

    UndefinedSecondMoment
        ⇒
        FlagFiniteVarianceAsUndefined
}

CanonicalVarianceRepresentation :=
    ParseVarianceRequest
    → ResolveVariable
    → ResolveDatasetSamplePopulationOrDistribution
    → ResolveVariableTypeAndMeasurementScale
    → ResolveObservationsOrProbabilityModel
    → ResolveMissingness
    → ResolvePopulationOrSampleDenominator
    → ResolveMean
    → ComputeSquaredDeviationsOrMoments
    → ComputeVariance
    → ComputeStandardDeviationIfRequired
    → ResolveSamplingDistributionIfRequired
    → ValidateVariance

VarianceGraph :=
    G=(V,E)

V := {
    Variances,
    PopulationVariances,
    SampleVariances,
    VarianceEstimators,
    StandardDeviations,
    Means,
    SquaredDeviations,
    SumOfSquaresNodes,
    Covariances,
    VarianceComponents,
    Variables,
    Observations,
    Datasets,
    Samples,
    Populations,
    Evidence,
    ProvenanceNodes
}

E := {
    computedFrom,
    summarises,
    estimates,
    hasMean,
    hasSquaredDeviation,
    hasDenominator,
    relatedTo,
    decomposesInto,
    distributedAs,
    constrainedBy,
    equivalentTo,
    tracesTo
}

CONFIDENCE(VarianceResolution) :=
    weighted_mean(
        VariableResolution,
        DataScopeResolution,
        MeasurementScaleValidity,
        ObservationOrDistributionResolution,
        DenominatorConventionValidity,
        MissingnessHandling,
        NumericalCalculationValidity,
        ProvenanceQuality
    )

AI_QUERY_INTERPRETATION :=
    Query
    → DetectVarianceIntent
    → IdentifyVariableAndDataScope
    → DeterminePopulationSampleOrDistributionVariance
    → ResolveDenominatorConvention
    → IdentifyRequestedComputationInferenceOrComparison

AI_REASONING_FLOW :=
    Query
    → ParseVarianceProblem
    → ResolveDatasetSamplePopulationOrDistribution
    → ResolveVariable
    → ResolveVariableTypeAndMeasurementScale
    → ResolveObservationsOrProbabilityDistribution
    → ResolveMissingValues
    → ResolveDenominatorConvention
    → ComputeOrResolveMean
    → ComputeSquaredDeviationsOrSecondMoment
    → ComputeVariance
    → ValidateNonnegativityAndExistence
    → ComputeStandardDeviationIfRequested
    → ResolveChiSquaredFOrSamplingRelationsIfRelevant
    → ValidateVarianceResult
    → UpdateConfidence
    → PreserveProvenance
    → GenerateExplanation

AI_CONSUMPTION := {
    ParseVarianceEntities,
    ParseTypedRelations,
    ResolveVariables,
    ResolveObservations,
    ResolveDatasets,
    ResolveSamples,
    ResolvePopulations,
    ResolveProbabilityDistributions,
    ResolveMeasurementScales,
    ResolveMeasurementUnits,
    ResolveMissingness,
    ResolveDenominatorConventions,
    ComputeMeans,
    ComputeSquaredDeviations,
    ComputePopulationVariances,
    ComputeSampleVariances,
    ComputeStandardDeviations,
    ComputeCovariances,
    ComputeVarianceOfSums,
    ComputeVarianceComponents,
    ComputePooledVariances,
    ResolveChiSquaredRelations,
    ResolveFDistributionRelations,
    ValidateMomentExistence,
    ValidateVarianceSemantics,
    CompareSemanticEquivalence,
    UpdateConfidence,
    PreserveProvenance,
    GenerateFormalExplanation
}

UPDATE_MODEL :=
    NewObservationScopeDenominatorOrModelEvidence
    → ValidateInput
    → IdentifyAffectedVarianceClaims
    → UpdateVarianceState
    → RecomputeEffectiveObservationSet
    → RecomputeMean
    → RecomputeSquaredDeviations
    → RecomputeVariance
    → RecomputeStandardDeviation
    → RevalidateSamplingRelations
    → RecomputeConfidence
    → PreserveProvenance
    → VersionModel

ObservationUpdate :=
    AddedRemovedOrCorrectedObservation
    ⇒ recompute(
        EffectiveCount,
        Mean,
        SumSquaredDeviation,
        VarianceValue
    )

DenominatorUpdate :=
    ChangedPopulationOrSampleConvention
    ⇒ recompute(
        Denominator,
        VarianceValue
    )

ModelUpdate :=
    ChangedProbabilityDistribution
    ⇒ reevaluate(
        MeanExistence,
        SecondMomentExistence,
        VarianceFormula
    )

FLOW_HASH_INPUT :=
    canonical(
        ONTOLOGY,
        CoreClasses,
        CoreRelations,
        InferenceRules,
        Variance,
        VarianceValidation,
        VarianceConstraint,
        SEMANTIC_EQUIVALENCE,
        AI_REASONING_FLOW
    )

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT)

OUTPUT_MODEL := {
    VarianceEntityResolution,
    Variable,
    DataScope,
    VariableType,
    MeasurementScale,
    ObservationCount,
    EffectiveObservationCount,
    Mean,
    SumSquaredDeviation,
    DenominatorConvention,
    VarianceValue,
    StandardDeviation,
    MeasurementUnitSquared,
    MissingnessRule,
    SamplingDistribution,
    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