Capítulo 5 Transformación y Estandarización de datos
Cuando trabajamos con datos multivariantes cabe la posibilidad de que los datos dentro de esta matriz tengan diferencias de magnitud importantes. Como vimos antes, el cálculo de distancia entre los sitios puede verse fuertemente afectado por la magnitud de sus diferencias.
En el ejemplo que mostramos en el inicio, las similitudes entre comunidades basadas en las dos primeras especies, las diferencias dependen de la escala de medición (los valores de los ejes), y sobre cómo medimos la distancia a través del espacio multivariado (Stevens 2009).
De esta forma, las diferencias entre sitios son dependientes de la abundancia de cada especie. En el caso de G. spinosa su eje varía entre 5 y 21, mientras que para T. billbergii varía entre 1 y 3 (Figura 5.1a). Veamos ahora que sucede con las similitud si incremento la abundancia de T. billbergii (Figura 5.1b).
par(mar=c(4,4,1,1), mgp=c(1,0.3,0), mfcol=c(1,2), tcl= -0.2)
<- dens
dens1 $T.bil <- dens1$T.bil*100
dens1plot(dens[,1:2], type = "n", cex.axis=0.8, xlim=c(0,30), ylim=c(0,30), main="a.")
text(dens[,1:2], row.names(dens), col ="blue")
plot(dens1[,1:2], type = "n", cex.axis=0.8, ylim=c(0,300), main="b.")
text(dens1[,1:2], row.names(dens1), col ="blue")
Como vemos en la figura 5.1 las distancias entre cada uno de los sitios cambio cuando incremento la abundancia de T. bilbergi, aunque este incremento fue proporcional. Una forma de corregir esta distorsión es calcular la densidad relativa de cada especie, de esta forma cada especie variará entre 0 y 1 (Stevens 2009). Cuando nos referimos a densidad relativa hablamos de la densidad de una especie con referencia a algo, en este caso con relación a la abundancia de individuos de la misma especie en otros sitios.
Para calcular la densidad relativa dividimos la abundancia de cada especie para la suma total de los individuos de las especies en esa muestra.
1]/sum(dens[,1]) dens[,
## [1] 0.1428571 0.1428571 0.2857143 0.4285714
1]/sum(dens1[,1]) dens1[,
## [1] 0.1428571 0.1428571 0.2857143 0.4285714
Ahora podemos ver cómo T. billbergii varía en su abundancia en los cuatro sitios. Los sitios A y B tienen el 14% de individuos mientras que el D tiene el 42% de los individuos de esta especie. Interesantemente, no hay diferencias en las proporciones entre las dos medidas que tenemos. ¿Qué pasó con las distancias?
En la figura 5.2 podemos apreciar que no hay diferencias entre las dos comunidades cuando estoy usando la densidad relativa. Pero ¿Qué implicaciones biológicas tiene el usar las densidades relativas para calcular la distancia entre sitios?
Cuando usamos las densidades relativas estamos dando el mismo peso a todas las especies. En un ecosistema con una especie dominante y varias subordinadas, al usar la densidad relativa estoy eliminando esa dominancia. Es importante tener claro este punto, ya que las interpretaciones que puedo hacer con los datos de abundancia y abundancia relativa son distintos.
5.1 Transformación de datos
Esta claro que la magnitud de las diferencias entre las variables tiene un impacto sobre el cálculo de la distancia. Ahora, nos interesa poder manejar el efecto de esas diferencias, para lo cual desarrollamos una transformación.
La transformación de datos implica una modificación de los datos brutos a través de una ecuación algebraica. La transformación de datos implica una modificación independientemente para cada dato, no existe influencia del resto de datos.
LOCALIDAD | Allu | Atop | Atri | Baet | Bezz | Blep | Cera | Chel | Chim | Chir | Cole |
---|---|---|---|---|---|---|---|---|---|---|---|
Bo-1 | 0 | 0 | 0 | 6 | 0 | 1 | 0 | 1 | 3 | 18 | 4 |
Bo-2 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 1 | 9 | 0 |
Bo-3 | 0 | 0 | 0 | 6 | 0 | 0 | 1 | 1 | 1 | 9 | 0 |
BP-1 | 0 | 3 | 0 | 81 | 0 | 0 | 0 | 0 | 0 | 27 | 0 |
BP-2 | 0 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
BP-3 | 0 | 0 | 0 | 54 | 0 | 0 | 1 | 0 | 0 | 9 | 0 |
Pa-1 | 1 | 0 | 0 | 984 | 0 | 0 | 0 | 0 | 0 | 81 | 0 |
Pa-2 | 0 | 0 | 0 | 15 | 0 | 0 | 0 | 0 | 1 | 9 | 0 |
Pa-3 | 0 | 0 | 0 | 93 | 1 | 0 | 0 | 0 | 0 | 18 | 0 |
Ur-1 | 0 | 0 | 0 | 6 | 0 | 0 | 0 | 0 | 0 | 855 | 0 |
Ur-2 | 0 | 0 | 1 | 12 | 0 | 0 | 0 | 1 | 0 | 9 | 0 |
Ur-3 | 0 | 0 | 0 | 0 | 10 | 0 | 0 | 0 | 0 | 27 | 0 |
En la tabla anterior podemos ver que la comunidad está compuesta por un par de especies dominantes y varias especies raras.
Al transformar los datos evitamos que las especies dominantes definan el cálculo de la distancia.
Existen varias posibilidades para transformar los datos, por lo que definir que función utilizar es importante. Cada tipo de transformación produce resultados distintos por lo que debemos utilizarlas con precaución.
La transformación más sencilla o menos intensa es la raíz cuadrada, mientras que el logaritmo es la transformación más intensa, podríamos utilizar la raíz cuarta como una función intermedia. La raíz cuadrada la utilizaríamos cuando tenemos diferencias con variaciones de una magnitud de diferencia (entre decenas y centenas), mientras que la transformación logarítmica la haríamos con comunidades donde hay más de una magnitud de diferencia (entre decenas y miles).
Aunque hay muchos autores que aconsejan realizar transformaciones hay que ser conscientes de lo que estamos haciendo, transformaciones muy fuertes en una matriz con pocas diferencias pueden hacer que, por ejemplo, las especies raras tengan igual peso que las dominantes, ¿esto es lo que queremos?
Recuerde: las diferentes transformaciones tienen interpretaciones biológicas distintas. Debemos ser conscientes de lo que estamos haciendo y de su posterior interpretación biológica.
Veamos un ejemplo:
set.seed(4)
<- data.frame(sp1= sample(1:90, 10), sp2= sample(100:250, 10))
aves
<- data.frame(sp1= sample(5:99, 10), sp2= sample(1000:2500, 10))
insectos
##¿Qué pasa cuando transformamos?
<- round(cbind(aves, sqrt(aves),log(aves)),2)
aveT colnames(aveT) <- paste(rep(c("sp1", "sp2"), 3), c("","","sqrt", "sqrt", "log", "log"), sep=".")
kable(aveT, caption = "Efecto de la transformación. Pequeñas diferencias")
sp1. | sp2. | sp1.sqrt | sp2.sqrt | sp1.log | sp2.log |
---|---|---|---|---|---|
75 | 201 | 8.66 | 14.18 | 4.32 | 5.30 |
51 | 229 | 7.14 | 15.13 | 3.93 | 5.43 |
3 | 228 | 1.73 | 15.10 | 1.10 | 5.43 |
71 | 183 | 8.43 | 13.53 | 4.26 | 5.21 |
44 | 134 | 6.63 | 11.58 | 3.78 | 4.90 |
58 | 208 | 7.62 | 14.42 | 4.06 | 5.34 |
89 | 147 | 9.43 | 12.12 | 4.49 | 4.99 |
56 | 200 | 7.48 | 14.14 | 4.03 | 5.30 |
30 | 224 | 5.48 | 14.97 | 3.40 | 5.41 |
62 | 249 | 7.87 | 15.78 | 4.13 | 5.52 |
<- round(cbind(insectos, sqrt(insectos),log(insectos)),2)
insT colnames(insT) <- paste(rep(c("sp1", "sp2"), 3), c("","","sqrt", "sqrt", "log", "log"), sep=".")
kable(insT, caption = "Efecto de la transformación, Grandes diferencias")
sp1. | sp2. | sp1.sqrt | sp2.sqrt | sp1.log | sp2.log |
---|---|---|---|---|---|
36 | 1202 | 6.00 | 34.67 | 3.58 | 7.09 |
51 | 2428 | 7.14 | 49.27 | 3.93 | 7.79 |
48 | 2088 | 6.93 | 45.69 | 3.87 | 7.64 |
73 | 1303 | 8.54 | 36.10 | 4.29 | 7.17 |
19 | 1151 | 4.36 | 33.93 | 2.94 | 7.05 |
26 | 1891 | 5.10 | 43.49 | 3.26 | 7.54 |
96 | 2338 | 9.80 | 48.35 | 4.56 | 7.76 |
68 | 1396 | 8.25 | 37.36 | 4.22 | 7.24 |
53 | 1979 | 7.28 | 44.49 | 3.97 | 7.59 |
58 | 2339 | 7.62 | 48.36 | 4.06 | 7.76 |
5.2 Estandarización de los datos
La estandarización de los datos permite modificar las variables transformándolas en unidades de desviación típica, lo que nos permite comparar entre valores de distribuciones normales diferentes, o de valores diferentes.
La estandarización o tipificación se lo realiza restando a cada valor el valor medio de la variable y dividiendo para la desviación estándar.
<- (aves[,1]-mean(aves[,1]))/sd(aves[,1])
avesE avesE
## [1] 0.86745705 -0.11922395 -2.09258597 0.70301022 -0.40700592 0.16855801
## [7] 1.44302097 0.08633459 -0.98256984 0.33300484
round(mean(avesE),1);sd(avesE)
## [1] 0
## [1] 1
Como vemos las variables estandarizadas tienen como propiedad que la desviación estándar es 1 y la media es 0.