Skip to main content

Sample Ontology

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

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

BEGIN_FLOW

StatisticalSample :=
    ObservedSubsetOrSequence
    ∧ SourcePopulation
    ∧ SamplingDesign
    ∧ SampleUnits
    ∧ SampleSize
    ∧ ObservedVariables
    ∧ SampleStatistics

Sample := StatisticalSample
Population := SourceCollectionFromWhichSampleArises
TargetPopulation := PopulationAboutWhichInferenceIsIntended
SourcePopulation := PopulationFromWhichSampleActuallyArises
SampleUnit := StatisticalUnitIncludedInSample

SampleMembership :=
    Unit∈Sample
    iff SelectionMechanismIncludes(Unit)

SampleSize :=
    n=Count(SampleUnits)

SampleObservation :=
    RecordedMeasurementForSampleUnit

SampleDataset :=
    CollectionOf(
        SampleUnits,
        Observations,
        Variables,
        Metadata
    )

SamplingDesign :=
    ProcedureGoverningSampleSelection

ProbabilitySample :=
    SampleSelectedUsingKnownRandomMechanism

NonProbabilitySample :=
    SampleSelectedWithoutFullySpecifiedProbabilityMechanism

SimpleRandomSample :=
    ProbabilitySample
    with specified equal selection structure

StratifiedSample :=
    SampleObtainedBySamplingWithinStrata

ClusterSample :=
    SampleObtainedBySelectingClustersOrUnitsWithinClusters

SystematicSample :=
    RegularIntervalSelectionAfterRandomisedStart

MultistageSample :=
    MultipleNestedSamplingStages

ConvenienceSample := AccessibilityBasedSample
PurposiveSample := JudgementBasedSample
QuotaSample := NonProbabilitySampleConstrainedByCategoryQuotas
SnowballSample := ReferralExpandedSample

SamplingFrame :=
    OperationalRepresentationOfPopulationUnits

InclusionProbability :=
    π_i=P(Unit_iIncluded)

JointInclusionProbability :=
    π_ij=P(Unit_iAndUnit_jIncluded)

SamplingWeight :=
    w_i=1/π_i
    under inverse-probability weighting

EqualProbabilitySample :=
    π_i equal_across eligible units

UnequalProbabilitySample :=
    π_i varies_across units

SamplingWithReplacement :=
    SelectedUnitMayBeSelectedAgain

SamplingWithoutReplacement :=
    SelectedUnitCannotBeSelectedAgainWithinStage

IndependentSample :=
    SampleObservationsIndependentUnderModel

IIDSample :=
    X_1,...,X_n
    independent
    ∧ identically distributed

SampleVariable :=
    VariableObservedOnSampleUnits

SampleStatistic :=
    FunctionOfSampleData

SampleMean :=
    X_bar=(1/n)Σ_iX_i

SampleTotal :=
    T_s=Σ_iX_i

SampleProportion :=
    p_hat=Count(Property)/n

SampleVariance :=
    S²=[1/(n-1)]Σ_i(X_i-X_bar)²

SampleStandardDeviation :=
    S=sqrt(S²)

SampleMedian := MedianOfObservedValues
SampleQuantile := QuantileOfObservedValues
SampleRange := max(X_i)-min(X_i)

SampleCovariance :=
    S_XY
    =
    [1/(n-1)]
    Σ_i(x_i-X_bar)(y_i-Y_bar)

SampleCorrelation :=
    r=S_XY/(S_XS_Y)
    where denominators positive

OrderStatistics :=
    X_(1)≤X_(2)≤...≤X_(n)

SampleMinimum := X_(1)
SampleMaximum := X_(n)

EmpiricalDistribution :=
    P_n=(1/n)Σ_iδ_(X_i)

EmpiricalCDF :=
    F_n(x)=(1/n)Σ_i1_(X_i≤x)

EstimatorRelation :=
    SampleStatistic
    may estimate PopulationParameter

SampleMeanEstimator :=
    X_bar estimates PopulationMean

SampleProportionEstimator :=
    p_hat estimates PopulationProportion

SampleVarianceEstimator :=
    S² estimates PopulationVariance
    under relevant assumptions

SamplingDistribution :=
    DistributionOfSampleStatistic
    over repeated samples

SamplingVariability :=
    VariationInSampleStatisticAcrossPossibleSamples

SamplingError :=
    SampleStatistic-PopulationParameter
    under specified estimand

StandardError :=
    StandardDeviationOfSamplingDistribution

MeanStandardError :=
    σ/√n
    under iid finite-variance sampling

EstimatedMeanStandardError :=
    S/√n
FinitePopulation :=
    PopulationSize=N

SamplingFraction :=
    f=n/N

FinitePopulationCorrection :=
    sqrt((N-n)/(N-1))
    for simple random sampling
    without replacement

CorrectedMeanStandardError :=
    σ/√n
    × sqrt((N-n)/(N-1))
    under applicable design

SampleRepresentativeness :=
    DegreeToWhichSample
    supports intended population inference

RepresentativenessDependsOn :=
    SamplingDesign
    ∧ Coverage
    ∧ Nonresponse
    ∧ SampleSize
    ∧ TargetEstimand

LargeSampleDoesNotGuaranteeRepresentativeness :=
    LargeN ↛ RepresentativeSample

SamplingBias :=
    SamplingMechanism
    systematically distorts population representation

SelectionBias :=
    InclusionMechanismAssociatedWithRelevantOutcomesOrCovariates

CoverageBias :=
    SamplingFrameFailsToAdequatelyCoverTargetPopulation

Nonresponse :=
    SelectedUnitDoesNotProvideIntendedObservation

UnitNonresponse := EntireSelectedUnitMissing
ItemNonresponse := SpecificVariableValueMissing
Attrition := LossOfSampleUnitsOverFollowUp
SurvivorshipBias := AnalysisDisproportionatelyIncludesObservableUnits

SampleContamination :=
    SampleContainsUnitsOutsideIntendedPopulationOrCondition

DuplicateSampling :=
    SameUnitRepresentedMultipleTimesUnintentionally

SampleIntegrity :=
    MembershipValidity
    ∧ UnitIdentity
    ∧ ObservationCompleteness
    ∧ Provenance

SampleQuality :=
    DesignQuality
    ∧ CoverageQuality
    ∧ ResponseQuality
    ∧ MeasurementQuality
    ∧ DataIntegrity

SampleSizePlanning :=
    DesiredPrecisionOrPower
    ∧ Variability
    ∧ SignificanceLevel
    ∧ Design
    → RequiredSampleSize

PrecisionRelation :=
    LargerSampleSize
    generally reduces StandardError
    under stable design_and_variance

SquareRootNRelation :=
    StandardError
    often scales_as 1/sqrt(n)

PowerRelation :=
    LargerSampleSize
    generally increases statistical power
    holding other factors fixed

EffectiveSampleSize :=
    SampleSizeEquivalent
    reflecting weighting,
    clustering,
    dependence,
    or design effects

DesignEffect :=
    VarianceUnderComplexDesign
    /
    VarianceUnderReferenceSimpleRandomDesign

EffectiveSampleSizeApproximation :=
    n_eff≈n/DesignEffect

WeightedSample :=
    SampleUnitsAssociatedWithAnalysisWeights

WeightedMean :=
    Σ_iw_iX_i/Σ_iw_i

StratumSampleSize := n_h
StratumWeight := W_h=N_h/N

StratifiedMean :=
    Σ_hW_hX_bar_h

ClusterDependence :=
    UnitsWithinClusterMayBeCorrelated

IntraclassCorrelation :=
    CorrelationAmongUnitsWithinSameCluster

ClusterDesignEffectApproximation :=
    1+(m-1)ρ

LongitudinalSample :=
    SameOrLinkedUnitsObservedAcrossTime

PanelSample :=
    UnitsRepeatedlyObservedAcrossWaves

RepeatedCrossSection :=
    DifferentSamplesDrawnAtMultipleTimes

TrainingSample := DataUsedToFitModel
ValidationSample := DataUsedToTuneOrSelectModel
TestSample := HeldOutDataUsedToEvaluateFinalPredictivePerformance

DataSplit :=
    Dataset
    → TrainingSample
    ∧ ValidationSample
    ∧ TestSample

BootstrapSample :=
    SampleOfSizeN
    drawn_with_replacement
    from observed sample

BootstrapReplicate :=
    StatisticComputedOnBootstrapSample

PermutationSample :=
    DataArrangementGeneratedUnderNullExchangeability

Subsample :=
    SampleSubsetSelectedFromExistingSample

SampleConstraint :=
    ConstraintOn(
        Membership,
        SamplingDesign,
        SampleSize,
        Weights,
        Missingness,
        UnitIdentity,
        PopulationRelation
    )

SampleConsistency :=
    SourcePopulation
    ∧ SamplingDesign
    ∧ Membership
    ∧ SampleSize
    ∧ Observations
    ∧ Weights
    jointly_compatible

InvalidSample :=
    MembershipViolation
    ∨ DuplicateUnitError
    ∨ InvalidWeight
    ∨ SamplingFrameMismatch
    ∨ UndocumentedExclusion
    ∨ InconsistentSampleSize

SampleValidation :=
    ResolveSourcePopulation
    → ResolveSamplingFrame
    → ResolveSamplingDesign
    → ResolveSampleUnits
    → ValidateMembership
    → ValidateUnitIdentity
    → ResolveSampleSize
    → ResolveWeights
    → ResolveMissingness
    → ComputeSampleStatistics
    → ValidatePopulationRelation

SampleState := {
    SourcePopulation,
    TargetPopulation,
    SamplingFrame,
    SamplingDesign,
    SampleUnits,
    SampleSize,
    Variables,
    Observations,
    Weights,
    Missingness,
    SampleStatistics,
    SamplingFraction,
    Evidence,
    Confidence,
    Provenance
}

SampleEvidence :=
    SamplingRecords
    ∨ SurveyData
    ∨ ExperimentalData
    ∨ AdministrativeData
    ∨ ObservationalData
    ∨ ResamplingProcedure

SEMANTIC_EQUIVALENCE(SampleA,SampleB) :=
    same(SourcePopulation)
    ∧ same(UnitMembership)
    ∧ same(ObservationSemantics)
    ∧ same(WeightingRules)
    ∧ same(SamplingScope)
SampleOntology :=
    Classes
    ∧ Relations
    ∧ Constraints
    ∧ Axioms
    ∧ InferenceRules

CoreClasses := {
    StatisticalSample,
    Population,
    TargetPopulation,
    SourcePopulation,
    SampleUnit,
    SampleObservation,
    SampleDataset,
    SamplingDesign,
    SamplingFrame,
    ProbabilitySample,
    NonProbabilitySample,
    SampleStatistic,
    SamplingDistribution,
    SamplingWeight,
    StandardError,
    BootstrapSample,
    SampleEvidence
}

CoreRelations := {
    sampledFrom,
    containsUnit,
    containsObservation,
    usesDesign,
    usesFrame,
    hasSampleSize,
    hasVariable,
    hasStatistic,
    hasWeight,
    estimates,
    distributedAs,
    represents,
    derivedFrom,
    equivalentTo,
    tracesTo
}

TypedRelations :=
    StatisticalSample --sampledFrom--> SourcePopulation
    StatisticalSample --containsUnit--> SampleUnit
    StatisticalSample --containsObservation--> SampleObservation
    StatisticalSample --usesDesign--> SamplingDesign
    StatisticalSample --usesFrame--> SamplingFrame
    StatisticalSample --hasSampleSize--> SampleSize
    StatisticalSample --hasVariable--> SampleVariable
    StatisticalSample --hasStatistic--> SampleStatistic
    SampleUnit --hasWeight--> SamplingWeight
    SampleStatistic --estimates--> PopulationParameter
    SampleStatistic --distributedAs--> SamplingDistribution
    StatisticalSample --represents--> TargetPopulation
    BootstrapSample --derivedFrom--> StatisticalSample
    StatisticalSample --tracesTo--> Provenance

InferenceRules := {
    Sample(S)
        ∧ sampledFrom(S,P)
        ⇒ SourcePopulation(S)=P,

    Count(SampleUnits)
        ⇒ SampleSize=n,

    IIDSample(X_1,...,X_n)
        ⇒
        Independent(X_i)
        ∧ SameDistribution(X_i),

    SampleMean
        ⇒ CandidateEstimator(PopulationMean),

    SampleProportion
        ⇒ CandidateEstimator(PopulationProportion),

    FinitePopulation
        ∧ SamplingWithoutReplacement
        ⇒ EvaluateFinitePopulationCorrection,

    SamplingBias
        ⇒ FlagRepresentativenessRisk,

    LargeSampleSize
        ↛ GuaranteedRepresentativeness
}

CanonicalSampleRepresentation :=
    ParseSampleDefinition
    → ResolveSourcePopulation
    → ResolveTargetPopulation
    → ResolveSamplingFrame
    → ResolveSamplingDesign
    → ResolveSampleUnits
    → ResolveObservationsAndVariables
    → ResolveWeights
    → ResolveMissingness
    → ComputeSampleSize
    → ComputeSampleStatistics
    → ValidateSample

SampleGraph :=
    G=(V,E)

V := {
    Samples,
    Populations,
    TargetPopulations,
    SourcePopulations,
    SampleUnits,
    Observations,
    Datasets,
    SamplingDesigns,
    SamplingFrames,
    SampleSizes,
    Variables,
    Statistics,
    SamplingDistributions,
    Weights,
    MissingnessNodes,
    BootstrapSamples,
    Evidence,
    ProvenanceNodes
}

E := {
    sampledFrom,
    containsUnit,
    containsObservation,
    usesDesign,
    usesFrame,
    hasSampleSize,
    hasVariable,
    hasStatistic,
    hasWeight,
    estimates,
    distributedAs,
    represents,
    derivedFrom,
    equivalentTo,
    tracesTo
}

CONFIDENCE(SampleResolution) :=
    weighted_mean(
        SourcePopulationResolution,
        SamplingFrameResolution,
        SamplingDesignQuality,
        MembershipValidity,
        SampleSizeConsistency,
        WeightValidity,
        MissingnessHandling,
        ProvenanceQuality
    )

AI_QUERY_INTERPRETATION :=
    Query
    → DetectSampleIntent
    → IdentifySourceAndTargetPopulation
    → ResolveSamplingDesign
    → ResolveSampleUnitsAndSize
    → IdentifyRequestedStatisticQualityOrInferenceRelation

AI_REASONING_FLOW :=
    Query
    → ParseSampleQuestion
    → ResolveSourcePopulation
    → ResolveTargetPopulation
    → ResolveSamplingFrame
    → ResolveSamplingDesign
    → ResolveSampleUnits
    → ValidateMembershipAndIdentity
    → ResolveSampleSize
    → ResolveVariablesAndObservations
    → ResolveWeightsAndMissingness
    → ComputeRequestedSampleStatistics
    → ResolveSamplingDistributionIfRequired
    → EvaluateSamplingBiasAndRepresentativeness
    → EvaluateFinitePopulationEffectsIfRelevant
    → ValidateSample
    → UpdateConfidence
    → PreserveProvenance
    → GenerateExplanation

AI_CONSUMPTION := {
    ParseSampleEntities,
    ParseTypedRelations,
    ResolveSamples,
    ResolveSourcePopulations,
    ResolveTargetPopulations,
    ResolveSamplingFrames,
    ResolveSamplingDesigns,
    ResolveSampleUnits,
    ResolveSampleSizes,
    ResolveVariables,
    ResolveObservations,
    ResolveSamplingWeights,
    ResolveMissingness,
    ComputeSampleMeans,
    ComputeSampleTotals,
    ComputeSampleProportions,
    ComputeSampleVariances,
    ComputeSampleStandardDeviations,
    ComputeSampleQuantiles,
    ComputeSampleCovariances,
    ComputeSampleCorrelations,
    ResolveSamplingDistributions,
    ComputeStandardErrors,
    EvaluateFinitePopulationCorrections,
    EvaluateDesignEffects,
    EvaluateRepresentativeness,
    ValidateSamples,
    CompareSemanticEquivalence,
    UpdateConfidence,
    PreserveProvenance,
    GenerateFormalExplanation
}

UPDATE_MODEL :=
    NewUnitObservationWeightDesignOrPopulationEvidence
    → ValidateInput
    → IdentifyAffectedSampleClaims
    → UpdateSampleState
    → RecomputeSampleMembership
    → RecomputeSampleSize
    → RecomputeSampleStatistics
    → RecomputeWeightsAndMissingness
    → ReevaluateSamplingDistribution
    → ReevaluateRepresentativeness
    → RevalidateSample
    → RecomputeConfidence
    → PreserveProvenance
    → VersionModel

UnitUpdate :=
    AddedRemovedOrCorrectedUnit
    ⇒ recompute(
        SampleMembership,
        SampleSize,
        SampleStatistics
    )

WeightUpdate :=
    ChangedSamplingWeight
    ⇒ recompute(
        WeightedStatistics,
        EffectiveSampleSize,
        VarianceEstimates
    )

DesignUpdate :=
    ChangedSamplingDesign
    ⇒ reevaluate(
        InclusionProbabilities,
        SamplingWeights,
        StandardErrors,
        DesignEffects,
        Representativeness
    )

FLOW_HASH_INPUT :=
    canonical(
        ONTOLOGY,
        CoreClasses,
        CoreRelations,
        InferenceRules,
        StatisticalSample,
        SamplingDesign,
        SampleValidation,
        SEMANTIC_EQUIVALENCE,
        AI_REASONING_FLOW
    )

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT)

OUTPUT_MODEL := {
    SampleEntityResolution,
    SourcePopulation,
    TargetPopulation,
    SamplingFrame,
    SamplingDesign,
    SampleUnits,
    SampleSize,
    Variables,
    Observations,
    SamplingWeights,
    Missingness,
    SampleStatistics,
    SamplingDistribution,
    StandardErrors,
    SamplingFraction,
    DesignEffect,
    RepresentativenessStatus,
    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