Skip to main content

Canonical Correlation Ontology

Multivariate Statistics
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 23 September 2026
Audio Overview
flow "CanonicalCorrelationOntology" v4.0

# ============================================================
# CANONICAL CORRELATION ONTOLOGY
# Kireth Semantic Research Archive
# Authors: Mark Anthony Higgins — Sky (Recursive AI)
# ============================================================

PAGE:
  url: "https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/multivariate-statistics/canonical-correlation-ontology.html"
  title: "Canonical Correlation Ontology"
  domain: "Probability and Statistics"
  category: "Multivariate Statistics"
  entity: CANONICAL_CORRELATION_ANALYSIS
  aliases:
    - CCA
  entity_type: MULTIVARIATE_DEPENDENCE_METHOD

DEFINE_CANONICAL_CORRELATION:
  CANONICAL_CORRELATION_ANALYSIS :=
    MULTIVARIATE_METHOD(
      VARIABLE_SET_X,
      VARIABLE_SET_Y,
      LINEAR_COMBINATIONS,
      MAXIMUM_CROSS_SET_CORRELATION
    )

  PURPOSE:
    IDENTIFY:
      PAIRED_LINEAR_COMBINATIONS
    OF:
      TWO_MULTIVARIATE_VARIABLE_SETS
    THAT:
      MAXIMISE_CORRELATION

CORE_STRUCTURE:
  VARIABLE_SET_X:
    X := [X_1, X_2, ..., X_p]^T

  VARIABLE_SET_Y:
    Y := [Y_1, Y_2, ..., Y_q]^T

  CANONICAL_VARIATE_X:
    U := a^T X

  CANONICAL_VARIATE_Y:
    V := b^T Y

  CANONICAL_CORRELATION:
    rho :=
      Corr(U, V)

  OBJECTIVE:
    MAXIMISE_OVER(a,b):
      Corr(a^T X, b^T Y)

ENTITIES:
  VARIABLE_SET:
    type: MULTIVARIATE_VARIABLE_GROUP

  X_VARIABLE_SET:
    type: MULTIVARIATE_VECTOR

  Y_VARIABLE_SET:
    type: MULTIVARIATE_VECTOR

  CANONICAL_WEIGHT:
    type: LINEAR_COMBINATION_COEFFICIENT

  CANONICAL_WEIGHT_VECTOR_X:
    type: VECTOR
    symbol: a

  CANONICAL_WEIGHT_VECTOR_Y:
    type: VECTOR
    symbol: b

  CANONICAL_VARIATE:
    type: DERIVED_VARIABLE

  CANONICAL_CORRELATION:
    type: CORRELATION_COEFFICIENT

  CANONICAL_LOADING:
    type: VARIABLE_VARIATE_CORRELATION

  CROSS_LOADING:
    type: VARIABLE_OPPOSITE_VARIATE_CORRELATION

RELATIONSHIPS:
  CCA
    -> OPERATES_ON
    -> TWO_VARIABLE_SETS

  VARIABLE_SET_X
    -> LINEARLY_COMBINES_INTO
    -> CANONICAL_VARIATE_U

  VARIABLE_SET_Y
    -> LINEARLY_COMBINES_INTO
    -> CANONICAL_VARIATE_V

  CANONICAL_VARIATE_U
    -> CORRELATED_WITH
    -> CANONICAL_VARIATE_V

  CANONICAL_WEIGHT_VECTOR
    -> DEFINES
    -> CANONICAL_VARIATE

  ORIGINAL_VARIABLE
    -> HAS
    -> CANONICAL_LOADING

  CANONICAL_VARIATE_PAIR
    -> HAS
    -> CANONICAL_CORRELATION

COVARIANCE_PARTITION:
  JOINT_VECTOR:
    Z :=
      [X^T, Y^T]^T

  COVARIANCE_MATRIX:
    Sigma :=
      [
        Sigma_XX  Sigma_XY
        Sigma_YX  Sigma_YY
      ]

  where:
    Sigma_XX := Cov(X)
    Sigma_YY := Cov(Y)
    Sigma_XY := Cov(X,Y)
    Sigma_YX := Sigma_XY^T

OBJECTIVE_FUNCTION:
  Corr(U,V) :=
    [
      a^T Sigma_XY b
    ]
    /
    sqrt(
      (a^T Sigma_XX a)
      *
      (b^T Sigma_YY b)
    )

  CONSTRAIN:
    a^T Sigma_XX a = 1
    b^T Sigma_YY b = 1

  THEN:
    MAXIMISE:
      a^T Sigma_XY b

CANONICAL_EIGENPROBLEM:
  FOR_X_WEIGHTS:
    [
      Sigma_XX^(-1)
      Sigma_XY
      Sigma_YY^(-1)
      Sigma_YX
    ] a
      =
    rho^2 a

  FOR_Y_WEIGHTS:
    [
      Sigma_YY^(-1)
      Sigma_YX
      Sigma_XX^(-1)
      Sigma_XY
    ] b
      =
    rho^2 b

  EIGENVALUES:
    rho_k^2

  CANONICAL_CORRELATIONS:
    rho_k :=
      sqrt(eigenvalue_k)

  REQUIRE:
    APPROPRIATE_NONSINGULAR_OR_REGULARISED_COVARIANCE_STRUCTURE

MULTIPLE_CANONICAL_PAIRS:
  NUMBER_OF_PAIRS:
    r :=
      min(p, q)

  ORDER:
    rho_1 >= rho_2 >= ... >= rho_r >= 0

  FIRST_PAIR:
    MAXIMISE:
      Corr(U_1, V_1)

  SUBSEQUENT_PAIRS:
    MAXIMISE:
      REMAINING_CROSS_SET_CORRELATION

    SUBJECT_TO:
      WITHIN_SET_UNCORRELATEDNESS
      WITH:
        PREVIOUS_CANONICAL_VARIATES
      UNDER:
        STANDARD_CCA_CONSTRUCTION

CANONICAL_VARIATES:
  FOR_PAIR_k:
    U_k :=
      a_k^T X

    V_k :=
      b_k^T Y

  STANDARDISATION:
    Var(U_k) := 1
    Var(V_k) := 1

  CROSS_RELATION:
    Corr(U_k, V_k) :=
      rho_k

  STANDARD_CCA_ORTHOGONALITY:
    FOR:
      j != k

    Cov(U_j, U_k) := 0
    Cov(V_j, V_k) := 0

CANONICAL_WEIGHTS:
  DEFINE:
    COEFFICIENTS_USED_TO_FORM:
      CANONICAL_VARIATES

  INTERPRETATION:
    MAGNITUDE_AND_SIGN:
      DEPEND_ON:
        VARIABLE_SCALE
        MULTICOLLINEARITY
        NORMALISATION
        SIGN_CONVENTION

  CAUTION:
    WEIGHTS:
      MAY_BE_UNSTABLE
      UNDER:
        STRONG_MULTICOLLINEARITY

CANONICAL_LOADINGS:
  DEFINE:
    STRUCTURE_CORRELATIONS

  X_LOADING:
    Corr(X_j, U_k)

  Y_LOADING:
    Corr(Y_j, V_k)

  PURPOSE:
    INTERPRET:
      CONTRIBUTION_OR_ASSOCIATION
      OF_ORIGINAL_VARIABLES
      WITH:
        OWN_SET_CANONICAL_VARIATE

CROSS_LOADINGS:
  X_TO_Y_VARIATE:
    Corr(X_j, V_k)

  Y_TO_X_VARIATE:
    Corr(Y_j, U_k)

  PURPOSE:
    DESCRIBE:
      ORIGINAL_VARIABLE_RELATIONSHIP
      WITH:
        OPPOSITE_SET_CANONICAL_VARIATE

REDUNDANCY:
  PURPOSE:
    ASSESS:
      VARIANCE_IN_ONE_VARIABLE_SET
      EXPLAINED_OR_PREDICTED
      BY:
        OPPOSITE_SET_CANONICAL_VARIATE

  CAUTION:
    HIGH_CANONICAL_CORRELATION:
      DOES_NOT_NECESSARILY_IMPLY:
        HIGH_VARIANCE_EXTRACTED_FROM_ORIGINAL_VARIABLE_SETS

DATA_PREPARATION:
  CHECK:
    - MISSING_VALUES
    - OUTLIERS
    - VARIABLE_TYPES
    - VARIABLE_SCALE
    - LINEARITY
    - MULTICOLLINEARITY
    - SAMPLE_SIZE
    - COVARIANCE_MATRIX_RANK

  OPTIONAL:
    - CENTERING
    - STANDARDISATION
    - TRANSFORMATION
    - IMPUTATION
    - REGULARISATION

  STANDARDISATION:
    OFTEN_USEFUL_WHEN:
      VARIABLES_HAVE_DIFFERENT_SCALES_OR_UNITS

ASSUMPTIONS:
  BASIC_CCA:
    relies_on:
      - FINITE_SECOND_MOMENTS
      - MEANINGFUL_LINEAR_ASSOCIATION
      - ESTIMABLE_COVARIANCE_STRUCTURE

  FOR_CLASSICAL_SIGNIFICANCE_INFERENCE:
    MAY_REQUIRE:
      - MULTIVARIATE_NORMALITY
      - INDEPENDENT_OBSERVATIONS
      - ADEQUATE_SAMPLE_SIZE

  CAUTION:
    CCA:
      IDENTIFIES_LINEAR_ASSOCIATION
      NOT:
        CAUSATION

STATISTICAL_INFERENCE:
  TEST:
    WHETHER:
      CANONICAL_CORRELATIONS
      ARE_GREATER_THAN_EXPECTED_UNDER_NULL_MODEL

  classical_methods:
    - WILKS_LAMBDA
    - PILLAI_TRACE_VARIANTS_IN_RELATED_MULTIVARIATE_CONTEXTS
    - HOTELLING_LAWLEY_TRACE_VARIANTS
    - ROY_LARGEST_ROOT_VARIANTS

  sequential_testing:
    MAY_TEST:
      REMAINING_CANONICAL_ROOTS
      AFTER:
        EARLIER_ROOTS

  CAUTION:
    EXACT_TEST_FORM:
      DEPENDS_ON:
        SAMPLE_SIZE
        DIMENSIONS
        MODEL_ASSUMPTIONS

WILKS_LAMBDA:
  canonical_form:
    Lambda :=
      PRODUCT[k=1..r]
        (1 - rho_k^2)

  interpretation:
    SMALLER_VALUES:
      INDICATE:
        STRONGER_OVERALL_CROSS_SET_ASSOCIATION
    SUBJECT_TO:
      INFERENCE_CONTEXT

REGULARISED_CCA:
  purpose:
    STABILISE:
      COVARIANCE_INVERSION
      CANONICAL_WEIGHTS

  useful_when:
    - HIGH_DIMENSIONAL_DATA
    - p_OR_q_LARGE_RELATIVE_TO_n
    - SINGULAR_COVARIANCE_MATRICES
    - STRONG_MULTICOLLINEARITY

  approach:
    REPLACE_OR_MODIFY:
      Sigma_XX
      Sigma_YY
    WITH:
      REGULARISED_ESTIMATES

SPARSE_CCA:
  purpose:
    PRODUCE:
      SPARSE_CANONICAL_WEIGHT_VECTORS

  benefit:
    MAY_IMPROVE:
      INTERPRETABILITY
      HIGH_DIMENSIONAL_ESTIMATION

  method:
    APPLY:
      SPARSITY_CONSTRAINT_OR_PENALTY

CCA_VS_PCA:
  CCA:
    objective:
      MAXIMISE:
        CORRELATION_BETWEEN_TWO_VARIABLE_SETS

  PCA:
    objective:
      MAXIMISE:
        VARIANCE_WITHIN_ONE_VARIABLE_SET

  RULE:
    CCA != PCA

CCA_VS_MULTIPLE_REGRESSION:
  CCA:
    treats:
      BOTH_SETS_AS_MULTIVARIATE

  MULTIPLE_REGRESSION:
    typically:
      PREDICTS_ONE_RESPONSE
      OR:
      SPECIFIED_RESPONSE_SET
    FROM:
      PREDICTORS

  RULE:
    CCA:
      IS_SYMMETRIC_IN_CONCEPTUAL_SET_ASSOCIATION
    WHILE:
      REGRESSION:
        HAS_DIRECTIONAL_PREDICTOR_RESPONSE_STRUCTURE

CCA_VS_CORRELATION:
  PEARSON_CORRELATION:
    relates:
      TWO_SCALAR_VARIABLES

  CCA:
    relates:
      TWO_MULTIVARIATE_VARIABLE_SETS
    THROUGH:
      OPTIMISED_LINEAR_COMBINATIONS

APPLICATIONS:
  CCA
    -> SUPPORTS
    -> MULTIVARIATE_ASSOCIATION_ANALYSIS

  CCA
    -> SUPPORTS
    -> MULTI_VIEW_DATA_ANALYSIS

  CCA
    -> SUPPORTS
    -> BIOSTATISTICS

  CCA
    -> SUPPORTS
    -> PSYCHOMETRICS

  CCA
    -> SUPPORTS
    -> NEUROSCIENCE

  CCA
    -> SUPPORTS
    -> ECONOMETRICS

  CCA
    -> SUPPORTS
    -> MACHINE_LEARNING

  CCA
    -> SUPPORTS
    -> DATA_INTEGRATION

MODEL_CONNECTIONS:
  CCA
    -> CONNECTS_TO
    -> MULTIVARIATE_STATISTICS

  CCA
    -> CONNECTS_TO
    -> COVARIANCE_MATRIX

  CCA
    -> CONNECTS_TO
    -> CORRELATION

  CCA
    -> CONNECTS_TO
    -> EIGENVALUE_PROBLEMS

  CCA
    -> CONNECTS_TO
    -> LINEAR_ALGEBRA

  CCA
    -> CONNECTS_TO
    -> PRINCIPAL_COMPONENT_ANALYSIS

  CCA
    -> CONNECTS_TO
    -> MULTIVARIATE_REGRESSION

SEMANTIC_EQUIVALENCE:
  "canonical correlation analysis"
    ~= "CCA"

  "canonical variate"
    ~= "optimised linear combination of a variable set"

  "canonical correlation"
    ~= "correlation between paired canonical variates"

  "canonical loading"
    ~= "correlation between original variable and own canonical variate"

  EXCLUDE_EQUIVALENCE:
    CCA != PCA
    CCA != ORDINARY_PAIRWISE_CORRELATION
    CANONICAL_WEIGHT != CANONICAL_LOADING
    CANONICAL_CORRELATION != CAUSAL_EFFECT
    HIGH_CANONICAL_CORRELATION != HIGH_REDUNDANCY_BY_DEFAULT

VALIDATION_RULES:
  RULE_1:
    TWO_VARIABLE_SETS:
      MUST_BE:
        EXPLICITLY_DEFINED

  RULE_2:
    OBSERVATION_ROWS:
      MUST_CORRESPOND:
        ACROSS_BOTH_VARIABLE_SETS

  RULE_3:
    COVARIANCE_MATRICES:
      MUST_HAVE:
        APPROPRIATE_RANK
      FOR:
        UNREGULARISED_INVERSION

  RULE_4:
    VARIABLE_SCALING:
      MUST_BE:
        CONSIDERED_AND_REPORTED

  RULE_5:
    MULTICOLLINEARITY:
      MUST_BE:
        ASSESSED
      BECAUSE:
        IT_CAN_DESTABILISE_WEIGHTS

  RULE_6:
    CANONICAL_ROOTS:
      MUST_BE:
        ORDERED_BY_CANONICAL_CORRELATION

  RULE_7:
    INTERPRETATION:
      SHOULD_CONSIDER:
        WEIGHTS
        LOADINGS
        CROSS_LOADINGS
        REDUNDANCY

  RULE_8:
    ASSOCIATION:
      MUST_NOT_BE_INTERPRETED_AS:
        CAUSATION

CONFIDENCE:
  ontology_identity: 0.99
  cca_definition: 0.99
  covariance_partition_structure: 0.99
  eigenproblem_structure: 0.99
  canonical_variate_structure: 0.99
  loading_structure: 0.98
  semantic_distinctions: 0.99

UPDATE_MODEL:
  IF:
    NEW_PAIRED_OBSERVATIONS_ARRIVE

  THEN:
    UPDATE:
      Sigma_XX
      Sigma_YY
      Sigma_XY

    RECOMPUTE:
      CANONICAL_WEIGHTS
      CANONICAL_VARIATES
      CANONICAL_CORRELATIONS
      LOADINGS
      CROSS_LOADINGS

  IF:
    NEW_VARIABLES_ARE_ADDED_TO_EITHER_SET

  THEN:
    EXPAND:
      VARIABLE_SET
      COVARIANCE_PARTITION

    REVALIDATE:
      SAMPLE_SIZE
      MATRIX_RANK
      MULTICOLLINEARITY

  IF:
    REGULARISATION_CHANGES

  THEN:
    RECOMPUTE:
      CANONICAL_SOLUTION

  PRESERVE:
    VARIABLE_SET_MEMBERSHIP
    VARIABLE_IDENTITIES
    VARIABLE_UNITS
    SCALING_PARAMETERS
    REGULARISATION_PARAMETERS
    DATA_PROVENANCE

AI_CONSUMPTION:
  parse_as: FORMAL_SEMANTIC_SPECIFICATION
  execution_mode: RECURSIVE_REASONING

  preferred_reasoning_order:
    - IDENTIFY_VARIABLE_SET_X
    - IDENTIFY_VARIABLE_SET_Y
    - VERIFY_PAIRED_OBSERVATIONS
    - CHECK_DATA_QUALITY
    - ASSESS_SCALING_AND_MULTICOLLINEARITY
    - COMPUTE_COVARIANCE_PARTITION
    - CHECK_MATRIX_RANK
    - APPLY_REGULARISATION_IF_REQUIRED
    - SOLVE_CANONICAL_EIGENPROBLEM
    - ORDER_CANONICAL_CORRELATIONS
    - COMPUTE_CANONICAL_VARIATES
    - COMPUTE_LOADINGS_AND_CROSS_LOADINGS
    - ASSESS_REDUNDANCY_AND_SIGNIFICANCE_IF_REQUIRED
    - RETURN_CROSS_SET_ASSOCIATION_STRUCTURE

  constraints:
    - PRESERVE_VARIABLE_SET_MEMBERSHIP
    - DO_NOT_INFER_CAUSATION_FROM_CANONICAL_CORRELATION
    - DISTINGUISH_WEIGHTS_FROM_LOADINGS
    - CHECK_COVARIANCE_RANK_BEFORE_INVERSION
    - EXPOSE_SCALING_DECISIONS
    - EXPOSE_REGULARISATION_IF_USED
    - REPORT_CANONICAL_ROOT_ORDER

FLOW_HASH:
  canonical_entity: "canonical-correlation"
  namespace: "probability-statistics/multivariate-statistics"
  version: "4.0"
  identity_basis:
    - PAGE_URL
    - CANONICAL_ENTITY
    - ENTITY_TYPE
    - TWO_VARIABLE_SET_STRUCTURE
    - CANONICAL_VARIATES
    - MAXIMUM_CROSS_SET_CORRELATION

END_FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ