Skip to main content

Covariance Ontology

Correlation & Regression
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 23 September 2026
Audio Overview
FULL EXECUTABLE FLOW ALGEBRA — COVARIANCE ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/correlation-regression/covariance-ontology.html

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

BEGIN_FLOW

Covariance :=
 StatisticalDependenceMeasure
 ∧ JointVariabilityMeasure
 ∧ SignedLinearAssociationQuantity
 ∧ SecondCentralCrossMoment

Population := TargetCollectionOrGeneratingProcess
Sample := {(X_i,Y_i)}_{i=1..n}
VariableX := X
VariableY := Y
PopulationMeanX := μ_X=E[X]
PopulationMeanY := μ_Y=E[Y]

PopulationCovariance :=
 Cov(X,Y)
 =
 E[(X-μ_X)(Y-μ_Y)]

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

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

SampleMeanY :=
 Y_bar=(1/n)Σ_iY_i

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

BiasedSampleCovariance :=
 C_XY
 =
 [1/n]
 Σ_i(X_i-X_bar)(Y_i-Y_bar)

SampleCovarianceUnbiasedness :=
 IIDFiniteSecondMoments
 ⇒ E[S_XY]=Cov(X,Y)

CovarianceSign :=
 sign(Cov(X,Y))

PositiveCovariance :=
 Cov(X,Y)>0

NegativeCovariance :=
 Cov(X,Y)<0

ZeroCovariance :=
 Cov(X,Y)=0

CovarianceSymmetry :=
 Cov(X,Y)=Cov(Y,X)

SelfCovariance :=
 Cov(X,X)=Var(X)

VarianceRelation :=
 Var(X)=Cov(X,X)

ConstantCovariance :=
 Cov(X,c)=0

TranslationInvariance :=
 Cov(X+a,Y+b)=Cov(X,Y)

ScalingRelation :=
 Cov(aX,bY)=abCov(X,Y)

AffineRelation :=
 Cov(aX+c,bY+d)=abCov(X,Y)

LinearityFirstArgument :=
 Cov(aX+bZ,Y)
 =
 aCov(X,Y)+bCov(Z,Y)

LinearitySecondArgument :=
 Cov(X,aY+bZ)
 =
 aCov(X,Y)+bCov(X,Z)

Bilinearity :=
 Covariance
 linear_in_each_argument

CovarianceOfSums :=
 Cov(Σ_iX_i,Σ_jY_j)
 =
 Σ_iΣ_jCov(X_i,Y_j)

VarianceOfSum :=
 Var(Σ_iX_i)
 =
 Σ_iVar(X_i)
 +
 2Σ_{i<j}Cov(X_i,X_j)

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

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

IndependenceRelation :=
 Independence
 ∧ FiniteSecondMoments
 ⇒ Cov(X,Y)=0

ZeroCovarianceConstraint :=
 Cov(X,Y)=0
 ↛ Independence
 in general

UncorrelatedVariables :=
 Cov(X,Y)=0

JointNormalRelation :=
 JointlyNormal(X,Y)
 ∧ Cov(X,Y)=0
 ⇒ Independence

CovarianceUnits :=
 Units(X)×Units(Y)

CovarianceScaleDependence :=
 MagnitudeDependsOnMeasurementScales

CorrelationRelation :=
 Corr(X,Y)
 =
 Cov(X,Y)/(σ_Xσ_Y)
 when σ_X>0 and σ_Y>0

CovarianceFromCorrelation :=
 Cov(X,Y)
 =
 Corr(X,Y)σ_Xσ_Y

CovarianceVsCorrelation :=
 CovarianceRetainsScale
 whereas CorrelationStandardisesScale

CauchySchwarzBound :=
 |Cov(X,Y)|
 ≤
 sqrt(Var(X)Var(Y))

PerfectLinearDependence :=
 EqualityInCovarianceBound
 under nondegenerate linear dependence

CovarianceMatrix :=
 Σ=[σ_ij]

CovarianceMatrixEntry :=
 σ_ij=Cov(X_i,X_j)

CovarianceMatrixDiagonal :=
 σ_ii=Var(X_i)

CovarianceMatrixSymmetry :=
 Σ=Σ^T

CovarianceMatrixPSD :=
 a^TΣa≥0
 for all vectors a

CovarianceMatrixProperties := {
 Symmetric,
 PositiveSemidefinite,
 NonnegativeDiagonal
}

PositiveDefiniteCovarianceMatrix :=
 a^TΣa>0
 for all nonzero a

SingularCovarianceMatrix :=
 det(Σ)=0

CovarianceMatrixRank :=
 rank(Σ)

SampleCovarianceMatrix :=
 S
 =
 [1/(n-1)]
 Σ_i
 (x_i-x_bar)(x_i-x_bar)^T

ScatterMatrix :=
 A
 =
 Σ_i
 (x_i-x_bar)(x_i-x_bar)^T

SampleCovarianceMatrixRelation :=
 S=A/(n-1)

CorrelationMatrixFromCovariance :=
 R=D^(-1/2)ΣD^(-1/2)

DiagonalVarianceMatrix :=
 D=diag(Σ)

CovarianceTransformation :=
 Y=AX+b
 ⇒
 Cov(Y)=A Cov(X) A^T

CrossCovarianceMatrix :=
 Cov(X,Y)
 =
 E[
  (X-E[X])(Y-E[Y])^T
 ]

MultivariateCovariance :=
 PairwiseSecondCentralMoments
 represented_as matrix

CovarianceOperator :=
 Cov(X,Y)
 defined_for random variables
 with finite second moments

FiniteMomentConstraint :=
 E[X²]<∞
 ∧ E[Y²]<∞
 ⇒ CovarianceFinite

UndefinedCovariance :=
 RequiredSecondMomentsDoNotExist
 ⇒ CovarianceMayBeUndefined

ConditionalCovariance :=
 Cov(X,Y|Z)

ConditionalCovarianceDefinition :=
 E[
  (X-E[X|Z])
  (Y-E[Y|Z])
  |
  Z
 ]

LawOfTotalCovariance :=
 Cov(X,Y)
 =
 E[Cov(X,Y|Z)]
 +
 Cov(E[X|Z],E[Y|Z])

LawOfTotalVarianceRelation :=
 Var(X)
 =
 E[Var(X|Z)]
 +
 Var(E[X|Z])

Autocovariance :=
 γ(k)
 =
 Cov(X_t,X_(t-k))

AutocovarianceFunction :=
 k→γ(k)

StationaryProcessCovariance :=
 WeakStationarity
 ⇒ Cov(X_t,X_(t-k))
 depends_only_on lag k

CrossCovariance :=
 γ_XY(k)
 =
 Cov(X_t,Y_(t-k))

AutocorrelationRelation :=
 ρ(k)=γ(k)/γ(0)

SpatialCovariance :=
 Cov(
  Z(s),
  Z(s+h)
 )

CovarianceFunction :=
 C(h)
 describing dependence_by separation

KernelCovariance :=
 PositiveSemidefiniteFunction
 used_as covariance function
 in stochastic processes

GaussianProcessCovariance :=
 k(x,x')
 =
 Cov(f(x),f(x'))

CovarianceEstimation :=
 ObservedSample
 → EstimateMeans
 → ComputeCrossProducts
 → Normalise

WeightedCovariance :=
 Σ_iw_i(x_i-μ_wX)(y_i-μ_wY)
 /
 WeightNormalisation

WeightedMeanX :=
 μ_wX=Σ_iw_ix_i/Σ_iw_i

WeightedMeanY :=
 μ_wY=Σ_iw_iy_i/Σ_iw_i

WeightedCovarianceConstraint :=
 DenominatorConvention
 depends_on frequency,
 reliability,
 probability,
 or survey weights

SurveyCovariance :=
 ComplexSamplingDesign
 → DesignAwareCovarianceEstimate

PairwiseCovariance :=
 UseAvailablePairs
 for each variable pair

ListwiseCovariance :=
 UseRowsCompleteAcrossAllSelectedVariables

MissingDataCovariance :=
 MissingnessMechanism
 ∧ EstimationMethod
 → CovarianceEstimate

MissingDataConstraint :=
 NaivePairwiseOrListwiseDeletion
 may bias covariance
 under nonignorable missingness

RobustCovariance :=
 CovarianceEstimator
 designed_to reduce sensitivity
 to outliers_or heavy tails

MCDCovariance :=
 MinimumCovarianceDeterminantEstimator

ShrinkageCovariance :=
 SampleCovariance
 → ShrinkTowardStructuredTarget
 → StabilisedCovarianceEstimate

RegularisedCovariance :=
 SampleCovariance
 +
 structural_or penalty constraint
 → ImprovedHighDimensionalEstimate

DiagonalShrinkageTarget :=
 τI
 or diagonal variance matrix

LedoitWolfRelation :=
 DataDrivenShrinkageIntensity
 → StructuredCovarianceEstimate

HighDimensionalCovariance :=
 p comparable_to_or_greater_than n
 → SampleCovarianceMayBeSingularOrUnstable

PrecisionMatrix :=
 Ω=Σ^(-1)
 when Σ invertible

PrecisionMatrixRelation :=
 OffDiagonalPrecisionEntries
 encode conditional association structure
 under multivariate normal model

PartialCorrelationFromPrecision :=
 ρ_ij·rest
 =
 -Ω_ij/
 sqrt(Ω_iiΩ_jj)

MahalanobisDistance :=
 d²
 =
 (x-μ)^TΣ^(-1)(x-μ)

CovarianceWhitening :=
 Z=Σ^(-1/2)(X-μ)
 ⇒ Cov(Z)=I
 when transformation exists

PrincipalComponentRelation :=
 EigenvectorsOfCovarianceMatrix
 define principal directions

CovarianceEigenDecomposition :=
 Σ=QΛQ^T

Eigenvalues :=
 VariancesAlongPrincipalAxes

TotalVariance :=
 trace(Σ)
 =
 Σ_jVar(X_j)

DeterminantRelation :=
 det(Σ)
 relates_to generalised variance

GeneralisedVariance :=
 det(Σ)

RegressionCovarianceRelation :=
 β_1
 =
 Cov(X,Y)/Var(X)
 for simple population linear projection
 when Var(X)>0

OLSRelation :=
 SampleSlope
 =
 S_XY/S_X²
 for simple regression with intercept

PortfolioVariance :=
 Var(w^TR)
 =
 w^TΣw

RiskAggregation :=
 IndividualVariances
 ∧ PairwiseCovariances
 → AggregateVariance

MeasurementErrorCovariance :=
 MeasurementNoise
 may alter observed covariance structure

ConfoundingRelation :=
 CommonCauses
 may generate covariance
 without direct causal relation

CovarianceDoesNotImplyCausation :=
 NonzeroCovariance
 ↛ CausalRelationship

CovarianceConstraint :=
 ConstraintOn(
  VariableX,
  VariableY,
  Population,
  SamplingDesign,
  MomentExistence,
  WeightingMethod,
  MissingDataMethod,
  DependenceStructure
 )

CovarianceConsistency :=
 Variables
 ∧ Means
 ∧ MomentFramework
 ∧ SamplingDesign
 ∧ EstimationMethod
 jointly_compatible

InvalidCovariance :=
 UndefinedVariable
 ∨ InfiniteOrUndefinedSecondMoment
 ∨ InvalidWeighting
 ∨ IncompatibleDimensions
 ∨ InvalidMissingDataHandling
 ∨ InvalidCovarianceMatrix

CovarianceValidation :=
 ResolvePopulationAndSample
 → ResolveVariables
 → ValidateFiniteSecondMoments
 → ResolveMeans
 → ResolvePopulationOrSampleCovariance
 → ComputeCrossDeviations
 → ApplyNormalisation
 → ConstructCovarianceMatrixIfMultivariate
 → ValidateSymmetryAndPositiveSemidefiniteness
 → ResolveSamplingUncertainty
 → ValidateInterpretation
 → ValidateResult

CovarianceState := {
 Population,
 Sample,
 VariableX,
 VariableY,
 MeanX,
 MeanY,
 VarianceX,
 VarianceY,
 PopulationCovariance,
 SampleCovariance,
 CovarianceMatrix,
 Correlation,
 WeightingMethod,
 MissingDataMethod,
 SamplingDesign,
 MomentValidity,
 MatrixValidity,
 Evidence,
 Confidence,
 Provenance
}

SEMANTIC_EQUIVALENCE(CovarianceA,CovarianceB) :=
 same(VariableSemantics)
 ∧ same(PopulationContext)
 ∧ same(CentringDefinition)
 ∧ same(WeightingAndNormalisationConvention)
 ∧ same(SamplingDesign)
 ∧ same(MissingDataFramework)

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

CoreClasses := {
 Covariance,
 PopulationCovariance,
 SampleCovariance,
 CovarianceMatrix,
 SampleCovarianceMatrix,
 CrossCovarianceMatrix,
 ConditionalCovariance,
 Autocovariance,
 CrossCovariance,
 SpatialCovariance,
 CovarianceFunction,
 RobustCovariance,
 ShrinkageCovariance,
 PrecisionMatrix,
 Correlation,
 Variance,
 RandomVariable
}

CoreRelations := {
 covarianceOf,
 computedFrom,
 centredBy,
 hasVariance,
 standardisedTo,
 representedBy,
 transformedBy,
 conditionedOn,
 dependsOn,
 estimatedBy,
 regularisedBy,
 constrainedBy,
 equivalentTo,
 tracesTo
}

TypedRelations :=
 Covariance --covarianceOf--> VariablePair
 SampleCovariance --computedFrom--> Sample
 Covariance --centredBy--> Mean
 CovarianceMatrix --hasVariance--> DiagonalEntry
 Covariance --standardisedTo--> Correlation
 Covariance --representedBy--> CovarianceMatrix
 CovarianceMatrix --transformedBy--> LinearTransformation
 ConditionalCovariance --conditionedOn--> ConditioningVariable
 Covariance --dependsOn--> MeasurementScale
 Covariance --estimatedBy--> CovarianceEstimator
 Covariance --regularisedBy--> ShrinkageMethod
 Covariance --tracesTo--> Provenance

InferenceRules := {
 FiniteSecondMoments
  ⇒ CovarianceDefined,

 Independence ∧ FiniteSecondMoments
  ⇒ Covariance=0,

 Covariance=0
  ↛ Independence,

 Covariance(X,X)
  =Variance(X),

 Covariance(X,Y)
  =Covariance(Y,X),

 Corr(X,Y)
  =Cov(X,Y)/(SD_X×SD_Y),

 LinearTransformationY=AX+b
  ⇒ Cov(Y)=A Cov(X) A^T,

 InvalidPositiveSemidefiniteMatrix
  ⇒ FlagCovarianceMatrixInvalid
}

CanonicalCovarianceRepresentation :=
 ParseCovarianceRequest
 → ResolvePopulationAndSample
 → ResolveVariablesAndDimensions
 → ValidateMomentExistence
 → ResolveMeans
 → ComputePopulationOrSampleCovariance
 → ConstructCovarianceMatrixIfRequired
 → ResolveCorrelationRelationIfRequested
 → ResolveConditionalTemporalSpatialOrWeightedContext
 → ValidateMatrixProperties
 → QuantifyUncertaintyIfRequired
 → ValidateCovariance

CovarianceGraph := G=(V,E)

V := {
 Covariances,
 PopulationCovariances,
 SampleCovariances,
 CovarianceMatrices,
 SampleCovarianceMatrices,
 CrossCovarianceMatrices,
 ConditionalCovariances,
 Autocovariances,
 CrossCovariances,
 SpatialCovariances,
 CovarianceFunctions,
 RobustCovariances,
 ShrinkageCovariances,
 PrecisionMatrices,
 Correlations,
 Variances,
 Variables,
 Samples,
 Populations,
 Evidence,
 ProvenanceNodes
}

E := {
 covarianceOf,
 computedFrom,
 centredBy,
 hasVariance,
 standardisedTo,
 representedBy,
 transformedBy,
 conditionedOn,
 dependsOn,
 estimatedBy,
 regularisedBy,
 constrainedBy,
 equivalentTo,
 tracesTo
}

CONFIDENCE(CovarianceResolution) :=
 weighted_mean(
  VariableResolution,
  PopulationSampleResolution,
  MomentValidity,
  MeanResolution,
  EstimatorValidity,
  MatrixValidity,
  SamplingDesignValidity,
  MissingDataValidity,
  ProvenanceQuality
 )

AI_QUERY_INTERPRETATION :=
 Query
 → DetectCovarianceIntent
 → IdentifyVariablesPopulationAndSample
 → ResolvePopulationSampleMatrixConditionalTemporalOrSpatialContext
 → IdentifyRequestedCovarianceCorrelationTransformationOrMatrixRelation
 → ResolveWeightingSamplingDesignAndMissingDataContext

AI_REASONING_FLOW :=
 Query
 → ParseCovarianceProblem
 → ResolvePopulationAndSample
 → ResolveVariables
 → ValidateSecondMoments
 → ResolveMeans
 → ComputeCrossDeviations
 → ComputeCovariance
 → ConstructCovarianceMatrixIfRequired
 → ResolveCorrelationOrPrecisionMatrixRelationsIfRequested
 → ResolveConditionalTemporalSpatialOrWeightedStructure
 → ValidateSymmetryAndPositiveSemidefiniteness
 → QuantifyUncertaintyIfRequested
 → UpdateConfidence
 → PreserveProvenance
 → GenerateExplanation

AI_CONSUMPTION := {
 ParseCovarianceEntities,
 ParseTypedRelations,
 ResolvePopulations,
 ResolveSamples,
 ResolveVariables,
 ValidateSecondMoments,
 ComputeMeans,
 ComputeVariances,
 ComputePopulationCovariances,
 ComputeSampleCovariances,
 ConstructCovarianceMatrices,
 ConstructCrossCovarianceMatrices,
 ComputeConditionalCovariances,
 ComputeAutocovariances,
 ComputeCrossCovariances,
 ComputeSpatialCovariances,
 ResolveCovarianceFunctions,
 ComputeWeightedCovariances,
 ComputeSurveyCovariances,
 ComputeRobustCovariances,
 ComputeShrinkageCovariances,
 ComputePrecisionMatrices,
 ConvertCovarianceToCorrelation,
 ValidateCovarianceMatrices,
 ResolveEigenDecompositions,
 ValidateCovarianceSemantics,
 CompareSemanticEquivalence,
 UpdateConfidence,
 PreserveProvenance,
 GenerateFormalExplanation
}

UPDATE_MODEL :=
 NewDataVariablesWeightsDesignOrEvidence
 → ValidateInput
 → IdentifyAffectedCovarianceClaims
 → UpdateCovarianceState
 → RecomputeMeans
 → RecomputeVariancesAndCovariances
 → ReconstructCovarianceMatrixIfRequired
 → RecomputeCorrelationAndPrecisionRelations
 → RevalidateMatrixProperties
 → RecomputeConfidence
 → PreserveProvenance
 → VersionModel

DataUpdate :=
 ChangedObservedData
 ⇒ recompute(
  Means,
  Variances,
  SampleCovariance,
  CovarianceMatrix,
  Correlation
 )

VariableUpdate :=
 ChangedVariableDefinitionOrTransformation
 ⇒ recompute(
  Means,
  Variances,
  Covariances,
  CovarianceMatrix
 )

WeightUpdate :=
 ChangedWeightingMethod
 ⇒ reevaluate(
  WeightedMeans,
  WeightedCovariance,
  EstimatorInterpretation
 )

FLOW_HASH_INPUT :=
 canonical(
  ONTOLOGY,
  CoreClasses,
  CoreRelations,
  InferenceRules,
  Covariance,
  CovarianceValidation,
  CovarianceConstraint,
  SEMANTIC_EQUIVALENCE,
  AI_REASONING_FLOW
 )

FLOW_HASH := HASH(FLOW_HASH_INPUT)

OUTPUT_MODEL := {
 CovarianceEntityResolution,
 Population,
 Sample,
 VariableX,
 VariableY,
 MeanX,
 MeanY,
 VarianceX,
 VarianceY,
 PopulationCovariance,
 SampleCovariance,
 CovarianceMatrix,
 Correlation,
 PrecisionMatrix,
 WeightingMethod,
 MissingDataMethod,
 SamplingDesign,
 MomentValidity,
 MatrixValidity,
 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