Skip to main content

Correlation 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 — CORRELATION ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/correlation-regression/correlation-ontology.html

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

BEGIN_FLOW

Correlation :=
 StatisticalAssociation
 ∧ StandardisedDependenceMeasure
 ∧ DirectionAndStrengthRepresentation
 ∧ VariableRelationshipDescriptor

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

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

PopulationCorrelation :=
 ρ_XY=Cov(X,Y)/(σ_Xσ_Y)

SampleCovariance :=
 s_XY=Σ_i(x_i-x_bar)(y_i-y_bar)/(n-1)

SampleCorrelation :=
 r_XY=
 Σ_i(x_i-x_bar)(y_i-y_bar)
 /
 sqrt(
  Σ_i(x_i-x_bar)^2
  Σ_i(y_i-y_bar)^2
 )

CorrelationRange :=
 -1≤ρ≤1

SampleCorrelationRange :=
 -1≤r≤1

PositiveCorrelation := ρ>0
NegativeCorrelation := ρ<0
ZeroCorrelation := ρ=0
PerfectPositiveCorrelation := ρ=1
PerfectNegativeCorrelation := ρ=-1

CorrelationMagnitude :=
 |ρ|

CorrelationDirection :=
 sign(ρ)

CorrelationSymmetry :=
 Corr(X,Y)=Corr(Y,X)

SelfCorrelation :=
 Corr(X,X)=1
 when Var(X)>0

UndefinedCorrelation :=
 Var(X)=0 ∨ Var(Y)=0
 ⇒ CorrelationUndefined

LinearCorrelation :=
 AssociationMeasureForLinearRelationship

PearsonCorrelation :=
 LinearStandardisedCovariance

PearsonCorrelationConstraint :=
 RequiresFiniteNonzeroVariances

ScaleInvariance :=
 Corr(a+bX,c+dY)
 =
 sign(bd)Corr(X,Y)
 for b,d≠0

LocationInvariance :=
 Corr(X+a,Y+c)=Corr(X,Y)

CorrelationDoesNotImplyCausation :=
 Correlation↛CausalRelationship

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

ZeroCorrelationConstraint :=
 ZeroCorrelation↛Independence
 in general

JointNormalRelation :=
 JointlyNormalVariables
 ∧ ZeroCorrelation
 ⇒ Independence

NonlinearDependence :=
 StrongDependence
 may have
 PearsonCorrelationNearZero

MonotonicAssociation :=
 RelationshipPreservingRankOrder
 without requiring linearity

SpearmanCorrelation :=
 Corr(Rank(X),Rank(Y))

SpearmanRange :=
 -1≤ρ_s≤1

SpearmanInterpretation :=
 StrengthAndDirectionOfMonotonicAssociation

KendallTau :=
 (ConcordantPairs-DiscordantPairs)
 /
 TotalComparablePairs
 under no-tie simplified form

ConcordantPair :=
 (x_i-x_j)(y_i-y_j)>0

DiscordantPair :=
 (x_i-x_j)(y_i-y_j)<0

RankCorrelation :=
 SpearmanCorrelation ∨ KendallTau

PointBiserialCorrelation :=
 PearsonCorrelationBetweenBinaryAndContinuousVariable
 under suitable coding

PhiCoefficient :=
 CorrelationForTwoBinaryVariables

PartialCorrelation :=
 CorrelationBetweenXAndY
 after linear adjustment
 for specified control variables

FirstOrderPartialCorrelation :=
 r_XY.Z=
 (r_XY-r_XZr_YZ)
 /
 sqrt((1-r_XZ²)(1-r_YZ²))

SemipartialCorrelation :=
 AssociationBetweenResidualisedOneVariableAndUnadjustedOtherVariable

MultipleCorrelation :=
 CorrelationBetweenObservedResponseAndItsLinearPredictionFromMultiplePredictors

CanonicalCorrelation :=
 MaximumLinearCorrelation
 between linear combinations
 of two variable sets

Autocorrelation :=
 Corr(Y_t,Y_(t-k))

LagKAutocorrelation :=
 ρ_k=Corr(Y_t,Y_(t-k))

CrossCorrelation :=
 Corr(X_t,Y_(t-k))

CorrelationMatrix :=
 R=[ρ_jk]

CorrelationMatrixProperties := {
 Symmetric,
 UnitDiagonal,
 PositiveSemidefinite
}

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

CorrelationToCovariance :=
 Σ=D^(1/2)RD^(1/2)

SampleCorrelationMatrix :=
 MatrixOfPairwiseSampleCorrelations

PositiveSemidefiniteConstraint :=
 a^TRa≥0
 for all vectors a

InvalidCorrelationMatrix :=
 NonSymmetric
 ∨ NonUnitDiagonal
 ∨ NotPositiveSemidefinite
 ∨ EntriesOutsideMinusOneToOne

Scatterplot :=
 VisualRepresentationOfPairedObservations

ScatterplotPattern :=
 Direction
 ∧ Form
 ∧ Strength
 ∧ Outliers

CorrelationVisualAssessment :=
 Scatterplot
 → DetectLinearOrMonotonicPattern
 → IdentifyOutliersAndClusters
 → ContextualiseCorrelation

OutlierSensitivity :=
 PearsonCorrelationMayChangeStronglyDueToExtremePoints

RestrictedRange :=
 LimitedVariableRange
 may attenuate observed correlation

MeasurementError :=
 NoiseInVariables
 may attenuate observed association

Attenuation :=
 ObservedCorrelationMagnitude
 reduced_by measurement error
 under classical conditions

CorrectionForAttenuation :=
 r_corrected=
 r_observed/
 sqrt(reliability_X×reliability_Y)
 under applicable assumptions

Confounding :=
 ThirdVariable
 influences both X and Y
 → ObservedCorrelationMayNotRepresentDirectRelationship

SimpsonsParadox :=
 AggregatedAssociationDirection
 may differ_from stratified association directions

EcologicalCorrelation :=
 AssociationComputedFromAggregateData

EcologicalFallacyConstraint :=
 AggregateCorrelation
 cannot automatically infer
 individual-level association

SampleCorrelationSamplingDistribution :=
 DistributionOf(r)
 under repeated sampling

FisherZTransformation :=
 z=0.5ln((1+r)/(1-r))

FisherZApproximation :=
 z
 approximately Normal(
  atanh(ρ),
  1/(n-3)
 )
 under bivariate-normal conditions

CorrelationStandardErrorZ :=
 1/sqrt(n-3)

CorrelationConfidenceInterval :=
 FisherZInterval
 → BackTransformWithTanh

CorrelationNullHypothesis :=
 H0:ρ=ρ0

ZeroCorrelationNull :=
 H0:ρ=0

CorrelationTStatistic :=
 t=
 r sqrt((n-2)/(1-r²))

CorrelationTReference :=
 UnderH0:ρ=0
 ∧ BivariateNormalIID
 ⇒ t~t_(n-2)

CorrelationPValue :=
 CorrelationTestStatistic
 ∧ ReferenceDistribution
 ∧ AlternativeDirection
 → PValue

CorrelationPower :=
 AlternativeCorrelation
 ∧ SampleSize
 ∧ Alpha
 → RejectionProbability

SampleSizeForCorrelation :=
 TargetCorrelation
 ∧ Alpha
 ∧ DesiredPower
 → RequiredN

CorrelationEffectSize :=
 ρ
 or r
 under population_or_sample context

CoefficientOfDeterminationRelation :=
 SimpleLinearRegressionWithIntercept
 ⇒ R²=r²

CorrelationRegressionRelation :=
 b1=r(s_Y/s_X)
 for simple OLS regression with intercept

CorrelationVsRegression :=
 CorrelationSymmetric
 whereas RegressionDirectional

CorrelationVsCovariance :=
 CorrelationDimensionless
 whereas CovarianceDependsOnMeasurementScale

CorrelationVsCausation :=
 AssociationEvidence
 ≠ CausalIdentification

WeightedCorrelation :=
 WeightedCovariance/
 sqrt(WeightedVarianceX×WeightedVarianceY)

SurveyCorrelation :=
 ComplexSamplingDesign
 → DesignAwareCorrelationAndVariance

ClusteredCorrelation :=
 ClusterDependence
 → ClusterAwareUncertainty

MissingDataCorrelation :=
 MissingPairs
 → CompleteCaseOrModelBasedHandling
 → CorrelationEstimate

PairwiseDeletion :=
 UseAvailablePairsPerVariablePair

ListwiseDeletion :=
 UseOnlyCompleteRowsAcrossSelectedVariables

MissingDataConstraint :=
 MissingnessMechanism
 affects validity_of naive correlation estimates

RobustCorrelation :=
 AssociationMeasureDesignedToReduceOutlierSensitivity

WinsorisedCorrelation :=
 CorrelationAfterLimitingExtremeValues

BiweightMidcorrelation :=
 RobustAssociationMeasure
 under specified implementation

DistanceCorrelation :=
 DependenceMeasure
 capable_of detecting nonlinear dependence

MutualInformationRelation :=
 MutualInformationMeasuresGeneralDependence
 but is not correlation coefficient

CorrelationThresholdConstraint :=
 LabelsSuchAsWeakModerateStrong
 are context-dependent
 and not universal mathematical categories

CorrelationReporting :=
 Report(
  CorrelationMetric,
  Estimate,
  SampleSize,
  ConfidenceInterval,
  PValueIfRelevant,
  VariableDefinitions,
  MissingDataHandling,
  Assumptions
 )

CorrelationConstraint :=
 ConstraintOn(
  VariableX,
  VariableY,
  MeasurementScale,
  Population,
  SamplingDesign,
  DependenceStructure,
  CorrelationMetric,
  MissingDataMethod
 )

CorrelationConsistency :=
 Variables
 ∧ Metric
 ∧ Scale
 ∧ Population
 ∧ SamplingDesign
 ∧ EstimationMethod
 jointly_compatible

InvalidCorrelation :=
 UndefinedVariable
 ∨ ZeroVarianceVariable
 ∨ InvalidMetricForDataType
 ∨ IgnoredDependence
 ∨ InvalidMissingDataHandling
 ∨ UnsupportedCausalInterpretation

CorrelationValidation :=
 ResolveScientificQuestion
 → ResolvePopulationAndSample
 → ResolveVariableXAndVariableY
 → ResolveMeasurementScales
 → InspectRelationshipForm
 → SelectCorrelationMetric
 → ComputeCorrelation
 → QuantifySamplingUncertainty
 → EvaluateOutliersAndMissingness
 → ValidateDependenceAndSamplingDesign
 → ValidateInterpretation
 → ValidateResult

CorrelationState := {
 Population,
 Sample,
 VariableX,
 VariableY,
 MeasurementScaleX,
 MeasurementScaleY,
 CorrelationMetric,
 Covariance,
 CorrelationEstimate,
 CorrelationMagnitude,
 CorrelationDirection,
 SampleSize,
 ConfidenceInterval,
 TestStatistic,
 PValue,
 SamplingDesign,
 MissingDataMethod,
 OutlierStatus,
 Evidence,
 Confidence,
 Provenance
}

SEMANTIC_EQUIVALENCE(CorrelationA,CorrelationB) :=
 same(VariableSemantics)
 ∧ same(PopulationContext)
 ∧ same(CorrelationMetric)
 ∧ same(MeasurementTransformationOrEquivalentInvariantForm)
 ∧ same(SamplingDesign)
 ∧ same(MissingDataFramework)

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

CoreClasses := {
 Correlation,
 PopulationCorrelation,
 SampleCorrelation,
 PearsonCorrelation,
 SpearmanCorrelation,
 KendallTau,
 PartialCorrelation,
 SemipartialCorrelation,
 MultipleCorrelation,
 CanonicalCorrelation,
 Autocorrelation,
 CrossCorrelation,
 CorrelationMatrix,
 CorrelationCoefficient,
 Covariance,
 FisherZTransformation,
 CorrelationConfidenceInterval,
 CorrelationTest,
 RobustCorrelation
}

CoreRelations := {
 correlatesWith,
 computedFrom,
 standardises,
 hasMagnitude,
 hasDirection,
 hasSamplingDistribution,
 transformedBy,
 adjustedFor,
 affectedBy,
 comparedWith,
 representedBy,
 constrainedBy,
 equivalentTo,
 tracesTo
}

TypedRelations :=
 Correlation --correlatesWith--> VariablePair
 Correlation --computedFrom--> Sample
 Correlation --standardises--> Covariance
 Correlation --hasMagnitude--> CorrelationMagnitude
 Correlation --hasDirection--> CorrelationDirection
 SampleCorrelation --hasSamplingDistribution--> SamplingDistribution
 Correlation --transformedBy--> FisherZTransformation
 PartialCorrelation --adjustedFor--> ControlVariable
 Correlation --affectedBy--> MeasurementError
 Correlation --comparedWith--> RegressionCoefficient
 Correlation --representedBy--> CorrelationMatrix
 Correlation --tracesTo--> Provenance

InferenceRules := {
 Covariance ∧ PositiveFiniteStandardDeviations
  ⇒ Correlation=Covariance/(SD_X×SD_Y),

 Independence ∧ FiniteSecondMoments
  ⇒ Correlation=0,

 Correlation=0
  ↛ Independence,

 JointNormality ∧ Correlation=0
  ⇒ Independence,

 Correlation=1
  ⇒ PerfectPositiveLinearRelationship
  under nondegenerate variables,

 Correlation=-1
  ⇒ PerfectNegativeLinearRelationship
  under nondegenerate variables,

 SimpleOLSWithIntercept
  ⇒ R²=SampleCorrelation²,

 UnsupportedCausalAssumptions
  ⇒ FlagCausalInterpretationInvalid
}

CanonicalCorrelationRepresentation :=
 ParseCorrelationRequest
 → ResolvePopulationSampleAndVariables
 → ResolveMeasurementScales
 → InspectRelationshipForm
 → SelectPearsonSpearmanKendallPartialOrOtherMetric
 → ComputeCovarianceIfRequired
 → ComputeCorrelationCoefficient
 → ResolveMagnitudeAndDirection
 → ComputeSamplingUncertainty
 → ResolveConfidenceIntervalAndPValueIfRequested
 → DiagnoseOutliersRangeRestrictionAndMissingness
 → ValidateSamplingDesignAndInterpretation
 → ValidateCorrelation

CorrelationGraph := G=(V,E)

V := {
 Correlations,
 PopulationCorrelations,
 SampleCorrelations,
 PearsonCorrelations,
 SpearmanCorrelations,
 KendallTaus,
 PartialCorrelations,
 SemipartialCorrelations,
 MultipleCorrelations,
 CanonicalCorrelations,
 Autocorrelations,
 CrossCorrelations,
 CorrelationMatrices,
 Covariances,
 FisherZTransformations,
 ConfidenceIntervals,
 CorrelationTests,
 RobustCorrelations,
 Variables,
 Samples,
 Populations,
 Evidence,
 ProvenanceNodes
}

E := {
 correlatesWith,
 computedFrom,
 standardises,
 hasMagnitude,
 hasDirection,
 hasSamplingDistribution,
 transformedBy,
 adjustedFor,
 affectedBy,
 comparedWith,
 representedBy,
 constrainedBy,
 equivalentTo,
 tracesTo
}

CONFIDENCE(CorrelationResolution) :=
 weighted_mean(
  VariableResolution,
  MeasurementScaleValidity,
  MetricValidity,
  SampleResolution,
  SamplingDesignValidity,
  UncertaintyResolution,
  MissingDataValidity,
  InterpretationValidity,
  ProvenanceQuality
 )

AI_QUERY_INTERPRETATION :=
 Query
 → DetectCorrelationIntent
 → IdentifyVariablesPopulationAndSample
 → ResolveLinearMonotonicPartialTemporalOrMatrixContext
 → IdentifyRequestedCoefficientDirectionMagnitudeInferenceOrComparison
 → ResolveSamplingDesignAndMissingDataContext

AI_REASONING_FLOW :=
 Query
 → ParseCorrelationProblem
 → ResolvePopulationAndSample
 → ResolveVariableXAndVariableY
 → ResolveMeasurementScales
 → InspectRelationshipForm
 → SelectCorrelationMetric
 → ComputeCovarianceIfRequired
 → ComputeCorrelation
 → ResolveDirectionAndMagnitude
 → QuantifySamplingUncertainty
 → ComputeConfidenceIntervalOrPValueIfRequested
 → DiagnoseOutliersRestrictedRangeAndMissingness
 → ValidateSamplingDesign
 → ValidateNonCausalInterpretation
 → UpdateConfidence
 → PreserveProvenance
 → GenerateExplanation

AI_CONSUMPTION := {
 ParseCorrelationEntities,
 ParseTypedRelations,
 ResolvePopulations,
 ResolveSamples,
 ResolveVariables,
 ResolveMeasurementScales,
 ComputeCovariances,
 ComputePearsonCorrelations,
 ComputeSpearmanCorrelations,
 ComputeKendallTau,
 ComputePartialCorrelations,
 ComputeSemipartialCorrelations,
 ComputeAutocorrelations,
 ComputeCrossCorrelations,
 ConstructCorrelationMatrices,
 ValidateCorrelationMatrices,
 ApplyFisherZTransformations,
 ComputeCorrelationConfidenceIntervals,
 ComputeCorrelationTestStatistics,
 ComputeCorrelationPValues,
 ComputeCorrelationPower,
 DiagnoseOutliers,
 DiagnoseRangeRestriction,
 DiagnoseMeasurementError,
 ResolveMissingDataMethods,
 ComputeRobustCorrelations,
 ValidateCorrelationSemantics,
 CompareSemanticEquivalence,
 UpdateConfidence,
 PreserveProvenance,
 GenerateFormalExplanation
}

UPDATE_MODEL :=
 NewDataVariablesMetricDesignOrEvidence
 → ValidateInput
 → IdentifyAffectedCorrelationClaims
 → UpdateCorrelationState
 → RecomputeCovariance
 → RecomputeCorrelation
 → RecomputeMagnitudeAndDirection
 → RecomputeSamplingUncertainty
 → RecomputeConfidenceIntervalAndPValueIfRequired
 → RerunOutlierAndMissingDataDiagnostics
 → RecomputeConfidence
 → PreserveProvenance
 → VersionModel

DataUpdate :=
 ChangedObservedData
 ⇒ recompute(
  Covariance,
  CorrelationEstimate,
  ConfidenceInterval,
  TestStatistic,
  PValue
 )

MetricUpdate :=
 ChangedCorrelationMetric
 ⇒ reevaluate(
  RelationshipTarget,
  Assumptions,
  CorrelationEstimate,
  SemanticEquivalence
 )

VariableUpdate :=
 ChangedVariableDefinitionOrTransformation
 ⇒ recompute(
  MeasurementScale,
  CorrelationEstimate,
  Direction,
  Interpretation
 )

FLOW_HASH_INPUT :=
 canonical(
  ONTOLOGY,
  CoreClasses,
  CoreRelations,
  InferenceRules,
  Correlation,
  CorrelationValidation,
  CorrelationConstraint,
  SEMANTIC_EQUIVALENCE,
  AI_REASONING_FLOW
 )

FLOW_HASH := HASH(FLOW_HASH_INPUT)

OUTPUT_MODEL := {
 CorrelationEntityResolution,
 Population,
 Sample,
 VariableX,
 VariableY,
 MeasurementScaleX,
 MeasurementScaleY,
 CorrelationMetric,
 Covariance,
 CorrelationEstimate,
 CorrelationMagnitude,
 CorrelationDirection,
 SampleSize,
 ConfidenceInterval,
 TestStatistic,
 PValue,
 SamplingDesign,
 MissingDataMethod,
 OutlierStatus,
 InterpretationStatus,
 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