Facultad de Ingeniería, Universidad Del Valle

Programa Academico Estadistica

761045M: Análisis Multivariante

Dr. Víctor Manuel González Rojas

Santiago de cali

Análisis de Componentes Principales (PCA)

Introduccion

El objetivo de este trabajo es estudiar el análisis de componentes por medio de la base de datos env proveniente de un trabajo de investigación doctoral publicado en 1973.

Verneaux (autor) propuso la utilización de diferentes especies de peces como una forma de identificar y clasificar las diversas zonas ecológicas a lo largo de ríos y arroyos en Europa. Su estudio reveló que las comunidades de peces eran indicadores biológicos confiables para evaluar las condiciones de estos cuerpos de agua. Basándose en su investigación, Verneaux presentó una clasificación en cuatro categorías distintas, a las cuales asignó nombres relacionados con especies características: la zona de la trucha, la zona del tímalo, la zona del barbo y la zona del besugo. Estas categorías reflejaban una amplia gama de condiciones ecológicas, que variaba significativamente entre los diferentes ríos, abarcando desde aguas relativamente limpias, bien oxigenadas y con bajo contenido de nutrientes, hasta aguas eutróficas con deficiencia de oxígeno.

Se recogieron datos en 30 localidades a lo largo del río Doubs, el cual corre cerca de la frontera entre Francia y Suiza en las montañas del Jura. La matriz denominada “env” contiene 11 variables ambientales relacionadas con la hidrología, geomorfología y química del río.

1. Componentes quimicos del agua base de datos douds$env

Descripcion de la base de datos de la librería ade4. Pregunta 1 taller

Variables

  • Tabla 1 Variables originales base doubs$env
Code Description.of.the.variable
dfs Distance from the source [km]
alt Altitude [m a.s.l.]
slo Slope [per thousand]
flo Mean minimum discharge [m3s-1]
pH pH of water
har Calcium concentration (hardness) [mgL-1]
pho Phosphate concentration [mgL-1]
nit Nitrate concentration [mgL-1]
amm Ammonium concentration [mgL-1]
oxy Dissolved oxygen [mgL-1]
bdo Biological oxygen demand [mgL-1]
  • Tabla 2 Cambio de nombre de variables base doubs$env
Código Descripción.de.la.variable
dsf Distancia de la fuente [km]
alt Altitud [m.s.n.m]
pen Pendiente [por mil]
damm Caudal mínimo medio [m 3 /s]
ph pH del agua
ccl Concentración de calcio (dureza) [mg/L]
cft Concentración de fosfato [mg/L ]
cnit Concentración de nitrato [mg/L1 ]
camn Concentración de amonio [mg/L ]
oxy Oxígeno disuelto [mg/L ]
dbo Demanda biológica de oxígeno [mg/L ]

Definiciones de las variables

  • dsf: la “distancia desde la fuente” se refiere a la distancia desde el punto donde un río o un flujo de agua comienza hasta un punto específico, es decir, cuántos kilómetros aguas abajo (en dirección al curso del río) se encuentra un lugar determinado en relación con el punto donde el río Doubs se origina.

  • Alt: la “altitud medida en metros sobre el nivel del mar” (m.s.n.m.) se refiere a la elevación o altura de un punto geográfico en relación con el nivel medio del mar. En el contexto de la base de datos, la altitud podría utilizarse para indicar la elevación de diversos puntos a medida que el río fluye desde su fuente en las montañas hasta su desembocadura en el mar o en otro cuerpo de agua.

  • Pen: la “pendiente”es una medida de inclinación utilizada comúnmente en topografía y cartografía para expresar la pendiente de una superficie o un terreno. Se expresa en milésimas o por mil, y se calcula dividiendo el cambio en elevación entre dos puntos por la distancia horizontal entre ellos y multiplicando el resultado por 10000.

  • Damm: la “descarga o caudal mínimo medio” es una medida que se utiliza para describir la cantidad mínima de agua que normalmente fluye a través del río en un punto específico durante un período de tiempo determinado. Esta medida se expresa en términos de volumen de agua por unidad de tiempo (m³/s).

  • Ph: el “pH”, o potencial de hidrógeno, es una medida que indica la acidez o alcalinidad de una sustancia líquida, incluyendo cuerpos de agua como ríos y arroyos. Se mide en una escala de 0 a 14, donde un pH de 7 es considerado neutral. Un pH por debajo de 7 indica acidez (con 0 siendo el nivel más ácido), y un pH por encima de 7 indica alcalinidad (con 14 siendo el nivel más alcalino).

  • Ccl: la “concentración de calcio” o “dureza del agua” se refiere a la cantidad de iones de calcio (Ca²⁺) presentes en el agua y se mide generalmente en miligramos por litro (mg/L) o partes por millón (ppm). La concentración de calcio (dureza) se monitorea para determinar la calidad del agua y asegurar que se encuentra dentro de los límites aceptables para su uso previsto.

  • Cft: la “concentración de fosfato” en el agua se refiere a la cantidad de fosfatos disueltos presentes en el agua y se mide generalmente en miligramos por litro (mg/L) o partes por millón (ppm). Los fosfatos son compuestos químicos que contienen el elemento fósforo y son esenciales para el crecimiento de las plantas y la vida acuática. Sin embargo, un exceso de estos, puede causar problemas de calidad del agua, como la proliferación de algas y cianobacterias, que pueden conducir a la eutrofización y la disminución de la calidad del agua.

  • Cnit: la “concentración de nitrato” en el agua se refiere a la cantidad de nitrato (NO₃⁻) disuelto presente en el agua y se mide generalmente en miligramos por litro (mg/L) o partes por millón (ppm). La concentración de nitrato es una medida importante en la calidad del agua y se utiliza para evaluar la salud de los cuerpos de agua, así como para monitorear la calidad del agua potable y los efectos de la agricultura y otras actividades humanas en la contaminación del agua.

  • Camn: la “concentración de amonio” se refiere a la cantidad de iones de amonio (NH₄⁺) presentes en el agua y se mide generalmente en miligramos por litro (mg/L) o partes por millón (ppm). El amonio es una forma de nitrógeno que puede estar presente en el agua debido a diversas fuentes, como la descomposición de materia orgánica, la lixiviación de fertilizantes, la contaminación industrial y la descarga de aguas residuales.

  • Oxy: la “concentración de oxígeno disuelto” en el agua se refiere a la cantidad de oxígeno molecular (O₂) que está disuelto en el agua y se mide generalmente en miligramos por litro (mg/L). El oxígeno disuelto es esencial para la vida acuática, ya que la mayoría de los organismos acuáticos dependen de él para su respiración.

  • Dbo: la “Demanda Biológica de Oxígeno” (DBO) es una medida que se utiliza para evaluar la cantidad de oxígeno que los microorganismos en un cuerpo de agua necesitan para descomponer la materia orgánica presente en el agua. La DBO se mide generalmente en miligramos por litro (mg/L) y es un indicador importante que se usa para evaluar la cantidad de materia orgánica biodegradable en el agua, como residuos orgánicos, desechos de plantas y animales, y otros contaminantes orgánicos.

    Cuando hay un exceso de materia orgánica en el agua, los microorganismos comienzan a descomponerse a través de procesos biológicos que consumen oxígeno disuelto en el agua. Este consumo de oxígeno puede llevar a la reducción de los niveles de oxígeno disuelto en el agua, lo que puede ser perjudicial para la vida acuática y llevar a problemas de calidad del agua.

Conjunto de datos env

dsf alt pen damm ph ccl cft cnit camn oxy dbo
3 934 6.176 84 79 45 1 20 0 122 27
22 932 3.434 100 80 40 2 20 10 103 19
102 914 3.638 180 83 52 5 22 5 105 35
185 854 3.497 253 80 72 10 21 0 110 13
215 849 3.178 264 81 84 38 52 20 80 62
324 846 3.497 286 79 60 20 15 0 102 53

Dimension es 30 x 11 siendo n el numero de individuos y p el numero de variables

Boxplot

Teniendo en cuenta las anteriores definiciones, es importante notar que no sería apropiado realizar una comparación directa de las variables, dado que cada una de ellas utiliza diferentes unidades de medida, como se puede apreciar en el siguiente gráfico de caja y bigotes.

  boxplot(env,cex.axis=0.7 , main = "BOXPLOT datos brutos ")        # variables con magnit dif 

Figura 1. Gráfico de caja y bigotes respecto a la base original “env”

Para abordar este problema, se normaliza cada variable restando por su media y dividiendo por su desviación estándar. De esta manera, podemos comparar las variables al eliminar las diversas unidades de medida. Lo cual observamos en la figura 2.

Estadisticas Descriptivas

dsf alt pen damm ph ccl cft cnit camn oxy dbo
Min. 3.000 172.0000 1.099000 84.00 77.000000 40.00000 1.00000 15.0000 0.00000 41.0000 13.00000
1st Qu. 544.500 248.0000 1.830500 420.00 79.250000 84.25000 12.50000 50.5000 0.00000 80.2500 27.25000
Median 1752.000 395.0000 2.565000 2210.00 80.000000 89.00000 28.50000 160.0000 10.00000 102.0000 41.50000
Mean 1879.033 481.5000 2.757733 2220.10 80.500000 86.10000 55.76667 165.4000 20.93333 93.9000 51.16667
3rd Qu. 3017.250 782.0000 3.390000 2857.50 81.000000 96.75000 56.00000 242.5000 20.00000 109.0000 52.75000
Max. 4530.000 934.0000 6.176000 6900.00 86.000000 110.00000 422.00000 620.0000 180.00000 124.0000 167.00000
Sn 1373.036 266.8255 1.062230 1779.76 1.707825 16.58182 86.17141 138.9622 37.26834 21.7782 37.99130

2. Desarrolle un ACP (normado)

Para llevar a cabo un Análisis de Componentes Principales (ACP) normado en R, es necesario seguir los siguientes procedimientos:

  1. Carga de la base de datos y limpieza

Objetivo: Iniciamos cargando los datos en R para prepararlos para el análisis de ACP.

  • Selecciona la función de lectura de datos más adecuada según el formato de los datos que estés manejando, como read.csv para archivos CSV o read.table para tablas y archivos de texto. En el presente estudio, se hizo uso de una base de datos proveniente del paquete ade4, específicamente de la tabla doubs$env, la cual aborda información acerca de los componentes químicos presentes en el agua.”

  • Asegurarse de que los datos estén dispuestos en una estructura adecuada. Para lograrlo, es necesario que todas las variables se encuentren en formato numérico, lo cual puedes verificar utilizando la función str(env)En el contexto de nuestra base de datos, las 11 variables (p) se presentan como datos numéricos, garantizando una correspondencia efectiva con la información contenida en la base de datos para el desarrollo del ACP.

  • La limpieza de datos en el ACP implica detectar y eliminar valores atípicos, manejar datos faltantes, seleccionar las más relevantes y, si es necesario, aplicar transformaciones para asegurar que los datos estén en óptimas condiciones para el análisis a través de las componentes principales. Este proceso garantiza la fiabilidad de los resultados del ACP.

  1. Estandarización de la Matriz

Objetivo: Preparamos los datos para el ACP mediante la estandarización de la matriz.

\[ z_{ij} = \frac{b_{ij} - \bar{b_i}}{\sigma_i} \]

Donde: \(z_{ij}\) representa el valor estandarizado de una observación,\(b_{ij}\) es el valor origina, \(\bar{b_i}\) es la media de la variable (\(p_{i}\)), \(\sigma_i\) es la desviación estándar de la variable. .

  • Aplicamos la estandarización utilizando la función scale en R. En nuestro codigo denotamos la matriz scale como z <- scale(env)*sqrt(n/(n-1)) siendo la multiplicacion de \(\sqrt{\frac{n}{n-1}}\) la forma que cuadra la matriz debido a que R toma la desviacion estandar como muestral ( s ) y necesitamos que la tome poblacion n en este caso numero de filas .\[ \sigma_i = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (x_{ij} - \mu_i)^2} \]

  • Explicamos la importancia de la estandarización en el contexto del Análisis de Componentes Principales (ACP). La estandarización es un paso fundamental en el ACP, ya que nos permite dar igual peso a todas las variables incluidas en el análisis. Cuando trabajamos con datos que tienen unidades de medida diferentes o escalas variadas, las variables con valores numéricos más grandes pueden dominar el análisis, lo que podría llevar a conclusiones sesgadas o una interpretación incorrecta de las relaciones entre las variables. La estandarización resuelve este problema al transformar todas las variables para que tengan una media de 0 y una desviación estándar de 1. Esto asegura que cada variable tenga un impacto equitativo en el análisis, lo que es esencial para identificar patrones y relaciones significativas entre las variables en el ACP. En resumen, la estandarización es una práctica crucial que permite que el ACP sea efectivo al revelar la estructura subyacente de los datos sin verse afectado por las diferencias en las unidades o escalas de las variables.

  1. Análisis de Correlación

Objetivo: Calculamos la matriz de correlación entre las variables.

  • La correlación desempeña un papel vital en el Análisis de Componentes Principales (ACP) al permitirnos entender las relaciones entre las variables originales. Esto nos ayuda a identificar cuáles de ellas podrían agruparse en un mismo componente, simplificando así la interpretación de los datos complejos. En resumen, la correlación en el ACP es fundamental para simplificar y descubrir patrones en los datos al analizar cómo se relacionan las variables originales.

    En R utilizamos la función cor() de R para obtener la matriz de correlación recordemos cor(Z) es igual a la cor(Datos originales)\[ \text{cor}(Z) = Z'NZ = \text{cor}(datosoriginales) \] Siendo z la matriz estandrizada, Z’ la transpuesta y N diagonal 1/n. 

  • Cuando p < n en el ACP, tenemos más observaciones que variables, lo que facilita la interpretación de los datos y la representación gráfica en un espacio de menor dimensión. Esto nos ayuda a identificar patrones clave en los datos. Por otro lado, cuando p > n, la interpretación puede ser más difícil debido a la alta dimensionalidad. Además, en casos donde p > n, es común encontrar valores propios iguales a cero debido a la redundancia en los datos, lo que indica que algunas dimensiones no aportan información adicional y pueden ser descartadas en el análisis, sinembargo de cualquiera de las maneras se puede realizar ACP.

  1. Cálculo de Componentes Principales
    • 4.1 Valores (Eigenvalue) ⋋ y vectores propios (Eigenvector) U
    • Objetivo: Realizamos el cálculo de los componentes principales.

      Calculamos los valores y vectores propios de la matriz de correlacion con la funcion en R eigen(correlacion) que nos arroja los ⋋ y u.

      • Valor propio: Corresponde a la proporcion de la variabilidad o la varianza de vector porpio asociado, estos valores propios se ordenan de mayor a menor, lo que significa que el primer valor propio es el más grande y explica la mayor cantidad de varianza en los datos u acomula la mayor inercia. ests indican que componetes guarda mayor informacion de los datos.\[ p = ⋋_1 + ⋋_2 + ... + ⋋_p \] Tambien tenemos estAs relaciones : \[ \text{traza}(Z'NZ) = \text{traza}(UDU') = \text{traza}(UU'D) = \lambda_1 + \ldots + \lambda_p = p = I_n \]

      • Vector propio: Corresponde a las direcciones en el espacio multidimensional que representan cómo se relacionan las variables originales con los componentes principales. Cada componente principal tiene su propio vector propio. Estos vectores son perpendiculares entre sí, lo que significa que son ortogonales. Esto asegura que los componentes principales sean no correlacionados y, por lo tanto, independientes entre sí. Los vectores propios indican la dirección en la que un componente principal se extiende en el espacio de las variables originales.Tenemos la siguiente relacion:

        La ortogonalidad entre dos vectores \(U_1\) y \(U_2\) se puede expresar como:

        \[ U_1'U_2 = 0 \]

        Donde \(U_1'U_2\) es el producto escalar entre \(U_1\) y \(U_2\), y cuando es igual a cero, indica que los vectores son ortogonales entre sí. Además, bajo la condición de ortogonalidad, se cumple que: \[ U_2'U_2 = 1 \]

        • Representacion grafica de los Eingenvalue y Eigenvector
        IMAGEN 1
        IMAGEN 1
    • 4 2 La proyeccion de los individuos (n) deacuerdo a su vectores propios (U)
    • Las coordenadas de n puntos individuos proyectados sobre el eje ‘canónico’ U están contenidas en la componente principal siendo su relacion : \[ \text{Ψ}_{∝} = Z \cdot u_{∝} \]

      El ACP transforma las variables (z1,z2…zp ) en nuevas variables ( Ψ1,Ψ2,…Ψp) que facilitan la interpretación de la información en espacios de menor dimensión, en general en R^2 (gráfico de individuos y variables generado por Ψ1, Ψ2 ) En este contexto, el análisis de componentes principales busca reducir la complejidad de los datos al proporcionar una representación más manejable, lo que permite una visualización efectiva de las relaciones entre individuos y variables. Las proyecciones de individuos que describimos previamente (Ψ1 y Ψ2) son esenciales para la comprensión de esta disposición en un espacio bidimensional, lo que facilita la identificación de patrones y tendencias de manera más eficaz. En conjunto, el ACP complementa esta capacidad de interpretación y simplificación de datos, brindando una valiosa perspectiva en análisis de datos multivariados, por otro lado podemos hacer la grafica de nube de individuos.

      • Algunas relaciones

        • Ortogonalidad entre Ψj Ψk: \[ \Psi_1' \cdot \Psi_2 = 0 \]

        • Esperanza de las componentes: \(E(\Psi_1) = 0\)

        • Varianza u inercia de los componentes principales Ψj corresponde a su valor propio respectivo: :\[V(\Psi_1) = \Psi_1'N\Psi_1 = u_1'z'Nzu_1 = \lambda_1\]

        Siendo N la matriz diagonal 1/n y la suma de los var(Ψj) es igual a p numero de variables.

        • La componente Ψ1 y Ψ2 son aquellas que capturan la mayor cantidad de variabilidad en los datos originales.
  1. Analisis de PCA

En el análisis de PCA, después de completar los pasos anteriores y obtener los componentes principales Ψ1 y Ψ2, el siguiente paso es interpretar estos datos en el contexto de nuestra base de datos, manteniendo una perspectiva multivariante. Para lograrlo, debemos llevar a cabo una serie de cálculos y gráficos que incluyen lo siguiente:

  • Grafca de idividuos Ψ1 Ψ2
  • Cordenadas de las variables
  • Contribuciones y cos2
  • circulo de correlacion
  • Representacion simultanea BIPLOT
  1. Algunos codigos en R
  • library(stats)

    prcomp() -> Forma rápida de implementar PCA sobre una matriz de datos.

    princomp()

  • library(FactoMineR)

    PCA() -> PCA con resultados más detallados. Los valores ausentes se reemplazan por la media de cada columna. Pueden incluirse variables categóricas suplementarias. Estandariza automáticamente los datos.

  • library(factoextra)

    get_pca() -> Extrae la información sobre las observaciones y variables de un análisis PCA.

    get_pca_var() -> Extrae la información sobre las variables.

    get_pca_ind() -> Extrae la información sobre las observaciones.

  • Visualizaciones:

  • library(FactoMineR)

    fviz_pca_ind() -> Representación de observaciones sobre componentes principales.

    fviz_pca_var() -> Representación de variables sobre componentes principales.

    fviz_screeplot() -> Representación (gráfico barras) de eigenvalores.

    fviz_contrib() -> Representa la contribución de filas/columnas de los resultados de un pca.

3.ACP normado de la base de datos env codigo R

Paso 1 carga y linmpieza de la base de datos

library(ade4) # Esto carga el conjunto de datos
data(doubs)   # lista de tablas 

#... Tabla de datos con química del agua...

env <- doubs$env 
colnames(env) <- c("dsf", "alt", "pen", "damm", "ph", "ccl", "cft", "cnit", "camn", "oxy", "dbo")
dsf alt pen damm ph ccl cft cnit camn oxy dbo
3 934 6.176 84 79 45 1 20 0 122 27
22 932 3.434 100 80 40 2 20 10 103 19
102 914 3.638 180 83 52 5 22 5 105 35
185 854 3.497 253 80 72 10 21 0 110 13
215 849 3.178 264 81 84 38 52 20 80 62
324 846 3.497 286 79 60 20 15 0 102 53

Dimension es 30 x 11 siendo n el numero de individuos y p el numero de variables

En relación con la estructura de la base de datos y la presencia de datos faltantes al utilizar el paquete ade4 con los datos de douds, esta herramienta simplifica significativamente la preparación de datos para llevar a cabo un Análisis de Componentes Principales (ACP). El paquete proporciona datos preprocesados que son fácilmente manejables y adecuados para realizar un ACP de manera efectiva. Esto ahorra tiempo y esfuerzo en la etapa de preparación de datos, permitiéndote centrarte directamente en el análisis e interpretación de los componentes principales.

str(env) #tipo d dato
## 'data.frame':    30 obs. of  11 variables:
##  $ dsf : num  3 22 102 185 215 324 268 491 705 990 ...
##  $ alt : num  934 932 914 854 849 846 841 792 752 617 ...
##  $ pen : num  6.18 3.43 3.64 3.5 3.18 ...
##  $ damm: num  84 100 180 253 264 286 400 130 480 1000 ...
##  $ ph  : num  79 80 83 80 81 79 81 81 80 77 ...
##  $ ccl : num  45 40 52 72 84 60 88 94 90 82 ...
##  $ cft : num  1 2 5 10 38 20 7 20 30 6 ...
##  $ cnit: num  20 20 22 21 52 15 15 41 82 75 ...
##  $ camn: num  0 10 5 0 20 0 0 12 12 1 ...
##  $ oxy : num  122 103 105 110 80 102 111 70 72 100 ...
##  $ dbo : num  27 19 35 13 62 53 22 81 52 43 ...
colSums(is.na(env)) # Suma de datos faltantes 
##  dsf  alt  pen damm   ph  ccl  cft cnit camn  oxy  dbo 
##    0    0    0    0    0    0    0    0    0    0    0

Ahora determinaremos unas contantes nxp para formulas de relacion

n <- nrow(env) #  n = numero de filas (individuos)
p <- ncol(env) #  p=  numero de columna (variables)

Paso 2 Estandarizacion de la matriz

z <- scale(env)*sqrt(n/(n-1))# Matriz normada la raiz es por el sd que lo toma muestral
dsf alt pen damm ph ccl cft cnit camn oxy dbo
-1.366340 1.695865 3.2180111 -1.200218 -0.8783101 -2.4786185 -0.6355549 -1.046327 -0.5616922 1.2902811 -0.6361105
-1.352502 1.688369 0.6366483 -1.191228 -0.2927700 -2.7801536 -0.6239502 -1.046327 -0.2933679 0.4178490 -0.8466851
-1.294237 1.620910 0.8286972 -1.146278 1.4638501 -2.0564694 -0.5891358 -1.031935 -0.4275300 0.5096840 -0.4255360
-1.233787 1.396043 0.6959575 -1.105261 -0.2927700 -0.8503290 -0.5311120 -1.039131 -0.5616922 0.7392714 -1.0046160
-1.211937 1.377305 0.3956458 -1.099080 0.2927700 -0.1266447 -0.2061782 -0.816049 -0.0250436 -0.6382529 0.2851530
-1.132551 1.366061 0.6959575 -1.086719 -0.8783101 -1.5740132 -0.4150642 -1.082308 -0.5616922 0.3719316 0.0482567
## [1] 30 11

Recordemos que al estandarizar var(z1)=1 y E(Z1)=0 es por ello que nos permite hacer la comparaciony hace que las variables con mayor varianza se lleven toda la inercia en el PCA.

  • Realizamos un boxplot para ver que sucedio:
  par(mfrow = c(1, 2))  # Una fila, dos columna
  boxplot(env,cex.axis=0.7 , main = "BOXPLOT datos brutos ")        # variables con magnit dif 
  boxplot(scale(env)*sqrt(n/(n-1)),cex.axis=0.7, main = "BOXPLOT datos escalados ") # estandarizar => comparables

Figura 2. Gráfico de caja y bigotes respecto a la base original y estandarizada

La presencia significativa de valores atípicos, identificados como puntos en la gráfica, es notable en 8 de las 11 variables, indicando desviaciones sustanciales en esos casos.

A continuación, al avanzar hacia la matriz normalizada de datos (paso 3), es fundamental considerar la correlación entre las variables. Importante recordar que esta matriz es constante tanto en el conjunto original como en el normalizado.

Paso 3 Analisis de correlacion

En esta etapa, llevamos a cabo el análisis de correlación. Esto nos proporciona una matriz cuadrada que describe las relaciones entre las variables, tambien sabemos que por relacion se matiene la igualdad de \[\text{cor}(Z) = Z'NZ = \text{cor}(datosoriginales)\].

correlacion <- cor(z) # correlacion de z = corrrelacion de env
      N <- diag(1/n,n,n) # Matriz diagonal de 1/n donde la suma de sus diagonales de 1 
      zt <- t(z)         # Transponer la matriz
      resultado <- zt%*%N%*%z  #multiplicacion de matrices = cor(env)
dsf alt pen damm ph ccl cft cnit camn oxy dbo
dsf 1.0000000 -0.9410222 -0.7557286 0.9490417 0.0047266 0.6979033 0.4778974 0.7467194 0.4086651 -0.5103540 0.3957370
alt -0.9410222 1.0000000 0.7637673 -0.8692691 -0.0372694 -0.7448117 -0.4420491 -0.7605459 -0.3813233 0.3619040 -0.3378482
pen -0.7557286 0.7637673 1.0000000 -0.7157114 -0.2709145 -0.6537511 -0.4037680 -0.6108798 -0.3514402 0.4637083 -0.3170900
damm 0.9490417 -0.8692691 -0.7157114 1.0000000 0.0204254 0.6967841 0.3852824 0.6070723 0.2949086 -0.3578947 0.2532053
ph 0.0047266 -0.0372694 -0.2709145 0.0204254 1.0000000 0.0888690 -0.0832395 -0.0488785 -0.1241205 0.1770029 -0.1518129
ccl 0.6979033 -0.7448117 -0.6537511 0.6967841 0.0888690 1.0000000 0.3637981 0.5107353 0.2907445 -0.3823914 0.3449664
cft 0.4778974 -0.4420491 -0.4037680 0.3852824 -0.0832395 0.3637981 1.0000000 0.8002507 0.9695215 -0.7236924 0.8855369
cnit 0.7467194 -0.7605459 -0.6108798 0.6070723 -0.0488785 0.5107353 0.8002507 1.0000000 0.7976855 -0.6290729 0.6422816
camn 0.4086651 -0.3813233 -0.3514402 0.2949086 -0.1241205 0.2907445 0.9695215 0.7976855 1.0000000 -0.7208146 0.8857985
oxy -0.5103540 0.3619040 0.4637083 -0.3578947 0.1770029 -0.3823914 -0.7236924 -0.6290729 -0.7208146 1.0000000 -0.8431211
dbo 0.3957370 -0.3378482 -0.3170900 0.2532053 -0.1518129 0.3449664 0.8855369 0.6422816 0.8857985 -0.8431211 1.0000000

Visualicemos graficamente la correlacion de los datos.

ggpairs(env,          # Data frame
        columns = 1:11, # Columnas
        title  = "Grafico de Correlacion - ACP " 
          )  

Figura 3 Gráfico de correlación entre las variables de la base “env”

corrplot(cor(env),type="upper") # Grafico 2  visual color 

Figura 4 Gráfico de correlación en color entre las variables de la base “env”

  • Interpretacion:

    Cada celda de la matriz representa la correlación entre dos variables. El color de la celda indica la magnitud y la dirección de la correlación. Generalmente, se utiliza una escala de colores donde tonos más intensos, como el rojo, indican una correlación negativa fuerte. Resaltando por ejemplo, la correlación -0.941 entre la “dsf” y “alt”, lo que significa que a medida que se avance de la fuente del río, la altitud tiende a disminuir; un caso parecido con “oxy” y “dbo”, ya que si hay más oxígeno disuelto en el agua, se espera que la demanda bioquímica de oxígeno disminuya.

    Por otra parte, los tonos más tenues, como el azul, indican una correlación positiva fuerte. Lo cual se puede apreciar con “dsf” y “damm”, teniendo una correlación de 0.95, lo que se refiere a que a medida que se tome distancia del punto de inicio de Doubs, el caudal mínimo promedio tiende a seguir una tendencia particular. También se puede notar con “cft” y “camn”, esto se debe a medida que aumenta la concentraciòn de fosfato lo hace de igual manera la concentración de amonio.

    El blanco o colores neutros suelen representar correlaciones cercanas a cero. Por otro lado, la diagonal principal de la matriz contiene celdas coloreadas de forma uniforme (color azul oscuro) ya que muestra la correlación de cada variable consigo misma, lo que siempre es perfectamente positivo (1).

Nota: Como relacion tenemos que la inercia de la correlacion siendo esta la suma de su diagonal es igual a p ACP normado (p < n) en nuestra base de datos las dimensiones son 11 < 30

Ip <- sum(diag(cor(z)))
Ip
## [1] 11

Paso 4 Calculo de las componentes principales

  • Valores y vectores propios ⋋ y u respectivamente

Ya que tenemos nuestra matriz estandarizada z y nuestra matriz de correlacion cor(z) lo que debemos hacer es hayar los valores y vecores propios de la matriz de correlacion esto lo realizamos con la funcion en R eigen() la cuaal nos arroja los ⋋ y u :

# CON FUNCION eigen()  QUE ME ARROJA LOS VECTORES Y VALORES PROPIOS (eigen = U )
vp <- eigen(correlacion)  # U = VECTOR PROPIO ; ⋋ = VALORES PROPIOS 
vectorpropio <- vp$vectors
valorespropios <- vp$values
u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11
0.3473555 -0.2653170 0.1631925 -0.0903883 0.2052410 -0.3315182 0.1326317 -0.0708420 0.0083899 -0.1319735 0.7629049
-0.3337147 0.3037588 -0.1296461 0.2142922 0.0832235 -0.0668575 -0.2657220 0.5319128 0.2274660 0.3775233 0.4176550
-0.3023543 0.2775290 0.2125934 -0.1859588 -0.3989654 -0.6314352 0.4055046 0.1109726 -0.0369327 -0.0990464 -0.0773041
0.3093373 -0.3372116 0.1907814 -0.0936964 0.1039724 -0.4819331 -0.4118801 0.2737724 0.1925250 0.2217382 -0.4141524
-0.0097757 -0.2514351 -0.9114000 -0.0438676 -0.0164164 -0.2779131 0.1522434 0.0255151 0.0124146 -0.0326335 -0.0394615
0.2833002 -0.2685140 0.0337335 0.5049548 -0.7167881 0.1315529 0.0686978 0.2166733 0.0321775 -0.0008382 0.0879188
0.3225990 0.3369680 -0.1366757 -0.2074217 -0.1808021 -0.0571503 -0.3558115 0.1235528 -0.7308864 0.0350581 0.0862071
0.3585709 0.0714158 -0.0112605 -0.4403958 -0.0022625 0.2929663 0.5108369 0.3018180 0.1158494 0.4682296 -0.0413348
0.3051002 0.3873079 -0.1269110 -0.2445209 -0.1451655 0.0839803 -0.2118239 0.1188823 0.5340997 -0.5553205 0.0154318
-0.2978959 -0.2865259 -0.0012127 -0.5384771 -0.4536629 0.1211601 -0.3414944 -0.2857705 0.1467072 0.2270233 0.2176380
0.2933344 0.4006644 -0.0909054 0.2427449 -0.0856388 -0.2220046 -0.0279291 -0.6123956 0.2327398 0.4467964 0.0032766
##  [1] 6.321624098 2.231595827 1.004203842 0.500679947 0.375183255 0.247967596
##  [7] 0.166467787 0.107160713 0.023544131 0.017259075 0.004313729

Grafico de barra de los valores propios

res.pca <- PCA(env, graph = FALSE) # PCA
fviz_eig(res.pca, addlabels = TRUE, ylim = c(0, 70))

Algunas relaciones matematicas

  • Otrogonalidad de los vectores propios. esto lo pondemos ver reflejado en la grafica 1 en la que el u1 y u2 fomran un agulo de 90 grados lo que infieres que son perpendiculares y por lo tanto ortogonal.

\(U_1'U_2 = 0\) ortonormal bajo \(U_2'U_2 = 1\)

t(vectorpropio[, 1])%*%(vectorpropio[, 2])  # U1´U2 = 0 ortonormal bajo U2´U2 = 1
##               [,1]
## [1,] -8.326673e-17
t(vectorpropio[, 2])%*%(vectorpropio[, 2])  # U2´U2 = 1
##      [,1]
## [1,]    1
  • Con respecto a los valores propios

    La suma de los valores propios es igual al número de variables (p), además de que cumplen que ⋋2 < ⋋1 Por lo tanto, el primer y segundo valor propio contienen la mayor inercia y resumen la mayor cantidad de información en R^2.

sum(vp$values)# NOTA: varianza de la componentes iguales a sus valores propios
## [1] 11
# traza(Z'NZ)= ⋋1 +..+⋋p = p = In donde:cor(Z)=Z'NZ=cor(env)
valorespropios <- vp$values
sum(diag(vectorpropio%*%diag(valorespropios)%*%t(vectorpropio)))  #traza(UDU') = p  
## [1] 11
  • Ψ La proyeccion de los individuos (n) deacuerdo a su vectores propios (U)

Las coordenadas de los n puntos individuos proyectados sobre el eje ‘canónico’ u∝ son los n componentes del vector (variable) Ψ∝ =Zu∝ el cual es una combinación lineal de las variables iniciales Zj

\(\Psi_1 = Z\underline{\alpha} = u_{11}Z_1 + u_{21}Z_2 + \ldots + u_{p1}Z_p\)

pca_eig <-  z%*%vectorpropio
Ψ1 Ψ2 Ψ3 Ψ4 Ψ5 Ψ6 Ψ7 Ψ8 Ψ9 Ψ10 Ψ11
-4.400946 1.9308480 0.9553828 -1.3313384 -0.0889564 -1.2157686 0.2511804 0.0276373 0.0182546 0.0748509 -0.0105286
-3.417785 1.4126455 -0.1477249 -0.6823078 1.5233672 0.1662940 -0.4841749 0.0998792 0.0691287 -0.1317378 -0.0423156
-3.159710 0.8820650 -1.6829276 -0.3815595 0.8456182 -0.4758364 -0.1017493 0.0036526 0.1169849 0.0595981 -0.0434928
-2.915029 0.5341381 0.0389072 0.0314786 0.0152620 0.3697495 -0.3474075 0.3708423 -0.1198465 -0.0881572 0.1286425
-1.471939 1.3404080 -0.7576174 1.1784818 -0.0123762 0.1214988 -0.0059305 0.2745175 0.0919772 -0.0053473 -0.0698437
-2.623191 1.3965852 0.4614603 0.1227521 0.6194107 0.0992520 -0.4398196 -0.3574375 -0.0514687 0.2818663 0.0804467
## [1] 30 11

Recordemos que cada componentes explica una proporcion de la variabilidad asi que ⋋1+⋋2...+⋋11= p Por relacion tenemos que :

  • Ortonormales Ψ1Ψ2: Pregunta 2-c.1) taller
t(pca_eig[, 1])%*%(pca_eig[, 2])  #Ψ1’ * Ψ2 = 0 
##               [,1]
## [1,] -1.332268e-14
  • E(Ψ1) = 0
mean(pca_eig[, 1])                 
## [1] 1.58785e-16
  • Proporcion de la variabilidad Pregunta 2-a) taller
t(pca_eig[, 1])%*%N%*%pca_eig[, 1] # V(Ψ1) = Ψ1´NΨ1 = ⋋1 
##          [,1]
## [1,] 6.321624
t(vectorpropio[, 1])%*%t(z)%*%N%*%z%*%vectorpropio[, 1] # V(Ψ1) =  u1´z´Nzu1 = ⋋1
##          [,1]
## [1,] 6.321624
  • Tabla acumulado de la inercia (ver gafica de barra valore propios)
eigenvalue variance.percent cumulative.variance.percent
Dim.1 6.3216241 57.4693100 57.46931
Dim.2 2.2315958 20.2872348 77.75654
Dim.3 1.0042038 9.1291258 86.88567
Dim.4 0.5006799 4.5516359 91.43731
Dim.5 0.3751833 3.4107569 94.84806
Dim.6 0.2479676 2.2542509 97.10231
Dim.7 0.1664678 1.5133435 98.61566
Dim.8 0.1071607 0.9741883 99.58985
Dim.9 0.0235441 0.2140376 99.80388
Dim.10 0.0172591 0.1569007 99.96078
Dim.11 0.0043137 0.0392157 100.00000

En el análisis de componentes principales (PCA), se seleccionan específicamente los dos primeros componentes principales para reducir la dimensionalidad y transformar los datos originales en un espacio bidimensional, es decir, en R^2. Esta elección se basa en el hecho de que estos dos primeros componentes acumulan la mayor cantidad de información, lo que permite resumir de manera efectiva la variabilidad de los datos, esto con un 77.75%.

Ψ1 Ψ2
-4.400946 1.9308480
-3.417785 1.4126455
-3.159710 0.8820650
-2.915029 0.5341381
-1.471939 1.3404080
-2.623191 1.3965852
## [1] 30  2

Grafica de nube de puntos Pregunta 2-c.2) taller

library(ggplot2)
ggplot(dataframe_datos, aes(x = Ψ1, y = Ψ2,label = rownames(dataframe_datos))) +
  geom_point(colour = 4, size = 3) +
  labs(x = "Ψ1 (57,5%)", y = "Ψ2 (20,3%)", color = "Ψ2 (20,3%)") +
  ggtitle("Gráfico de individuos Ψ1-Ψ2")+
  geom_segment(x = -Inf, xend = Inf, y = 0, yend = 0, linetype = "dashed", color = "black") +
  geom_segment(x = 0, xend = 0, y = -Inf, yend = Inf, linetype = "dashed", color = "black") +
  geom_text(hjust = 1.1, vjust = 1.1)

Al analizar la gráfica de individuos en PCA, observamos la presencia de agrupaciones o clusters, lo que sugiere similitudes entre ciertas observaciones en función de sus características originales. Estos clusters representan subconjuntos de datos que comparten algún tipo de relación o patrón común. Este hallazgo es valioso porque nos permite identificar estructuras subyacentes y comprender mejor las relaciones entre las observaciones.

Paso 5 Analisis PCA

Las coordenadas de los puntos variables

Su calculo es el siguinte: Pregunta 2-d) taller

\[ \phi_a = Z'N^{1/2}{v_a} = \frac{1}{\sqrt{\lambda_a}}{Z'N}u_a = \sqrt{\lambda_a}u_a \]

Las coordenadas de las variables en el PCA indican cuánto contribuye cada variable a los componentes principales. Estas coordenadas se utilizan en el círculo de correlación para mostrar la dirección y la magnitud de la relación entre las variables originales y los componentes principales. Esto ayuda a identificar las variables más influyentes en la variabilidad de los datos y facilita su interpretación.

# φ CORDENADAS DE LOS PUNTOS VARIABLES - raiz(⋋)u

# Crear una matriz para almacenar las contribuciones
contribuciones_matriz <- matrix(0, nrow = length(valorespropios), ncol = p)

# Calcular y almacenar las contribuciones en un bucle
for (i in 1:p) {
  contribuciones_matriz[, i] <- sqrt(valorespropios[i]) * vectorpropio[, i]
}
coordvariable<- contribuciones_matriz[, 1:2]
φ1 φ2
0.8733503 -0.3963445
-0.8390535 0.4537709
-0.7602047 0.4145874
0.7777617 -0.5037445
-0.0245790 -0.3756069
0.7122973 -0.4011204
## [1] 11  2
contribuciones y cos2

Pregunta b) taller

  • Contribuciones : Las contribuciones en PCA representan la importancia o influencia de cada variable en los componentes principales. Son valores que indican cuánta variabilidad explican las variables en cada componente con ella podemos determinar qué variables tienen un mayor impacto en el análisis de componentes principales.

\[ C_{\alpha_j} = \frac{\phi_{aj}^2}{\lambda_{\alpha}} = \frac{ r_{jΨ}^2}{\lambda_{\alpha}}= u^2_{\alpha j} \]

contribuciones <- (vectorpropio[, 1:11]^2)*100 # u^2 *100
Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Dim.6 Dim.7 Dim.8 Dim.9 Dim.10 Dim.11
dsf 12.0655818 7.0393100 2.6631805 0.8170037 4.2123864 10.9904319 1.7591161 0.5018588 0.0070390 1.7417005 58.2023912
alt 11.1365501 9.2269413 1.6808103 4.5921159 0.6926145 0.4469920 7.0608166 28.2931267 5.1740786 14.2523877 17.4435661
pen 9.1418145 7.7022343 4.5195959 3.4580665 15.9173398 39.8710440 16.4433995 1.2314921 0.1364022 0.9810193 0.5975919
damm 9.5689545 11.3711677 3.6397527 0.8779018 1.0810259 23.2259541 16.9645231 7.4951310 3.7065884 4.9167826 17.1522181
ph 0.0095565 6.3219591 83.0649938 0.1924370 0.0269500 7.7235693 2.3178048 0.0651018 0.0154121 0.1064947 0.1557211
ccl 8.0259026 7.2099785 0.1137946 25.4979373 51.3785194 1.7306163 0.4719390 4.6947313 0.1035394 0.0000703 0.7729713
cft 10.4070139 11.3547435 1.8680246 4.3023753 3.2689414 0.3266153 12.6601845 1.5265295 53.4194993 0.1229067 0.7431661
cnit 12.8573087 0.5100214 0.0126799 19.3948475 0.0005119 8.5829245 26.0954348 9.1094124 1.3421087 21.9238935 0.1708567
camn 9.3086141 15.0007381 1.6106409 5.9790475 2.1073034 0.7052690 4.4869381 1.4133010 28.5262509 30.8380830 0.0238139
oxy 8.8741971 8.2097099 0.0001471 28.9957586 20.5810067 1.4679771 11.6618400 8.1664777 2.1522995 5.1539564 4.7366300
dbo 8.6045062 16.0531962 0.8263797 5.8925088 0.7334006 4.9286064 0.0780035 37.5028377 5.4167820 19.9627052 0.0010736

Graficos que me representa las contribuciones de los dos principales componetes contribuciones[, 1:2]

  • Cos2 : Indica cuánta variabilidad de la variable original se conserva en ese componente principal. Cuando el coseno cuadrado es alto (cerca de 1), significa que la variable mantiene su influencia en el componente. Cuando es bajo (cerca de 0), la variable tiene poca relevancia en ese componente. El coseno cuadrado nos ayuda a identificar cuán importantes son las variables originales en la construcción de los componentes principales, lo que puede ser útil para simplificar y entender la estructura de datos multivariantes.

\[ \cos^2(i,a) = \frac{d_a^2(i,0)}{d^2(i,0)} = \frac{\psi_a^2(i)}{d^2(i,0)} \]

Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Dim.6 Dim.7 Dim.8 Dim.9 Dim.10 Dim.11
dsf 0.7627407 0.1570889 0.0267438 0.0040906 0.0158042 0.0272527 0.0029284 0.0005378 0.0000017 0.0003006 0.0025107
alt 0.7040108 0.2059080 0.0168788 0.0229918 0.0025986 0.0011084 0.0117540 0.0303191 0.0012182 0.0024598 0.0007525
pen 0.5779111 0.1718827 0.0453860 0.0173138 0.0597192 0.0988673 0.0273730 0.0013197 0.0000321 0.0001693 0.0000258
damm 0.6049133 0.2537585 0.0365505 0.0043955 0.0040558 0.0575928 0.0282405 0.0080318 0.0008727 0.0008486 0.0007399
ph 0.0006041 0.1410806 0.8341419 0.0009635 0.0001011 0.0191519 0.0038584 0.0000698 0.0000036 0.0000184 0.0000067
ccl 0.5073674 0.1608976 0.0011427 0.1276631 0.1927636 0.0042914 0.0007856 0.0050309 0.0000244 0.0000000 0.0000333
cft 0.6578923 0.2533920 0.0187588 0.0215411 0.0122645 0.0008099 0.0210751 0.0016358 0.0125772 0.0000212 0.0000321
cnit 0.8127907 0.0113816 0.0001273 0.0971061 0.0000019 0.0212829 0.0434405 0.0097617 0.0003160 0.0037839 0.0000074
camn 0.5884556 0.3347558 0.0161741 0.0299359 0.0079062 0.0017488 0.0074693 0.0015145 0.0067163 0.0053224 0.0000010
oxy 0.5609934 0.1832075 0.0000015 0.1451759 0.0772165 0.0036401 0.0194132 0.0087513 0.0005067 0.0008895 0.0002043
dbo 0.5439445 0.3582425 0.0082985 0.0295026 0.0027516 0.0122213 0.0001299 0.0401883 0.0012753 0.0034454 0.0000000

Obsever que la sumas de las variables en cada una de los componetes es igua a 1, ahora representaremos visualmente o spesos de los cos2:

#visualizacion de cos2
res.pca <- PCA(env, graph = FALSE) # PCA
var <- get_pca_var(res.pca)
# Crear una nueva paleta de colores
mi_paleta <- viridis::viridis(100)
# grafica corplot
corrplot(var$cos2, is.corr=FALSE,col = mi_paleta)

Grafico de circulo de correlacion:

Pregunta 2-d) taller

Es una representación gráfica que muestra cómo las variables originales se relacionan con los componentes principales. En este gráfico, cada variable se representa como un vector que parte del origen (centro del círculo) y apunta en una dirección específica. La longitud de cada vector indica la contribución de esa variable al componente principal, siendo los vectores más largos los que tienen una mayor influencia en ese componente.

res.pca <- PCA(env, graph = FALSE) # PCA
fviz_pca_var(res.pca, col.var = "contrib",
             
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"))

Descripción del Círculo de Correlaciones:

Pregunta 3.1 taller

El Círculo de Correlaciones tiene como objetivo ayudarnos a entender cómo cada variable se relaciona con los componentes principales y entre sí. En el gráfico, las variables que se ubican más cerca entre sí en el círculo indican correlaciones más fuertes y sugieren que están relacionadas en términos de su influencia en los componentes principales.

Las variables “dbo,” “camn,” “cft,” y “cnit” están ubicadas cerca unas de otras en el círculo y presentan correlaciones positivas entre sí. Esto indica que estas variables tienden a variar juntas y comparten una influencia similar en el primer componente principal. Estas correlaciones sugieren una conexión entre estas variables en términos de su impacto en la estructura de los datos.

Las variables ‘alt’ y ‘pen’ se encuentran ubicadas juntas en el segundo cuadrante del círculo de correlación. Esta proximidad en el círculo refleja una correlación positiva entre estas dos variables. En otras palabras, cuando la altitud (elevación) aumenta, la pendiente tiende a ser mayor. Esta superposición en el círculo de correlación sugiere que estas dos variables comparten información similar y se comportan de manera relacionada en el contexto del análisis.

Las variables “oxy” y “ph” también se encuentran cerca en el círculo y presentan cierta correlación. Esto sugiere que la concentración de oxígeno disuelto (“oxy”) y el pH del agua (“ph”) están relacionados y tienden a variar de cierta manera conjunta en las observaciones. En otras palabras, significa que a medida que el pH del agua aumenta(se vuelve más ácido), la concentración de oxígeno disuelto puede aumentar o viceversa. Pero esto se ve implicado por otros factores.

Las variables “damm,” “ccl,” y “dsf” están ubicadas en el círculo en una posición opuesta al grupo de variables en el primer cuadrante. Esto indica que estas variables tienen correlaciones inversas con el primer componente principal. En otras palabras, la información de una de estas variables está relacionada en menor medida con las del primer cuadrante, por lo que hay factores externos que intervienen en su correlación.

Es importante resaltar que todas las variables tienen una contribución e importancia bastante grande en esta investigación, por poco unas más que otras, a excepción del ph, pues esta variable a diferencia del resto, tiene una baja contribución o una correlación débil con respecto a las otras variables incluidas en el análisis puesto que no se acerca mucho al círculo, es decir, se encuentra más cercana al origen.

Finalmente, evaluaremos especialmente los dos primeros ejes desde una perspectiva multivariante y de acuerdo con el contexto del estudio.

Nombrar los ejes en una perspectiva multivariante

Pregunta 3.2 taller

  • Componente Principal 1: Calidad-Nutrientes

El primer eje en el Círculo de Correlaciones refleja la principal fuente de variabilidad en los datos y se asocia con factores críticos que impactan directamente en la calidad del agua y la salud de los ecosistemas fluviales en ríos de montaña. Este componente es influenciado en gran medida por las variables “camn,” “cft,” y “cnit,” las cuales presentan correlaciones positivas entre sí.Estas variables están relacionadas con la calidad del agua y nutrientes, lo que puede indicar la influencia de procesos biológicos y químicos en el ecosistema fluvial, esta relación sugiere que es posible que la contaminación y la actividad humana están ejerciendo una influencia significativa en esta parte del ecosistema.

  • Componente Principal 2: Configuración terreno o Características terreno

El segundo eje en el Círculo de Correlaciones muestra una dirección adicional de la variabilidad en los datos. Las variables “alt”, “pen”, “dbo” y “damn” tienen correlaciones positivas en este componente. En el contexto del estudio, esto puede relacionarse con la topografía y la geomorfología de la región. La altitud (“alt”) y la pendiente (“pen”) están relacionadas con la configuración del terreno y pueden influir en la formación de hábitats acuáticos y la distribución de especies de peces. Esto sugiere que la topografía y la geomorfología de la región tienen un impacto directo en la configuración de los hábitats acuáticos y la distribución de las especies de peces en los ríos de montaña.

BIPLOT Circulo de correlacion simultane :

Pregunta 4 taller

Es una representación que combina dos gráficos en uno. Por un lado, muestra la dispersión de los individuos en el espacio de los componentes principales, y por otro lado, presenta el círculo de correlación que ilustra cómo las variables originales se relacionan con los componentes principales.

res.pca <- PCA(env, graph = FALSE) # PCA
gb <- fviz_pca_biplot(res.pca,title="tabla env",
                      labelsize=3,pointsize=0.5,col.ind="red",repel=TRUE)   

fviz_pca_biplot(res.pca, axes = c(1,2),
                # Individuals
                geom.ind = "point",
                
               )

* Interpretacion:

En este gráfico biplot simultáneo, cada punto representa a un individuo y se combinan con las contribuciones de las 11 variables que forman parte de nuestra investigación. El eje horizontal representa las coordenadas en el Componente Principal 1, mientras que el eje vertical muestra las coordenadas en el Componente Principal 2. Al analizar este gráfico, observamos la distribución de los puntos y buscamos posibles patrones o agrupaciones en los datos. Prestamos especial atención a los individuos que están próximos entre sí en el espacio de componentes. Además, este gráfico se integra con el círculo de correlación, que nos proporciona información sobre cómo las variables originales se relacionan con los componentes principales, completando así nuestra comprensión de la estructura de los datos.

Tipologias tipo cluster observadas

Pregunta 2-c) taller

IMAGEN 2
IMAGEN 2

Para facilitar nuestra orientación, hemos categorizado nuestros datos en cinco grupos distintos, cada uno representado mediante un color específico.

El grupo “Rojo”, ubicado en el cuadrante 2 del círculo de correlaciones en proximidad a las variables “pen” (Pendiente) y “alt” (Altitud), sugiere una fuerte asociación con características geográficas y topográficas en el ecosistema del río Doubs. Dado que estos individuos se encuentran cerca de las variables que representan la pendiente y la altitud, es probable que estén adaptados a hábitats específicos dentro del río, preferiblemente en áreas con pendientes moderadas y altitudes particulares.

El grupo “Azul,” situado en el cuadrante 3 del círculo de correlaciones entre las variables “oxy” (Oxígeno disuelto) y “ph” (pH), sugiere una fuerte asociación con la calidad del agua en el río Doubs. Esto es relevante, especialmente en el contexto de la acuicultura, donde mantener niveles óptimos de pH y oxígeno disuelto es crucial para el bienestar de los individuos, por ejemplo peces. La ubicación de este grupo en el cuadrante 3 podría indicar que estas especies se desarrollan mejor en condiciones de agua con un pH cercano a la neutralidad y niveles adecuados de oxígeno disuelto.

El grupo “Amarillo,” ubicado en el cuadrante 4 del círculo de correlaciones cerca de las variables “damm” (Descarga mínima media), “ccl” (Concentración de calcio), y “dsf” (Distancia desde la fuente), revela patrones interesantes en relación con la ecología de peces en el río Doubs. La proximidad a “damm” sugiere que los individuos pueden estar relacionados con las condiciones de descarga de agua en el río. Esto podría mostrar que se adaptan a niveles específicos de caudal o flujo de agua, lo que podría estar relacionado con sus patrones de reproducción o comportamiento alimenticio. La cercanía a “ccl” (Concentración de calcio) es significativa ya que la concentración de calcio en el agua puede influir en la salud de las especies acuáticas, en particular, en la formación de estructuras óseas y escamas en los peces. Por lo tanto, es posible que las especies en este grupo tengan adaptaciones específicas para condiciones de agua con niveles particulares de calcio, lo que podría estar relacionado con su biología y morfología. La ubicación cercana a “dsf” (Distancia desde la fuente) puede sugerir que estas especies tienen preferencias específicas en términos de la ubicación de su hábitat a lo largo del río, lo que podría estar relacionado con su estrategia de alimentación y reproducción en función de la distancia desde la fuente de agua.

El grupo “Verde” muestra similitudes con el grupo “Amarillo” en términos de asociación con las condiciones del río Doubs. Sin embargo, la posición más alejada del origen sugiere que estas especies tienen una mayor influencia de estas variables, lo que podría indicar que están más especializadas o tienen preferencias más específicas con respecto al caudal del agua, la concentración de calcio y la ubicación del hábitat a lo largo del río.

El grupo “Morado” se caracteriza por su comportamiento exponencial desde el cuadrante 4 al cuadrante 1, abarcando variables como dsf (Distancia desde la fuente), cnit (Concentración de nitrato), cft (Concentración de fosfato), camn (Concentración de amonio) y dbo (Demanda biológica de oxígeno). Aunque los individuos se encuentran dispersos y alejados entre sí, su patrón de crecimiento sugiere una relación entre estas variables. Este grupo podría estar compuesto por especies de peces que responden de manera similar a los cambios en las variables mencionadas. Dado que estas variables están relacionadas con la calidad del agua y la disponibilidad de nutrientes, el grupo “Morado” puede representar especies de peces que comparten adaptaciones ecológicas en función de las condiciones ambientales específicas relacionadas con estas variables.

4. Indice Calidad del Agua (ICA)

Pregunta 5 taller

Inicialmente se deben llevar las variables a factor tamaño, para que todas estén correlacionadas positivamente, para ello se hará una transformación a la variable “alt”.

Como se dijo al principio del documento, alt están medida en m.s.n.m, se cambiará su medida, si se tiene la inversa de “metros sobre el nivel del mar” (1/m.s.n.m), la medida resultante sería “1/metros”. Esto indica una tasa de cambio en unidades inversas a la elevación. En el contexto, se refiere a la variación por unidad de distancia horizontal en relación con la elevación. Un valor de 1/metros indicaría que la elevación disminuye en 1 metro por cada metro de distancia horizontal recorrido. Así se podrá llevar la variable a factor tamaño, por lo que la transformación será entonces el inverso de los datos.

Por otra parte las variables “pen”, “oxy” y “ph” se tomaron como variables suplementarias.

indicealt  <- doubs$env
colnames(indicealt) <- c("dsf","alt","pen","damm","ph",
                   "ccl","cft", "cnit","camn",
                   "oxy","dbo") 
indicealt$alt <- 1/indicealt$alt

pca_result <- PCA(indicealt, quanti.sup = c("pen", "oxy", "ph"), graph =FALSE)

fviz_pca_var(pca_result, col.var = "black",
             col.quanti.sup = "blue"  # Color para las variables complementarias
)

Una vez hecha la transformación y declarada las variables como suplementarias, tenemos todas las variables como factor tamaño y ahora sí se puede proseguir para crear un índice.

Para la creación del índice se enfocará en el primer factor, ya que todas las variables están correlacionadas positivamente respecto a este.

El índice se denominó: “Calidad del Agua” (ICA), el cual está basado en las ocho variables ambientales, proporciona una medida significativa de la calidad del agua en los ecosistemas acuáticos y es especialmente relevante en el contexto de la ecología en ríos de montaña. La reubicación de la variable “alt” en el cuarto cuadrante del círculo de correlaciones destaca su papel crucial en la determinación de la calidad del agua en el río Doubs y, por extensión, en el ecosistema acuático. La altitud influye en varios aspectos, como la temperatura del agua y la disponibilidad de oxígeno disuelto, factores críticos para la supervivencia y el comportamiento de las especies de peces de montaña.

El eje x del índice, representando la calidad del agua, se convierte en una variable clave pues, las zonas de mayor altitud suelen estar asociadas con temperaturas más frías, lo que influye en la solubilidad del oxígeno en el agua y, por lo tanto, en la disponibilidad de oxígeno disuelto. Además, la altitud también se relaciona con cambios en la geología y la geomorfología de la cuenca, lo que afecta la composición química del agua. Variables como “ccl” (Concentración de calcio) y “damm” (Descarga mínima media) pueden verse influenciadas por la altitud. Por ejemplo, en zonas de mayor altitud, es común encontrar aguas más duras (mayor concentración de calcio), lo que puede influir en la disponibilidad de nutrientes y la viabilidad de ciertas especies de peces.

En resumen, este índice es una herramienta valiosa para comprender cómo factores hidrológicos, químicos y geomorfológicos, con un enfoque particular en la altitud, influyen en la calidad del agua en ríos de montaña. Asimismo, la conservación de los ecosistemas acuáticos en ríos de montaña se beneficia significativamente al comprender y monitorear la calidad del agua, lo que a su vez puede ayudar a proteger la biodiversidad de estas regiones.