Skip to main content

Skewness 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 — SKEWNESS ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/descriptive-statistics/skewness-ontology.html

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

BEGIN_FLOW

Skewness :=
    DistributionShapeMeasure
    ∧ AsymmetryMeasure
    ∧ StandardisedThirdCentralMoment

RandomVariable := X
Mean := μ=E[X]
Variance := σ²=Var(X)
StandardDeviation := σ=sqrt(Var(X))

ThirdCentralMoment :=
    μ3=E[(X-μ)^3]

PopulationSkewness :=
    γ1=μ3/σ^3
    where σ>0
    and third moment exists

EquivalentPopulationSkewness :=
    γ1=E[((X-μ)/σ)^3]

SkewnessExistence :=
    E[|X|^3]<∞
    ∧ σ>0
    ⇒ PopulationSkewnessFinite

UndefinedSkewness :=
    UndefinedThirdMoment
    ∨ ZeroVariance
    ⇒ StandardMomentSkewnessUndefined

SkewnessDimension := Dimensionless

SymmetryRelation :=
    SymmetricDistribution
    ∧ FiniteThirdCentralMoment
    ⇒ Skewness=0

ZeroSkewnessDoesNotImplySymmetry :=
    Skewness=0 ↛ SymmetricDistribution

PositiveSkewness := γ1>0
NegativeSkewness := γ1<0
ZeroSkewness := γ1=0

RightSkew :=
    PositiveSkewness
    commonly associated_with
    longer_or_heavier right tail

LeftSkew :=
    NegativeSkewness
    commonly associated_with
    longer_or_heavier left tail

MagnitudeInterpretationConstraint :=
    NoUniversalThreshold
    defines weak_moderate_strong skewness
    across all domains

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

SampleCentralMoment2 :=
    m2=(1/n)Σ_i(x_i-X_bar)^2

SampleCentralMoment3 :=
    m3=(1/n)Σ_i(x_i-X_bar)^3

MomentSampleSkewness :=
    g1=m3/(m2^(3/2))
    where m2>0

AdjustedFisherPearsonSkewness :=
    G1=
    sqrt(n(n-1))/(n-2)
    × g1
    for n>2

SampleSkewnessConvention :=
    MultipleDefinitionsExist
    ⇒ FormulaConventionMustBeRecorded

PearsonFirstSkewnessCoefficient :=
    (Mean-Mode)/StandardDeviation

PearsonSecondSkewnessCoefficient :=
    3(Mean-Median)/StandardDeviation

PearsonSkewnessConstraint :=
    PearsonCoefficients
    are descriptive approximations
    and not identical
    to third-moment skewness

BowleySkewness :=
    (Q3+Q1-2Q2)/(Q3-Q1)
    where Q3>Q1

BowleySkewnessBounds :=
    -1≤BowleySkewness≤1
    under ordinary quantile ordering

MomentVsQuantileSkewness :=
    MomentSkewness
    sensitive_to tails_and_outliers
    whereas QuantileSkewness
    is more robust

TranslationInvariance :=
    Skewness(X+b)=Skewness(X)

PositiveScaleInvariance :=
    a>0
    ⇒ Skewness(aX)=Skewness(X)

NegativeScaleRelation :=
    a<0
    ⇒ Skewness(aX)=-Skewness(X)

AffineRelation :=
    Skewness(aX+b)
    =
    sign(a)Skewness(X)
    for a≠0

StandardisationRelation :=
    Z=(X-μ)/σ
    ⇒ Skewness(Z)=Skewness(X)

TailSensitivity :=
    CubedDeviations
    give extreme observations
    strong influence
    on moment skewness

RobustAlternatives := {
    BowleySkewness,
    Medcouple,
    QuantileBasedSkewness
}

NormalDistributionSkewness :=
    X~N(μ,σ²)
    ⇒ Skewness(X)=0

UniformDistributionSkewness :=
    X~Uniform(a,b)
    ⇒ Skewness(X)=0

LogisticDistributionSkewness :=
    X~Logistic(μ,s)
    ⇒ Skewness(X)=0

CauchyDistributionSkewness :=
    StandardMomentSkewnessUndefined

ExponentialDistributionSkewness :=
    X~Exponential(λ)
    ⇒ Skewness(X)=2

GammaDistributionSkewness :=
    X~Gamma(α,β)
    ⇒ Skewness(X)=2/sqrt(α)
    under shape-rate parameterisation

ChiSquaredSkewness :=
    X~χ²_k
    ⇒ Skewness(X)=sqrt(8/k)

PoissonDistributionSkewness :=
    X~Poisson(λ)
    ⇒ Skewness(X)=1/sqrt(λ)

BernoulliDistributionSkewness :=
    X~Bernoulli(p)
    ⇒
    Skewness(X)
    =
    (1-2p)/sqrt(p(1-p))
    for 0<p<1

BinomialDistributionSkewness :=
    X~Binomial(n,p)
    ⇒
    Skewness(X)
    =
    (1-2p)/sqrt(np(1-p))

BetaDistributionSkewness :=
    X~Beta(α,β)
    ⇒
    Skewness(X)
    =
    2(β-α)sqrt(α+β+1)
    /
    ((α+β+2)sqrt(αβ))

LognormalDistributionSkewness :=
    X~LogNormal(μ,σ²)
    ⇒
    Skewness(X)
    =
    [exp(σ²)+2]sqrt(exp(σ²)-1)

StudentTDistributionSkewness :=
    T~t_ν
    ∧ ν>3
    ⇒ Skewness(T)=0

StudentTSkewnessUndefined :=
    ν≤3
    ⇒ StandardMomentSkewnessUndefined

DistributionTransformation :=
    Y=g(X)

NonlinearTransformationEffect :=
    Skewness(g(X))
    generally not directly determined
    by Skewness(X)

SkewnessAndNormality :=
    NonzeroSkewness
    indicates asymmetry
    but SkewnessNearZero
    does_not prove normality

NormalityAssessment :=
    Skewness
    ∧ Kurtosis
    ∧ GraphicalDiagnostics
    ∧ FormalTests
    → DistributionAssessment

SamplingDistributionOfSkewness :=
    depends_on(
        ParentDistribution,
        EstimatorConvention,
        SampleSize
    )

NormalSampleSkewnessSE :=
    ApproximateSE(g1)≈sqrt(6/n)
    for large n under normality
    as rough asymptotic approximation

BootstrapSkewness :=
    ObservedSample
    → BootstrapSamples
    → ComputeSkewnessReplicates
    → ApproximateSamplingDistribution

WeightedSkewness :=
    WeightedThirdCentralMoment
    /
    WeightedVariance^(3/2)
    under selected convention

MissingDataSkewness :=
    Skewness
    computed_on selected nonmissing observations
    under explicit missingness rule

EmptyDatasetSkewness := Undefined

ConstantDatasetSkewness :=
    Variance=0
    ⇒ SkewnessUndefined

MeasurementScaleConstraint :=
    MomentSkewness
    generally requires
    quantitative interval_or_ratio semantics

NominalSkewnessInvalid :=
    NominalVariable
    ⇒ MomentSkewnessNotMeaningful

UnitInvariance :=
    Skewness
    dimensionless
    and invariant_to positive unit rescaling

SkewnessConstraint :=
    ConstraintOn(
        VariableType,
        MeasurementScale,
        Variance,
        ThirdMoment,
        EstimatorConvention,
        Missingness,
        Weighting
    )

SkewnessConsistency :=
    DataScope
    ∧ MeanDefinition
    ∧ VarianceDefinition
    ∧ ThirdMomentDefinition
    ∧ EstimatorConvention
    jointly_compatible

InvalidSkewness :=
    ZeroVariance
    ∨ UndefinedThirdMoment
    ∨ IncompatibleVariableType
    ∨ InvalidEstimatorConvention
    ∨ UndocumentedMissingness
    ∨ UndocumentedWeighting

SkewnessValidation :=
    ResolveVariable
    → ResolveVariableType
    → ResolveMeasurementScale
    → ResolveDataScope
    → ResolveObservationsOrDistribution
    → ResolveMissingness
    → ResolveWeights
    → ResolveSkewnessDefinition
    → ComputeMean
    → ComputeVariance
    → ValidatePositiveVariance
    → ComputeThirdCentralMoment
    → ComputeSkewness
    → ValidateResult

SkewnessState := {
    Variable,
    DataScope,
    Observations,
    EffectiveCount,
    Mean,
    Variance,
    ThirdCentralMoment,
    SkewnessDefinition,
    SkewnessValue,
    Direction,
    Magnitude,
    MissingnessRule,
    WeightingRule,
    Evidence,
    Confidence,
    Provenance
}

SEMANTIC_EQUIVALENCE(SkewnessA,SkewnessB) :=
    same(DataScope)
    ∧ same(VariableSemantics)
    ∧ same(SkewnessDefinition)
    ∧ same(MomentConvention)
    ∧ same(MissingnessRule)
    ∧ same(WeightingRule)

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

CoreClasses := {
    Skewness,
    PopulationSkewness,
    SampleSkewness,
    PositiveSkewness,
    NegativeSkewness,
    ZeroSkewness,
    ThirdCentralMoment,
    BowleySkewness,
    PearsonSkewness,
    Medcouple,
    DistributionShape,
    StatisticalVariable,
    StatisticalObservation,
    Dataset,
    Sample,
    Population,
    SkewnessConstraint
}

CoreRelations := {
    computedFrom,
    summarises,
    measuresAsymmetryOf,
    hasThirdMoment,
    hasVariance,
    hasDirection,
    hasMagnitude,
    estimatedBy,
    transformedBy,
    comparedWith,
    constrainedBy,
    equivalentTo,
    tracesTo
}

TypedRelations :=
    Skewness --computedFrom--> Observations
    Skewness --summarises--> StatisticalVariable
    Skewness --measuresAsymmetryOf--> Distribution
    Skewness --hasThirdMoment--> ThirdCentralMoment
    Skewness --hasVariance--> Variance
    Skewness --hasDirection--> SkewDirection
    Skewness --hasMagnitude--> SkewMagnitude
    PopulationSkewness --estimatedBy--> SampleSkewness
    Skewness --transformedBy--> AffineTransformation
    MomentSkewness --comparedWith--> QuantileSkewness
    Skewness --tracesTo--> Provenance

InferenceRules := {
    FiniteThirdAbsoluteMoment
        ∧ PositiveVariance
        ⇒
        PopulationSkewness
        =
        E[(X-μ)^3]/σ^3,

    SymmetricDistribution
        ∧ FiniteThirdMoment
        ⇒ Skewness=0,

    Skewness=0
        ↛ SymmetricDistribution,

    Skewness>0
        ⇒ PositiveSkewness,

    Skewness<0
        ⇒ NegativeSkewness,

    Skewness(X+b)=Skewness(X),

    a>0
        ⇒ Skewness(aX)=Skewness(X),

    a<0
        ⇒ Skewness(aX)=-Skewness(X),

    ZeroVariance
        ⇒ SkewnessUndefined
}

CanonicalSkewnessRepresentation :=
    ParseSkewnessRequest
    → ResolveVariable
    → ResolveDatasetSamplePopulationOrDistribution
    → ResolveVariableTypeAndMeasurementScale
    → ResolveObservationsOrProbabilityModel
    → ResolveMissingness
    → ResolveWeights
    → ResolveMomentPearsonQuantileOrRobustDefinition
    → ComputeOrResolveMean
    → ComputeOrResolveVariance
    → ValidateVariance
    → ComputeThirdCentralMomentOrAlternativeComponents
    → ComputeSkewness
    → ResolveDirectionAndMagnitude
    → ValidateSkewness

SkewnessGraph :=
    G=(V,E)

V := {
    SkewnessMeasures,
    PopulationSkewnesses,
    SampleSkewnesses,
    PositiveSkewnessNodes,
    NegativeSkewnessNodes,
    ZeroSkewnessNodes,
    ThirdCentralMoments,
    Variances,
    Means,
    BowleySkewnesses,
    PearsonSkewnesses,
    Medcouples,
    Variables,
    Observations,
    Datasets,
    Samples,
    Populations,
    Evidence,
    ProvenanceNodes
}

E := {
    computedFrom,
    summarises,
    measuresAsymmetryOf,
    hasThirdMoment,
    hasVariance,
    hasDirection,
    hasMagnitude,
    estimatedBy,
    transformedBy,
    comparedWith,
    constrainedBy,
    equivalentTo,
    tracesTo
}

CONFIDENCE(SkewnessResolution) :=
    weighted_mean(
        VariableResolution,
        DataScopeResolution,
        MeasurementScaleValidity,
        MomentExistenceValidity,
        SkewnessDefinitionResolution,
        MissingnessHandling,
        WeightingValidity,
        ProvenanceQuality
    )

AI_QUERY_INTERPRETATION :=
    Query
    → DetectSkewnessIntent
    → IdentifyVariableAndDataScope
    → DeterminePopulationSampleOrDistributionContext
    → ResolveMomentPearsonQuantileOrRobustSkewness
    → IdentifyRequestedDirectionMagnitudeComparisonOrInference

AI_REASONING_FLOW :=
    Query
    → ParseSkewnessProblem
    → ResolveDatasetSamplePopulationOrDistribution
    → ResolveVariable
    → ResolveVariableTypeAndMeasurementScale
    → ResolveObservationsOrProbabilityDistribution
    → ResolveMissingValues
    → ResolveWeights
    → ResolveSkewnessDefinition
    → ComputeOrResolveMean
    → ComputeOrResolveVariance
    → ValidatePositiveVariance
    → ComputeThirdCentralMomentOrQuantileComponents
    → ComputeSkewness
    → DetermineSkewDirectionAndMagnitude
    → ResolveDistributionalOrSamplingRelationsIfRequested
    → ValidateSkewnessResult
    → UpdateConfidence
    → PreserveProvenance
    → GenerateExplanation

AI_CONSUMPTION := {
    ParseSkewnessEntities,
    ParseTypedRelations,
    ResolveVariables,
    ResolveObservations,
    ResolveDatasets,
    ResolveSamples,
    ResolvePopulations,
    ResolveProbabilityDistributions,
    ResolveMeasurementScales,
    ResolveMissingness,
    ResolveWeights,
    ComputeMeans,
    ComputeVariances,
    ComputeThirdCentralMoments,
    ComputePopulationSkewness,
    ComputeSampleSkewness,
    ComputeAdjustedFisherPearsonSkewness,
    ComputePearsonSkewness,
    ComputeBowleySkewness,
    ResolveRobustSkewnessMeasures,
    ResolveDistributionSkewnessFormulae,
    ResolveSamplingDistributions,
    ComputeBootstrapSkewness,
    ValidateMomentExistence,
    ValidateSkewnessSemantics,
    CompareSemanticEquivalence,
    UpdateConfidence,
    PreserveProvenance,
    GenerateFormalExplanation
}

UPDATE_MODEL :=
    NewObservationScopeDefinitionWeightOrDistributionEvidence
    → ValidateInput
    → IdentifyAffectedSkewnessClaims
    → UpdateSkewnessState
    → RecomputeEffectiveObservationSet
    → RecomputeMean
    → RecomputeVariance
    → RecomputeThirdCentralMoment
    → RecomputeSkewness
    → ReevaluateDirectionAndMagnitude
    → RevalidateConstraints
    → RecomputeConfidence
    → PreserveProvenance
    → VersionModel

ObservationUpdate :=
    AddedRemovedOrCorrectedObservation
    ⇒ recompute(
        EffectiveCount,
        Mean,
        Variance,
        ThirdCentralMoment,
        SkewnessValue
    )

DefinitionUpdate :=
    ChangedSkewnessConvention
    ⇒ recompute(
        SkewnessValue,
        Direction,
        Magnitude,
        SemanticEquivalence
    )

DistributionUpdate :=
    ChangedProbabilityDistribution
    ⇒ reevaluate(
        MomentExistence,
        TheoreticalSkewness,
        SamplingProperties
    )

FLOW_HASH_INPUT :=
    canonical(
        ONTOLOGY,
        CoreClasses,
        CoreRelations,
        InferenceRules,
        Skewness,
        SkewnessValidation,
        SkewnessConstraint,
        SEMANTIC_EQUIVALENCE,
        AI_REASONING_FLOW
    )

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT)

OUTPUT_MODEL := {
    SkewnessEntityResolution,
    Variable,
    DataScope,
    VariableType,
    MeasurementScale,
    ObservationCount,
    EffectiveObservationCount,
    Mean,
    Variance,
    ThirdCentralMoment,
    SkewnessDefinition,
    SkewnessValue,
    SkewDirection,
    SkewMagnitude,
    MissingnessRule,
    WeightingRule,
    DistributionRelation,
    SamplingProperties,
    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