Ciencia sin seso… locura doble

Píldoras sobre medicina basada en pruebas

Entradas etiquetadasBootstrapping
image_pdf

Una tarea imposible

Eso es el bootstrapping. Una idea imposible de llevar a cabo. Además de un palabro intraducible, claro está.

El nombre tiene relación con la especie de correas (straps, en inglés) que tienen las botas (boots, también en inglés) en su parte superior, sobre todo esas botas de vaqueros que vemos en las películas. Bootstrapping es un término que, al parecer, hace referencia a la acción de elevarse a uno mismo del suelo tirando simultáneamente de las correas de las dos botas. Como os dije, una tarea imposible gracias a la tercera ley de Newton, el famoso principio de acción y reacción.  He buscado y rebuscado términos adecuados para traducirlo al castellano, pero no he encontrado ninguno que me agrade, así que se admiten sugerencias al respecto.

El bootstrapping es una técnica de remuestreo que se emplea en estadística cada vez con más frecuencia gracias a la potencia de los ordenadores actuales, que permiten hacer cálculos que antes podían ser inconcebibles. Quizás su nombre tenga que ver con su carácter de tarea imposible, porque el bootstrapping se utiliza para hacer posibles tareas que podrían parecer imposibles cuando el tamaño de nuestras muestras es muy pequeño o cuando las distribuciones están muy sesgadas, como la obtención de intervalos de confianza, de pruebas de significación estadística o de cualquier otro estadístico en el que estemos interesados.

Como recordaréis de cuando calculamos el intervalo de confianza de una media, podemos hacer el experimento teórico de obtener múltiples muestras de una población para calcular la media de cada muestra y representar la distribución de las medias obtenidas de las múltiples muestras. Es la llamada distribución de muestreo, cuya media es el estimador del parámetro en la población y cuya desviación estándar es el llamado error estándar del estadístico que nos permitirá calcular el intervalo de confianza que deseemos. De esta forma, la extracción de muestras repetidas de la población nos permite hacer descripciones e inferencias estadísticas.

Pues bien, el bootstrapping es algo parecido, pero con una diferencia fundamental: las muestras sucesivas se extraen de nuestra muestra y no de la población de la que procede. El procedimiento sigue una serie de pasos repetitivos.

En primer lugar extraemos una muestra a partir de la muestra original. Esta muestra debe extraerse utilizando un muestreo con reposición, de tal forma que algunos elementos no serán seleccionados y otros lo podrán ser más de una vez en cada muestreo. Es lógico, si tenemos una muestra de 10 elementos y extraemos 10 elementos sin reposición, la muestra obtenida será igual a la original, con lo que no ganamos nada.

De esta nueva muestra se obtiene el estadístico deseado y se utiliza como estimador de la población. Como este estimador sería poco preciso, repetimos los dos pasos anteriores un gran número de veces, obteniendo así un número alto de estimaciones.

Ya casi estamos. Con todos estos estimadores construimos su distribución, que llamamos distribución de bootstrap, y que representa una aproximación de la verdadera distribución del estadístico en la población. Lógicamente, para esto hace falta que la muestra original de la que partimos sea representativa de su población. Cuánto más se aleje, menos fiable será la aproximación de la distribución que hemos calculado.

Por último, con esta distribución de bootstrap podemos calcular el valor central (el estimador puntual) y sus intervalos de confianza de forma similar a como hacíamos para calcular el intervalo de confianza de una media a partir de la distribución de muestreo.

Como veis, un método ingenioso que a nadie se le ocurriría poner en práctica sin la ayuda de un programa de estadística y un buen ordenador. Vamos a ver un ejemplo práctico para entenderlo mejor.

Supongamos por un momento que queremos saber cuál es el consumo de alcohol en un grupo determinado de personas. Reunimos 20 individuos y calculamos su consumo de alcohol en gramos semanales, obteniendo los siguientes resultados:

ingesta alcohol

consumo_alcoholLos datos podemos verlos representados en el primer histograma. Como veis, la distribución es asimétrica con un sesgo positivo (hacia la derecha). Tenemos un grupo de abstemios o bebedores escasos y una cola representada por los que van teniendo consumos cada vez más altos, que son cada vez menos frecuentes. Este tipo de distribución es muy frecuente en biología.

En este caso la media no sería buena medida de tendencia central, así que preferimos calcular la mediana. Para ello, podemos ordenar los valores de menor a mayor y hacer la media entre los que ocupan los lugares décimo y undécimo. Yo me he molestado en hacerlo y sé que la mediana vale (4,77+5)/2 = 4,88.

Ahora bien, a mí me interesa saber el valor de la mediana en la población de la que procede la muestra. Con una muestra tan pequeña y tan sesgada no puedo aplicar los procedimientos habituales y no tengo posibilidad de buscar más individuos de la población para hacerles el estudio. En este momento es donde entra en juego el bootstrapping.

Así que obtengo 1000 muestras con reposición de mi muestra original y calculo la mediana de las 1000 muestras. La distribución de bootstrap de esas 1000 medianas aparece representada en el segundo histograma. Como puede comprobarse, se parece a una distribución normal, cuya media es 4,88 y cuya desviación estándar es 1,43.

Bueno, ya podemos calcular nuestro intervalo de confianza para hacer la estimación poblacional. Podemos hacerlo de dos formas. La primera, calculando los márgenes que engloban el 95% de la muestra (calculando los percentiles 2,5 y 97,5) y que veis representados en el tercer gráfico. Yo he utilizado el programa R, pero puede hacerse de forma manual utilizando fórmulas para el cálculo de percentiles (aunque no es muy recomendable, ya que hay 1000 medianas que ordenar). Así, obtengo una mediana de 4,88 con un intervalo de confianza del 95% de 2,51 a 7,9.

La otra forma es recurriendo al teorema central del límite, que no podíamos usar con la muestra original pero sí con la distribución de bootstrap. Sabemos que el intervalo de confianza del 95% será igual a la mediana más menos 1,96 veces el error estándar (que es la desviación estándar de la distribución de bootstrap). Luego:

IC 95 = 4,88 ± 1,96 x 1,43 = 2,08 a 7,68.

Como veis, se parece bastante al que habíamos obtenido con la aproximación de los percentiles.

Y aquí lo dejamos, antes de que alguna cabeza se recaliente demasiado. Para animaros un poco, todo este rollo puede evitarse si se utiliza directamente un programa como R, que calcula el intervalo, y hace el bootstrapping si es necesario, con una instrucción tan sencilla como el comando ci.median() de la librería asbio.

Nada más por hoy. Solo deciros que el bootstrapping es quizás la más famosa de las técnicas de remuestreo, pero no la única. Hay más, algunas también con nombre peculiar como jacknife, pruebas de aleatorización y permutación o prueba de validación cruzada. Pero esa es otra historia…

No todo es normal

Dice el diccionario que una cosa es normal cuando se halla en un estado natural o que se ajusta a unas normas fijadas de antemano. Y este es su significado más normal. Pero como muchas otras palabras, normal tiene otros muchos significados. En estadística, al hablar de normal nos referimos a una distribución de probabilidad determinada, la llamada distribución normal, la famosa campana de Gauss.

Esta distribución se caracteriza por su simetría alrededor de una media, que coincide con la mediana, además que otras características que ya comentamos en una entrada anterior. La gran ventaja de la distribución normal es que nos permite calcular probabilidades de aparición de datos de esa distribución, lo que tiene como consecuencia la posibilidad de inferir datos de la población a partir de los obtenidos de una muestra de la misma.

Así, prácticamente todas las pruebas paramétricas de contraste de hipótesis necesitan que los datos sigan una distribución normal. Podría pensarse que esto no es un gran problema. Si se llama normal será porque los datos biológicos suelen seguir, más o menos, esta distribución. Craso error, muchos datos siguen una distribución que se aparta de la normalidad. Pensemos, por ejemplo, en el consumo de alcohol. Los datos no se agruparán de forma simétrica alrededor de una media. Al contrario, la distribución tendrá un sesgo positivo (hacia la derecha): habrá un número grande alrededor del cero (los abstemios o bebedores muy ocasionales) y una larga cola hacia la derecha formada por personas con un consumo más alto. La cola se prolongará mucho hacia la derecha con los valores de consumo de esas personas que se desayunan con cazalla.

¿Y en qué nos afecta para nuestros cálculos estadísticos que la variable no siga una normal?. ¿Qué tenemos que hacer si los datos no son normales?.

curva_normalLo primero que tenemos que hacer es darnos cuenta de que la variable no sigue una distribución normal. Ya vimos que existen una serie de métodos gráficos que nos permiten aproximar de forma visual si los datos siguen la normal. El histograma o el diagrama de cajas (box-plot) nos permiten comprobar si la distribución está sesgada, si es demasiado plana o picuda, o si tiene valores extremos. El gráfico más específico para este fin es el de probabilidad normal (q-q plot), en el que los valores se ajustan a la línea diagonal si la distribución sigue una normal.

Otra posibilidad es emplear pruebas de contraste numéricas como la de Shapiro-Wilk o la de Kolmogorov-Smirnov. El problema de estas pruebas es que son muy sensibles al efecto del tamaño de la muestra. Si la muestra es grande pueden afectarse por desviaciones de la normalidad poco importantes. Al contrario, si la muestra es pequeña, pueden fracasar en la detección de desviaciones grandes de la normalidad. Pero es que estas pruebas, además, tienen otro inconveniente que entenderéis mejor tras un pequeño inciso.

Ya sabemos que en un contraste de hipótesis se establece una hipótesis nula que, habitualmente, dice lo contrario de lo que queremos demostrar. Así, si el valor de significación estadística es menor de valor definido (habitualmente 0,05), rechazamos la hipótesis nula y nos quedamos con la alternativa, que dirá precisamente lo que queremos demostrar. El problema es que la hipótesis nula es solo falsable, nunca podemos decir que sea verdadera. Simplemente, si la significación estadística es alta, no podremos rechazar que sea falsa, pero eso no quiere tampoco decir que sea cierta. Puede ocurrir que el estudio no tenga potencia suficiente para descartar una hipótesis nula que, en realidad, es falsa.

Pues bien, da la casualidad de que los contrastes de normalidad están planteados con una hipótesis nula que dice que los datos siguen una normal. Por eso, si la significación es pequeña, podremos descartarla y decir que los datos no son normales. Pero si la significación es alta, simplemente no podremos rechazarla y diremos que no tenemos capacidad para decir que los datos no siguen una normal, lo que no es lo mismo que poder afirmar que son normales. Por estos motivos, siempre es conveniente complementar los contrastes numéricos con algún método gráfico para comprobar la normalidad de la variable.

Una vez que sabemos que los datos no son normales, tendremos que tenerlo en cuenta a la hora de describirlos. Si la distribución es muy sesgada no podremos utilizar la media como medida de centralización y tendremos que recurrir a otros estimadores robustos, como la mediana o el otro abanico de medias disponibles para estas situaciones.

Además, la ausencia de normalidad puede desaconsejar el uso de pruebas paramétricas de contraste. La prueba de la t de Student o el análisis de la varianza (ANOVA) precisan que la distribución sea normal. La t de Student es bastante robusta en este sentido, de forma que si la muestra es grande (n > 80) puede emplearse con cierta seguridad. Pero si la muestra es pequeña o la distribución se aparta mucho de la normal, no podremos utilizar pruebas paramétricas de contraste.

Una de las posibles soluciones a este problema sería intentar una transformación de los datos. La más frecuentemente empleada en biología es la transformación logarítmica, muy útil para aproximar a una normal aquellas distribuciones con sesgo positivo (hacia la derecha). No hay que olvidar deshacer la transformación de los datos una vez realizado el contraste con la prueba en cuestión.

La otra posibilidad es emplear pruebas no paramétricas, que no precisan de ninguna asunción sobre la distribución de la variable. Así, para comparar dos medias de datos no pareados emplearemos el test de la suma de rangos de Wilcoxon (también llamado test de la U de Mann-Withney). Si los datos son pareados habrá que usar el test de los signos de los rangos de Wilcoxon. En caso de comparaciones de más de dos medias medias, el test de Kruskal-Wallis será el equivalente no paramétrico de la ANOVA. Por último, comentar que el equivalente no paramétrico del coeficiente de correlación de Pearson es el coeficiente de correlación de Spearman.

El problema de las pruebas no paramétricas es que son más exigentes para conseguir significación estadística que sus equivalentes paramétricos, pero deben emplearse en cuanto haya la menor duda sobre la normalidad de la variable que estemos contrastando.

Y aquí lo vamos a dejar por hoy. Podríamos hablar de una tercera posibilidad de enfrentarnos a una variable no normal, mucho más exótica que las mencionadas. Se trata de la utilización de técnicas de remuestreo como el bootstrapping, que consiste en hacer una distribución empírica de las medias de muchas muestras extraídas de nuestros datos para poder hacer inferencias con los resultados obtenidos, conservando así las unidades originales de la variable y evitando el vaivén de las técnicas de trasformación de datos. Pero esa es otra historia…