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
Download Code
Copy to Clipboard