Análisis de Componentes Principales por ligas

Contexto

Tenemos los siguientes datos:

para las Naciones tenemos la siguiente distribucion:

Warning in plot_theme(plot): The `legend.Nationition` theme element is not
defined in the element hierarchy.


    Chi-squared test for given probabilities

data:  tablechi
X-squared = 2382.2, df = 9, p-value < 2.2e-16

Se realizo prueba chi cuadrado para verificar diferencias significativas las frecuencias, de naciones, con un valor p menor que 0.05, lo que indica que existen diferencias.

Tratamiento de datos

Aqui voooy

Analisis de Componentes principales Defensa

Realizamos entonces un analisis para las variables de defensa por liga:

Realizamos el analisis de componentes principales para establecer la relacion entre la liga y las distintas variables

pca_result
Standard deviations (1, .., p=12):
 [1] 1.6428578 1.5073065 1.1931965 0.9915229 0.9722884 0.9133751 0.8627550
 [8] 0.8207660 0.6980548 0.6405305 0.6203719 0.3770769

Rotation (n x k) = (12 x 12):
                  PC1          PC2          PC3          PC4          PC5
Age        0.15715681 -0.007481172 -0.460070467  0.503974975  0.026277787
MP         0.03790781 -0.149770526 -0.632347826  0.011264726 -0.205327743
SCA       -0.29524629 -0.447252848  0.046335534  0.076452145  0.107085061
PPA       -0.23712148 -0.304518122  0.079522568  0.563466528 -0.008671624
ToTkl     -0.21866801 -0.212954625  0.331336032  0.006708975 -0.347945021
Shots     -0.18919642 -0.390248598  0.002590654 -0.466512326  0.005165402
ShoDist   -0.20412095 -0.280660779 -0.472383044 -0.332717780 -0.139194514
GCA       -0.14294082 -0.336177659  0.047834962  0.157606429  0.609851168
Tkl       -0.49392461  0.311878017 -0.079830381  0.008538741  0.075541577
TklDri    -0.39090284  0.300290929 -0.148155078  0.024107669  0.232837693
TklAtt3rd -0.29649885  0.016855699  0.089145974  0.251685677 -0.606093479
TklWon    -0.44730441  0.328009509 -0.092230952 -0.072961870  0.077151690
                  PC6          PC7         PC8         PC9        PC10
Age       -0.40632696 -0.500899226 -0.26469406 -0.08348270  0.11487062
MP         0.38501642  0.272338889 -0.20370552  0.48747758 -0.17709134
SCA       -0.15122970 -0.111553403  0.10511985  0.24194490 -0.06258351
PPA        0.20738823 -0.019979657  0.56933847  0.06719645 -0.01207276
ToTkl      0.45797431 -0.452700277 -0.48732684 -0.03380697  0.13220135
Shots     -0.45612280 -0.194414417 -0.02343518  0.24544235 -0.25788648
ShoDist    0.11425498 -0.015504632  0.22523046 -0.61247216  0.29169702
GCA        0.02885983  0.408817272 -0.47234514 -0.18969855  0.12524282
Tkl       -0.01872519 -0.011570084 -0.02122173  0.12281454  0.17592231
TklDri     0.17472032 -0.197434800 -0.04257093 -0.26704414 -0.70312806
TklAtt3rd -0.38806911  0.461284465 -0.19764726 -0.20443542 -0.15377711
TklWon    -0.08734662 -0.009162959  0.00649642  0.30275598  0.46651933
                  PC11         PC12
Age        0.050751144  0.009734109
MP         0.031494319  0.009589495
SCA       -0.763824095 -0.033005338
PPA        0.393218796 -0.017636853
ToTkl      0.068911752 -0.020147446
Shots      0.468388641  0.041401930
ShoDist   -0.045127188 -0.008548299
GCA        0.156288950 -0.018280289
Tkl        0.008409741  0.774325900
TklDri    -0.028358146 -0.206034070
TklAtt3rd -0.016469573 -0.070741886
TklWon     0.081477340 -0.590635712
pca_result$rotation[,1:2]
                  PC1          PC2
Age        0.15715681 -0.007481172
MP         0.03790781 -0.149770526
SCA       -0.29524629 -0.447252848
PPA       -0.23712148 -0.304518122
ToTkl     -0.21866801 -0.212954625
Shots     -0.18919642 -0.390248598
ShoDist   -0.20412095 -0.280660779
GCA       -0.14294082 -0.336177659
Tkl       -0.49392461  0.311878017
TklDri    -0.39090284  0.300290929
TklAtt3rd -0.29649885  0.016855699
TklWon    -0.44730441  0.328009509
datatable(
  pca_result$rotation[,1:2],
  rownames = FALSE,
  extensions = c("Buttons", "Scroller"),
  options = list(
    scrollX = TRUE,
    scrollY = "500px",
    scroller = TRUE,
    dom = "Bfrtip",
    buttons = c("copy", "csv", "excel")
  )
)
prop_varianza <- pca_result$sdev^2 / sum(pca_result$sdev^2)

ggplot(data = data.frame(prop_varianza, pc = 1:length(prop_varianza)),
       aes(x = pc, y = prop_varianza)) +
  geom_col(width = 0.3) +
  scale_y_continuous(limits = c(0,1)) +
  theme_bw() +
  labs(x = "Componente principal",
       y = "Prop. de varianza explicada")

Mostramos a continucaion la matriz rotación, que nos indica cuánto contribuye cada variable original a cada componente principal. Los valores (cargas) varían de -1 a 1, donde valores absolutos más grandes indican una mayor contribución de la variable al componente. Para la dimension 1 vemos las tres mayores cargas negativas en Tkl, TklWon y TklAtt3rd,lo que indica que esta nos habla de exito en variables asociadas a acciones defensivas.

Para la dimension 2 vemos las tres mayores cargas psotivas en, TklWon,Tkl y TklDri,lo que indica que esta nos habla de exito en variables asociadas a acciones ofensivas.

pca_result$rotation[,1:2]
                  PC1          PC2
Age        0.15715681 -0.007481172
MP         0.03790781 -0.149770526
SCA       -0.29524629 -0.447252848
PPA       -0.23712148 -0.304518122
ToTkl     -0.21866801 -0.212954625
Shots     -0.18919642 -0.390248598
ShoDist   -0.20412095 -0.280660779
GCA       -0.14294082 -0.336177659
Tkl       -0.49392461  0.311878017
TklDri    -0.39090284  0.300290929
TklAtt3rd -0.29649885  0.016855699
TklWon    -0.44730441  0.328009509
summary(brand.mu.pc)
Importance of components:
                          PC1    PC2    PC3    PC4       PC5
Standard deviation     1.9984 1.6515 1.4101 1.1361 2.017e-16
Proportion of Variance 0.3993 0.2727 0.1988 0.1291 0.000e+00
Cumulative Proportion  0.3993 0.6721 0.8709 1.0000 1.000e+00

la grafica “brand.pc” a partir de los valores obtenidos en las dimensiones PC, representa la varianza explicada acumulada por las componentes principales, ordenadas de mayor a menor varianza.

par(mar=c(1,1,1,1))
plot(brand.pc , type="l")

Grafico PCA for player position

El diagrama de dispersión muestra cómo se distribuyen los distintos tipos de jugadores (coloreados por su nacion) según dos componentes principales.

  1. Eje X (PC1): Defensa

    Vemos que la mayoria de puntos se ubican en valores cercanos al 0, tambien se preenta una concentracion importante de puntos en los cuadrantes II y III, lo que indica que la mayoria de ligas presentan poca probabilidad de exito en desenfa.

    Eje Y (PC2): Ataque:

    En la parte superior (valores altos de PC2) encontramos un punto en la liga de brasil, es decir que tenemos un jugador con baja probabilidad de defensa exitosa, pero alta de ataque, vemos que en esta misma liga se presenta el peor de los escenarios, bajo ataque y baja defensa, sus puntos estan mas dispersos que otras ligas, por tanto no es adecuado dar un comportamiento especifico a esta liga.

pca_Nation

Grafico de Player position

Tenemos que , PC1(39,9%) y PC2(27,27%) explican el 67.17 de la varianza. Esto significa que el 32.83% de la información está en los otros componentes (PC3 a PC12). Por lo tanto, el grafico simplifica algunas relaciones entre las variables, de la data suministrada.

Vemos que la liga inglesa se relaciona con las variables MP, PPA, Shots, con alta efectividad en ataque aunque defensa negativa

En españa la edad se asocia con la efectividad en defensa, la liga italiana se muestra como la que tiene mejores resultados en defensa y ataque para las variables SCA y Shotdist

par(mar=c(1,1,1,1))
biplot(brand.mu.pc , main="Lagues vs defensive variables" , cex=c(0.55 , 0.55))

Gráfico de Variables PCA

Explica nuevamente, por medio de los cosenos cuadrados de las variables en los componentes, cuáles aportan más de forma negativa o positiva.

Buscamos los vectores de mayor longitud y observamos que hay dos grupos de colores:

  • Azul oscuro: Los vectores más largos se encuentran en el cuadrante III, lo que indica que las variables defensivas están marcadas por un bajo rendimiento tanto en ataque como en defensa al mismo tiempo.

  • Azul claro: A excepción de la flecha clara de alta longitud que se observa en el cuadrante III, la mayoría de este tono se encuentran en el cuadrante II, indicando que las variables de ataque están marcadas por un buen desempeño en ataque, pero no en defensa.

par(mar=c(1,1,1,1))

fviz_pca_var(pca_result, col.var = "cos2", 
             geom.var = "arrow", 
             labelsize = 2, 
             repel = FALSE)

Analisis de Componentes principales ataque

Realizamos el analisis para variables de ataque:

[1] 33 36 40 55 87
Importance of components:
                          PC1    PC2    PC3     PC4       PC5
Standard deviation     2.2706 1.3232 0.8955 0.54008 1.293e-16
Proportion of Variance 0.6445 0.2188 0.1002 0.03646 0.000e+00
Cumulative Proportion  0.6445 0.8633 0.9635 1.00000 1.000e+00

                  PC1         PC2
Age        0.12539632 -0.08196880
MP         0.04083354 -0.23124255
TouAtt3rd -0.37426528 -0.16256980
Car3rd    -0.28918405  0.13091376
CarProg   -0.33225743  0.13022716
ToAtt     -0.36293485  0.33841703
TouDef3rd  0.28063215  0.53378086
RecProg   -0.35630765 -0.08982440
ToSuc     -0.29522048  0.35844602
ToTkl     -0.30292342  0.22870403
CPA       -0.25416195 -0.06686842
TouDefPen  0.25993116  0.53526120

Mostramos a continucaion la matriz rotación, que nos indica cuánto contribuye cada variable original a cada componente principal. Los valores (cargas) varían de -1 a 1, donde valores absolutos más grandes indican una mayor contribución de la variable al componente. Para la dimension 1 vemos las tres mayores cargas negativas en TouAtt3rd, ToAtt, RecProg,lo que indica que esta nos habla de exito en variables asociadas a acciones defensivas.

Para la dimension 2 vemos las tres mayores cargas psotivas en, TouDef3rd, TouDefPen, ToSuc, lo que indica que esta nos habla de exito en variables asociadas a acciones ofensivas.

pca_result1$rotation[,1:2]
                  PC1         PC2
Age        0.12539632 -0.08196880
MP         0.04083354 -0.23124255
TouAtt3rd -0.37426528 -0.16256980
Car3rd    -0.28918405  0.13091376
CarProg   -0.33225743  0.13022716
ToAtt     -0.36293485  0.33841703
TouDef3rd  0.28063215  0.53378086
RecProg   -0.35630765 -0.08982440
ToSuc     -0.29522048  0.35844602
ToTkl     -0.30292342  0.22870403
CPA       -0.25416195 -0.06686842
TouDefPen  0.25993116  0.53526120
summary(brand.mu.pc1)
Importance of components:
                          PC1    PC2    PC3     PC4       PC5
Standard deviation     2.2706 1.3232 0.8955 0.54008 1.293e-16
Proportion of Variance 0.6445 0.2188 0.1002 0.03646 0.000e+00
Cumulative Proportion  0.6445 0.8633 0.9635 1.00000 1.000e+00

Grafico de Player position

Tenemos que , PC1(64,45%) y PC2(21,88%) explican el 86.33 de la varianza. Esto significa que el 13.67% de la información está en los otros componentes (PC3 a PC12). Por lo tanto, el grafico simplifica algunas relaciones entre las variables, de la data suministrada.

Vemos que la liga inglesa se relaciona con las variables MP, PPA, Shots, con alta efectividad en ataque aunque defensa negativa

En Francia ToAtt y CarProg se asocia con la efectividad en defensa, la inglesa se encuentra cercana a MP como la que tiene mejores resultados en defensa y ataque.

par(mar=c(1,1,1,1)) 
biplot(brand.mu.pc1 , main="Lagues vs offensive variables" , cex=c(0.55 , 0.55)) 

Grafico PCA for player position

El diagrama de dispersión muestra cómo se distribuyen los distintos tipos de jugadores (coloreados por su nacion) según dos componentes principales.

  1. Eje X (PC1): Defensa

    Vemos que la mayoria de puntos se ubican en valores cercanos al 0, en defensa, tambien se preenta una concentracion importante de puntos en los cuadrantes II y III, lo que indica que la mayoria de ligas presentan poca probabilidad de exito en desenfa.

    Eje Y (PC2): Ataque:

    En la parte superior (valores altos de PC2) encontramos un punto en la liga de Holanda, es decir que tenemos un jugador con baja probabilidad de defensa exitosa, pero alta de ataque, los demas puntos en el eje y tienden a agruparse como las demas ligas en valores de alta defensa pero bajo ataque.

pca_Nation1

Ficha técnica:

Para evaluar la relación entre las ligas y las distintas variables, se empleó el Análisis de Componentes Principales (ACP). Previamente, se realizó el test de normalidad de Shapiro-Wilk para todas las variables, determinando que ninguna de ellas seguía una distribución normal. Se calculó el determinante de la matriz de correlación de Kendall para identificar la presencia de multicolinealidad, seleccionando aquellas variables con alta correlación para su exclusión en el análisis.

1. Estandarización de datos: Dado que las variables pueden tener diferentes escalas, se estandarizaron (media = 0, desviación estándar = 1) para garantizar comparabilidad.

2. Cálculo de la matriz de correlación: Se utilizó la matriz de Kendall para capturar las relaciones entre variables no normales.

Technical Sheet:

To evaluate the relationship between leagues and various variables, Principal Component Analysis (PCA) was employed. Prior to this, the Shapiro-Wilk normality test was conducted for all variables, revealing that none followed a normal distribution. The determinant of the Kendall correlation matrix was calculated to identify the presence of multicollinearity, selecting those variables with high correlation for exclusion from the analysis.

  1. Data Standardization: Since variables may have different scales, they were standardized (mean = 0, standard deviation = 1) to ensure comparability.

  2. Calculation of the Correlation Matrix: The Kendall correlation matrix was used to capture relationships between non-normal variables.

  3. Component Extraction: Eigenvalues and eigenvectors of the correlation matrix were computed. Eigenvalues indicate the amount of variance explained by each component, while eigenvectors define the directions of the new axes.

  4. Component Selection: Criteria such as the Kaiser rule (eigenvalues > 1) or the cumulative percentage of explained variance (e.g., >70-80%) were applied to determine how many components to retain.

  5. Interpretation of Loadings: The loadings of variables on each component allowed identification of which variables contribute most to each dimension, facilitating the interpretation of results in the context of the evaluated Nationitions.

3. Extracción de componentes: Se calcularon los autovalores y autovectores de la matriz de correlación. Los autovalores indican la cantidad de varianza explicada por cada componente, y los autovectores definen las direcciones de los nuevos ejes.

4. Selección de componentes: Se empleó un criterio como el de Kaiser (autovalores > 1) o el porcentaje acumulado de varianza explicada (e.g., >70-80%) para determinar cuántos componentes retener.

5. Interpretación de cargas: Las cargas de las variables en cada componente permitieron identificar qué variables contribuyen más a cada dimensión, facilitando la interpretación de los resultados en el contexto de las Nationiciones evaluadas.