2024-02-06

`

ANÁLISIS DE CORRELACIÓN CANÓNICA (CCA)

Es una técnica estadística avanzada utilizada para explorar y entender las relaciones lineales entre dos conjuntos de variables. Este método se aplica en situaciones donde se busca comprender la asociación simultánea entre múltiples variables en diferentes dominios.

 

Definición: En esencia, la CCA busca revelar patrones de asociación detallados entre los conjuntos de variables, proporcionando una visión profunda de cómo las variables de un conjunto se relacionan con las del otro. Esta técnica se aplica en diversos campos, como psicología, biología, economía y ciencias sociales, para desentrañar conexiones complejas entre múltiples tipos de datos.

Descripción del ejercicio

Se consideran n = 25 familias, de las cuales las variables a considerar son las siguientes:

  • X1 = long. cabeza primer hijo
  • X2 = anchura cabeza primer hijo
  • Y1 = long. cabeza segundo hijo
  • Y2 = anchura cabeza segundo hijo.
X1 X2 Y1 Y2
191 155 179 145
195 149 201 152
181 148 185 149
183 153 188 149
176 144 171 142

Efectuando un análisis para estudiar el grado de correlación de la matriz X (dos primeras columnas) vienen a estar dadas en relación al primer hijo, con la matriz Y (tercera y cuarta columna) vienen a estar dadas por el segundo hijo.

Hacemos un pequeño análisis descriptivo de los datos.

 

summary(data1)
##        X1              X2              Y1              Y2       
##  Min.   :163.0   Min.   :137.0   Min.   :161.0   Min.   :130.0  
##  1st Qu.:181.0   1st Qu.:147.0   1st Qu.:178.0   1st Qu.:147.0  
##  Median :189.0   Median :153.0   Median :185.0   Median :150.0  
##  Mean   :187.4   Mean   :151.1   Mean   :183.3   Mean   :149.4  
##  3rd Qu.:195.0   3rd Qu.:155.0   3rd Qu.:189.0   3rd Qu.:152.0  
##  Max.   :208.0   Max.   :167.0   Max.   :201.0   Max.   :159.0

Calculamos las matrices de covarianzas

Usando la función cov(x), que nos indica la covarianza de la matriz x

Sxx <- cov(x)
Sxx
##           X1       X2
## X1 102.83333 59.61667
## X2  59.61667 51.86000
Syy <- cov(y)
Syy
##          Y1       Y2
## Y1 97.97667 51.71333
## Y2 51.71333 46.24000
Sxy <- cov(x,y)
Sxy
##          Y1       Y2
## X1 70.32500 52.68333
## X2 44.25167 40.20500
Syx <- cov(y,x)
Syx
##          X1       X2
## Y1 70.32500 44.25167
## Y2 52.68333 40.20500

Las matrices de correlación

mat_cor  <-matcor(x,y)
mat_cor 
## $Xcor
##           X1        X2
## X1 1.0000000 0.8163652
## X2 0.8163652 1.0000000
## 
## $Ycor
##           Y1        Y2
## Y1 1.0000000 0.7683026
## Y2 0.7683026 1.0000000
## 
## $XYcor
##           X1        X2        Y1        Y2
## X1 1.0000000 0.8163652 0.7006183 0.7640071
## X2 0.8163652 1.0000000 0.6208005 0.8210222
## Y1 0.7006183 0.6208005 1.0000000 0.7683026
## Y2 0.7640071 0.8210222 0.7683026 1.0000000
mat_cor$XYcor
##           X1        X2        Y1        Y2
## X1 1.0000000 0.8163652 0.7006183 0.7640071
## X2 0.8163652 1.0000000 0.6208005 0.8210222
## Y1 0.7006183 0.6208005 1.0000000 0.7683026
## Y2 0.7640071 0.8210222 0.7683026 1.0000000

Se pueden calcular por medio de la función matcor(), de la librería CCA como por ejemplo: $Xcor que nos indica la matriz de correlación de X

Gráfico de la matriz de correlacion

Valores propios:

### Encontramos los valores propios de cualquiera de las matrices cuadradas A y B
A <- solve(Sxx)%*%Sxy%*%solve(Syy)%*%Syx
B <- solve(Syy)%*%Syx%*%solve(Sxx)%*%Sxy

Multiplicación de las matrices - solve(Sxx): Calcula la inversa de la matriz Sxx. - Sxy: Representa la matriz Sxy. - solve(Syy): Calcula la inversa de la matriz Syy. - Syx: Representa la matriz Syx.

Valores_A <- eigen(A)$values
Valores_A 
## [1] 0.7032109 0.1059973

Correlaciones canónicas

r <- sqrt(Valores_A)
r
## [1] 0.8385767 0.3255722

Vectores canónicos:

Encontramos los vectores propios de cada matriz cuadrada A y B

Por lo tanto, los primeros vectores canónicos son:

a_1can
## [1] -0.03755443 -0.09229038
b_1can
## [1] -0.01015358 -0.12694412

Finalmente, podemos construir las variables canónicas: * U1=-0.0376 longitud de cabeza del 1er hijo -0.0923 anchura de cabeza del 1er hijo * V1=-0.01 longitud de cabeza del 2do hijo -0.127 anchura de cabeza del 2do hijo

Gráfica de correlación de la longitud y anchura de la cabeza del primer hijo

Gráfica de correlación de la longitud y anchura de la cabeza del segundo hijo

Determina la correlacion entre las variables

El análisis de correlación canónica.

## Con ayuda de la función cc(), también de la librería CCA, podemos desarrollar 

cc1 <- cc(x,y)
## Las correlaciones canónicas son:
cc1$cor
## [1] 0.8385767 0.3255722
0.83857 indica que hay correlaciones entre el primer hijo y el segundo hijo
## Los vectores canónicos son:
cc1[3:4]
## $xcoef
##           [,1]       [,2]
## X1 -0.03755443 -0.1665663
## X2 -0.09229038  0.2220210
## 
## $ycoef
##           [,1]       [,2]
## Y1 -0.01077149 -0.1574657
## Y2 -0.13466947  0.1861408

 

El aumento de una unidad de la variable X1, conduce a una disminución de 0.0376 en la primera variable canónica del conjunto 1, cuando todas las demás permanecen constantes.

Exploremos la correlación canónica

Interpretación: - Las variables longitud de cabeza del primer hijo y la longitud de cabeza del segundo hijo tienen una correlacion de forma positiva con 0.7006

  • Las variables anchura de la cabeza del primer hijo y la anchura de la cabeza del segundo hijo tienen una correlacion de forma positiva con 0.8210