Skip to main content

Pearson 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 — PEARSON CORRELATION ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/correlation-regression/pearson-correlation-ontology.html
FLOW_VERSION := "4.0"
FLOW_TYPE := "Full Executable Flow Algebra"
DOMAIN := "Probability & Statistics Ontologies"
SUBDOMAIN := "Correlation & Regression"
ONTOLOGY := "Pearson Correlation Ontology"
PRIMARY_ENTITY := PearsonCorrelation
AUTHORSHIP := "Mark Higgins — Sky (Recursive AI)"
SOURCE_SITE := "https://kirethresearch.org"

BEGIN_FLOW

PearsonCorrelation :=
 StandardisedCovariance ∧ LinearAssociationMeasure
 ∧ SymmetricDependenceDescriptor ∧ DimensionlessStatistic

Population := TargetCollectionOrGeneratingProcess
Sample := {(X_i,Y_i)}_{i=1..n}
VariableX := X
VariableY := Y
MeanX := μ_X=E[X]
MeanY := μ_Y=E[Y]
VarianceX := σ_X²=Var(X)
VarianceY := σ_Y²=Var(Y)
StandardDeviationX := σ_X
StandardDeviationY := σ_Y

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

SamplePearsonCorrelation :=
 r=
 Σ_i(x_i-x_bar)(y_i-y_bar)
 /
 sqrt(
  Σ_i(x_i-x_bar)²
  Σ_i(y_i-y_bar)²
 )

SampleCovarianceRelation :=
 r=s_XY/(s_Xs_Y)

CorrelationRange := -1≤ρ≤1
SampleCorrelationRange := -1≤r≤1
PositivePearsonCorrelation := ρ>0
NegativePearsonCorrelation := ρ<0
ZeroPearsonCorrelation := ρ=0
PerfectPositivePearsonCorrelation := ρ=1
PerfectNegativePearsonCorrelation := ρ=-1
CorrelationMagnitude := |ρ|
CorrelationDirection := sign(ρ)

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

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

UndefinedPearsonCorrelation :=
 Var(X)=0 ∨ Var(Y)=0
 ⇒ PearsonCorrelationUndefined

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

ScalingRelation :=
 Corr(cX,dY)=sign(cd)Corr(X,Y)
 for c,d≠0

DimensionlessProperty :=
 Units(PearsonCorrelation)=1

CovarianceRelation :=
 Cov(X,Y)=ρσ_Xσ_Y

CauchySchwarzConstraint :=
 |Cov(X,Y)|≤σ_Xσ_Y
 ⇒ |ρ|≤1

PerfectLinearRelation :=
 |ρ|=1
 ⇒ Y=a+bX almost_surely
 for nondegenerate variables under finite-second-moment conditions

LinearAssociationTarget :=
 PearsonCorrelationMeasuresLinearAssociation

NonlinearDependenceConstraint :=
 StrongNonlinearDependence
 may coexist_with ρ≈0

IndependenceRelation :=
 Independence ∧ FiniteSecondMoments
 ⇒ ρ=0

ZeroCorrelationConstraint :=
 ρ=0 ↛ Independence
 in general

JointNormalRelation :=
 JointBivariateNormality ∧ ρ=0
 ⇒ Independence

PearsonDoesNotImplyCausation :=
 PearsonCorrelation↛CausalRelationship

ScatterplotRelation :=
 PairedData → Scatterplot → VisualLinearPatternAssessment

OutlierSensitivity :=
 ExtremeObservationsMayStronglyAlterPearsonCorrelation

RangeRestriction :=
 RestrictedRangeOfXOrY
 may attenuate observed r

MeasurementError :=
 NoiseInXOrY
 may attenuate observed correlation

AttenuationRelation :=
 ClassicalIndependentMeasurementError
 often reduces observed correlation magnitude

CorrectionForAttenuation :=
 r_corrected=r_observed/sqrt(ReliabilityX×ReliabilityY)
 under applicable assumptions

Confounding :=
 ThirdVariableMayGenerateOrAlterObservedCorrelation

SimpsonsParadox :=
 AggregateCorrelationMayDifferInSignOrMagnitudeFromConditionalCorrelations

SampleCorrelation :=
 RandomStatisticUnderRepeatedSampling

SamplingDistribution :=
 DistributionOf(r|ρ,n,model)

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

FisherZInverse :=
 r=tanh(z)

FisherZApproximation :=
 UnderBivariateNormalityAndAdequateN:
 z≈Normal(atanh(ρ),1/(n-3))

FisherZStandardError :=
 SE_z=1/sqrt(n-3)

FisherZConfidenceInterval :=
 z_hat±z_(1-α/2)/sqrt(n-3)
 → tanh endpoints

NullHypothesis :=
 H0:ρ=ρ0

ZeroCorrelationNull :=
 H0:ρ=0

AlternativeHypothesis := {
 H1:ρ≠0,
 H1:ρ>0,
 H1:ρ<0
}

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

PearsonTReference :=
 H0:ρ=0
 ∧ IIDBivariateNormalSample
 ⇒ t~t_(n-2)

PearsonPValue :=
 ObservedTStatistic ∧ AlternativeDirection
 → TailProbabilityUnderTReference

PearsonConfidenceInterval :=
 FisherZBasedInterval
 ∨ AlternativeValidIntervalProcedure

PearsonPower :=
 Alternativeρ ∧ n ∧ α
 → ProbabilityOfRejectingH0

SampleSizePlanning :=
 Targetρ ∧ α ∧ DesiredPower
 → RequiredSampleSize

CoefficientOfDeterminationRelation :=
 SimpleLinearRegressionWithIntercept
 ⇒ R²=r²

RegressionSlopeRelation :=
 b1=r(s_Y/s_X)

PearsonVsCovariance :=
 PearsonCorrelation=ScaleStandardisedCovariance

PearsonVsSpearman :=
 PearsonTargetsLinearAssociation
 whereas SpearmanTargetsMonotonicRankAssociation

PearsonVsKendall :=
 PearsonUsesRawValues
 whereas KendallUsesPairwiseConcordance

PartialPearsonCorrelation :=
 PearsonCorrelationBetweenResidualisedVariables
 after linear adjustment

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

CorrelationMatrix :=
 R=[r_jk]

PearsonCorrelationMatrix :=
 PairwisePearsonCorrelationsAcrossVariables

CorrelationMatrixValidity := {
 Symmetric,
 UnitDiagonal,
 PositiveSemidefinite,
 EntriesWithinMinusOneAndOne
}

WeightedPearsonCorrelation :=
 WeightedCovariance/
 sqrt(WeightedVarianceX×WeightedVarianceY)

SurveyPearsonCorrelation :=
 ComplexSamplingDesign
 → DesignAwarePearsonEstimateAndVariance

ClusteredPearsonCorrelation :=
 ClusterDependence
 → ClusterAwareUncertainty

MissingDataPearson :=
 MissingPairs
 → CompleteCasePairwiseOrModelBasedHandling

PairwiseCompleteCorrelation :=
 ComputeEachPairUsingRowsObservedForThatPair

ListwiseCompleteCorrelation :=
 ComputeUsingRowsCompleteAcrossSelectedVariables

MissingDataConstraint :=
 MissingnessMechanismMayBiasNaiveCompleteCaseCorrelation

RobustAlternative :=
 OutlierSensitivePearsonEstimate
 may be complemented_by robust association measure

BootstrapPearson :=
 ResamplePairedObservations
 → ComputeCorrelationReplicates
 → ApproximateSamplingDistribution

PermutationPearsonTest :=
 UnderExchangeabilityNull:
 PermuteOneVariable
 → RecomputeR
 → NullDistribution

MonteCarloPearsonValidation :=
 SimulateFromSpecifiedJointDistribution
 → ComputeRReplicates
 → AssessBiasVarianceCoverageAndPower

SmallSampleBias :=
 E[r] may differ_from ρ
 especially for large |ρ| and small n

Consistency :=
 r→ρ
 under suitable iid finite-moment conditions

AsymptoticNormality :=
 SuitableRegularity
 → TransformedOrStandardisedRApproximatelyNormal

PearsonCorrelationConstraint :=
 ConstraintOn(
  VariableX,VariableY,FiniteSecondMoments,NonzeroVariances,
  SamplingDesign,DependenceStructure,MissingDataMethod
 )

PearsonCorrelationConsistency :=
 Variables ∧ MeasurementScales ∧ MomentConditions
 ∧ SamplingDesign ∧ EstimationMethod
 jointly_compatible

InvalidPearsonCorrelation :=
 UndefinedVariable
 ∨ ZeroVarianceVariable
 ∨ UndefinedSecondMoment
 ∨ InvalidPairing
 ∨ IgnoredDependence
 ∨ InvalidMissingDataHandling
 ∨ UnsupportedCausalInterpretation

PearsonCorrelationValidation :=
 ResolvePopulationAndSample
 → ResolveVariableXAndVariableY
 → ValidatePairing
 → ValidateFiniteSecondMoments
 → ValidateNonzeroVariances
 → InspectLinearRelationshipAndOutliers
 → ComputeMeansAndCovariance
 → ComputePearsonCorrelation
 → QuantifySamplingUncertainty
 → ResolveHypothesisTestIfRequested
 → ValidateSamplingDesignAndMissingness
 → ValidateInterpretation
 → ValidateResult

PearsonCorrelationState := {
 Population,Sample,VariableX,VariableY,MeanX,MeanY,VarianceX,VarianceY,
 Covariance,PearsonCorrelationEstimate,CorrelationMagnitude,CorrelationDirection,
 SampleSize,FisherZ,ConfidenceInterval,TestStatistic,PValue,SamplingDesign,
 MissingDataMethod,OutlierStatus,Evidence,Confidence,Provenance
}

SEMANTIC_EQUIVALENCE(PearsonA,PearsonB) :=
 same(VariableSemantics)
 ∧ same(PopulationContext)
 ∧ same(Pairing)
 ∧ same(LinearTransformationsUpToSignAndScale)
 ∧ same(SamplingDesign)
 ∧ same(MissingDataFramework)

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

CoreClasses := {
 PearsonCorrelation,PopulationPearsonCorrelation,SamplePearsonCorrelation,
 PositivePearsonCorrelation,NegativePearsonCorrelation,ZeroPearsonCorrelation,
 PerfectPearsonCorrelation,Covariance,FisherZTransformation,
 PearsonCorrelationTest,PearsonConfidenceInterval,PearsonCorrelationMatrix,
 PartialPearsonCorrelation,WeightedPearsonCorrelation,Variable,Sample,Population
}

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

TypedRelations :=
 PearsonCorrelation --correlatesWith--> VariablePair
 SamplePearsonCorrelation --computedFrom--> Sample
 PearsonCorrelation --standardises--> Covariance
 PearsonCorrelation --hasMagnitude--> CorrelationMagnitude
 PearsonCorrelation --hasDirection--> CorrelationDirection
 PearsonCorrelation --transformedBy--> FisherZTransformation
 SamplePearsonCorrelation --hasSamplingDistribution--> SamplingDistribution
 PearsonCorrelation --testedBy--> PearsonCorrelationTest
 PearsonCorrelation --hasConfidenceInterval--> ConfidenceInterval
 PearsonCorrelation --affectedBy--> MeasurementError
 PartialPearsonCorrelation --adjustedFor--> ControlVariable
 PearsonCorrelation --representedBy--> PearsonCorrelationMatrix
 PearsonCorrelation --tracesTo--> Provenance

InferenceRules := {
 FiniteSecondMoments ∧ PositiveStandardDeviations
  ⇒ PearsonCorrelation=Covariance/(SD_X×SD_Y),

 Independence ∧ FiniteSecondMoments
  ⇒ PearsonCorrelation=0,

 PearsonCorrelation=0
  ↛ Independence,

 JointNormality ∧ PearsonCorrelation=0
  ⇒ Independence,

 PearsonCorrelation=1
  ⇒ PerfectPositiveLinearDependenceUnderNondegeneracy,

 PearsonCorrelation=-1
  ⇒ PerfectNegativeLinearDependenceUnderNondegeneracy,

 SimpleOLSWithIntercept
  ⇒ R²=SamplePearsonCorrelation²,

 UnsupportedCausalAssumptions
  ⇒ FlagCausalInterpretationInvalid
}

CanonicalPearsonCorrelationRepresentation :=
 ParsePearsonCorrelationRequest
 → ResolvePopulationSampleAndVariables
 → ValidatePairingAndMoments
 → ComputeMeansVariancesAndCovariance
 → ComputePearsonCorrelation
 → ResolveMagnitudeAndDirection
 → ApplyFisherZIfInferenceRequired
 → ComputeConfidenceIntervalAndPValueIfRequested
 → DiagnoseOutliersRangeRestrictionAndMeasurementError
 → ResolveSamplingDesignAndMissingness
 → ValidatePearsonCorrelation

PearsonCorrelationGraph := G=(V,E)

V := {
 PearsonCorrelations,PopulationPearsonCorrelations,SamplePearsonCorrelations,
 PositivePearsonCorrelations,NegativePearsonCorrelations,ZeroPearsonCorrelations,
 PerfectPearsonCorrelations,Covariances,FisherZTransformations,
 PearsonCorrelationTests,ConfidenceIntervals,PearsonCorrelationMatrices,
 PartialPearsonCorrelations,WeightedPearsonCorrelations,Variables,Samples,
 Populations,Evidence,ProvenanceNodes
}

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

CONFIDENCE(PearsonCorrelationResolution) :=
 weighted_mean(
  VariableResolution,PairingValidity,MomentValidity,VarianceValidity,
  SamplingDesignValidity,CorrelationCalculationValidity,UncertaintyResolution,
  MissingDataValidity,InterpretationValidity,ProvenanceQuality
 )

AI_QUERY_INTERPRETATION :=
 Query
 → DetectPearsonCorrelationIntent
 → IdentifyVariablesPopulationAndSample
 → ResolveCoefficientInferenceMatrixPartialOrRegressionRelation
 → IdentifyRequestedMagnitudeDirectionConfidenceIntervalOrPValue
 → ResolveSamplingDesignMissingnessAndOutlierContext

AI_REASONING_FLOW :=
 Query
 → ParsePearsonCorrelationProblem
 → ResolvePopulationAndSample
 → ResolveVariableXAndVariableY
 → ValidatePairing
 → ValidateSecondMomentsAndVariances
 → InspectLinearityAndOutliers
 → ComputeMeansAndCovariance
 → ComputePearsonCorrelation
 → ResolveDirectionAndMagnitude
 → ApplyFisherZTransformationIfRequired
 → ComputeConfidenceIntervalAndTestStatisticIfRequested
 → ComputePValueIfRequested
 → DiagnoseRangeRestrictionMeasurementErrorAndMissingness
 → ValidateSamplingDesign
 → ValidateNonCausalInterpretation
 → UpdateConfidence
 → PreserveProvenance
 → GenerateExplanation

AI_CONSUMPTION := {
 ParsePearsonCorrelationEntities,ParseTypedRelations,ResolvePopulations,
 ResolveSamples,ResolveVariables,ValidatePairing,ValidateSecondMoments,
 ComputeMeans,ComputeVariances,ComputeCovariances,ComputePearsonCorrelations,
 ComputeCorrelationMagnitudes,ResolveCorrelationDirections,
 ApplyFisherZTransformations,ComputePearsonConfidenceIntervals,
 ComputePearsonTestStatistics,ComputePearsonPValues,ComputePearsonPower,
 SolvePearsonSampleSizes,ConstructPearsonCorrelationMatrices,
 ValidateCorrelationMatrices,ComputePartialPearsonCorrelations,
 ComputeWeightedPearsonCorrelations,ResolveSurveyPearsonCorrelations,
 ExecuteBootstrapPearsonInference,ExecutePermutationPearsonTests,
 DiagnoseOutliers,DiagnoseRangeRestriction,DiagnoseMeasurementError,
 ResolveMissingDataMethods,ValidatePearsonCorrelationSemantics,
 CompareSemanticEquivalence,UpdateConfidence,PreserveProvenance,
 GenerateFormalExplanation
}

UPDATE_MODEL :=
 NewDataVariablesDesignOrEvidence
 → ValidateInput
 → IdentifyAffectedPearsonClaims
 → UpdatePearsonCorrelationState
 → RecomputeMeansVariancesAndCovariance
 → RecomputePearsonCorrelation
 → RecomputeFisherZAndUncertainty
 → RecomputeTestStatisticAndPValueIfRequired
 → RerunOutlierRangeAndMissingDataDiagnostics
 → RecomputeConfidence
 → PreserveProvenance
 → VersionModel

DataUpdate :=
 ChangedObservedData
 ⇒ recompute(
  Means,Variances,Covariance,PearsonCorrelationEstimate,
  FisherZ,ConfidenceInterval,TestStatistic,PValue
 )

VariableUpdate :=
 ChangedVariableDefinitionOrTransformation
 ⇒ recompute(
  Variance,Covariance,PearsonCorrelationEstimate,Direction,Interpretation
 )

DesignUpdate :=
 ChangedSamplingOrDependenceDesign
 ⇒ reevaluate(
  SamplingDistribution,StandardErrors,ConfidenceInterval,PValue
 )

FLOW_HASH_INPUT :=
 canonical(
  ONTOLOGY,
  CoreClasses,
  CoreRelations,
  InferenceRules,
  PearsonCorrelation,
  PearsonCorrelationValidation,
  PearsonCorrelationConstraint,
  SEMANTIC_EQUIVALENCE,
  AI_REASONING_FLOW
 )

FLOW_HASH := HASH(FLOW_HASH_INPUT)

OUTPUT_MODEL := {
 PearsonCorrelationEntityResolution,Population,Sample,VariableX,VariableY,
 MeanX,MeanY,VarianceX,VarianceY,Covariance,PearsonCorrelationEstimate,
 CorrelationMagnitude,CorrelationDirection,SampleSize,FisherZ,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