La distancia más corta

El método de los mínimos cuadrados

El otro día estaba intentando medir la distancia entre Madrid y Nueva York en Google Earth y me encontré con algo inesperado: cuando intentaba trazar una línea recta entre las dos ciudades, esta se torcía y formaba un arco, y no había forma de evitarlo.

Me quedé pensando si no sería verdad aquello que dijo Euclides de que la línea recta es el camino más corto entre dos puntos. Claro que, en seguida, me di cuenta de dónde estaba el error: Euclides pensaba en la distancia entre dos puntos situados en un plano y yo estaba dibujando la distancia mínima entre dos puntos situados en una esfera. Evidentemente, en este caso la distancia más corta no la marca una recta, sino un arco, tal como Google me mostraba.

Y como una cosa lleva a la otra, esto me llevó a pensar en qué pasaría si en vez de dos puntos hubiese muchos más. Esto tiene que ver, como algunos ya imagináis, con la recta de regresión que se calcula para ajustarse a una nube de puntos. Aquí, como es fácil comprender, la recta no puede pasar por todos los puntos sin perder su rectitud, así que los estadísticos idearon una forma para calcular la recta que más se aproxime en promedio a todos los puntos. El método que más utilizan es el que llaman método de los mínimos cuadrados, cuyo nombre hace presagiar algo extraño y esotérico. Sin embargo, el razonamiento para calcularlo es mucho más sencillo y, por ello, no menos ingenioso. Veámoslo.

El método de los mínimos cuadrados

El modelo de regresión lineal posibilita, una vez establecida una relación lineal, efectuar predicciones sobre el valor de una variable Y sabiendo los valores de un conjunto de variables X1, X2,… Xn. A la variable Y la llamamos dependiente, aunque también se la conoce como variable objetivo, endógena, criterio o explicada. Por su parte, las variables X son las variables independientes, conocidas también como predictoras, explicativas, exógenas o regresoras.

Cuando hay varias variables independientes nos encontramos ante un modelo de regresión lineal múltiple, mientras que cuando hay solo una hablaremos de la regresión lineal simple. Por hacerlo más sencillo, nos centraremos, cómo no, en la regresión simple, aunque el razonamiento vale también para la múltiple.

Como ya hemos dicho, la regresión lineal requiere eso, que la relación entre las dos variables sea lineal, así que puede representarse mediante la siguiente ecuación de una línea recta:

Recta de regresión

Aquí nos encontramos con dos amigos nuevos acompañando a nuestras variables dependiente e independiente: son los coeficientes del modelo de regresión. β0 representa la constante del modelo (también llamada intercepto) y es el punto donde la recta corta el eje de ordenadas (el de las Y, para entendernos bien). Representaría el valor teórico de la variable Y cuando la variable X vale cero.

Por su parte, β1 representa la pendiente (inclinación) de la recta de regresión. Este coeficiente nos dice el incremento de unidades de la variable Y que se produce por cada incremento de una unidad de la variable X.

Nos volvemos a encontrar con el azar

Esta sería la recta teórica general del modelo. El problema es que la distribución de valores no se va a ajustar nunca de manera perfecta a ninguna recta así que, cuando vayamos a calcular un valor de Y determinado (yi) a partir de un valor de X (xi) habrá una diferencia entre el valor real de yi y el que obtengamos con la fórmula de la recta. Ya nos hemos vuelto a encontrar con el azar, nuestro compañero inseparable, así que no tendremos más remedio que incluirlo en la ecuación:

Recta de regresión con el componente aleatorio

Aunque parezca una fórmula similar a la anterior, ha sufrido una profunda transformación. Ahora tiene dos componentes bien diferenciados, un componente determinista y otro estocástico (error). El componente determinista lo marcan los dos primeros elementos de la ecuación, mientras que el estocástico lo marca el error en la estimación. Los dos componentes se caracterizan por su variable aleatoria, yi y εi, respectivamente, mientras que xi sería un valor determinado y conocido de la variable X.

Vamos a centrarnos un poco en el valor de εi. Ya hemos dicho que representa la diferencia entre el valor real de yi en nuestra nube de puntos y el que nos proporcionaría la ecuación de la recta (el valor estimado, representado como ŷi). Podemos representarlo matemáticamente de la siguiente forma:

Cálculo del residuo de una estimación

Este valor se conoce con el nombre de residuo y su valor depende del azar, aunque si el modelo no está bien especificado pueden también influir otros factores de manera sistemática, pero eso no nos influye para lo que estamos tratando.

Recapitulemos

Vamos a recapitular lo que tenemos hasta aquí:

  1. Una nube de puntos sobre la que queremos dibujar la recta que mejor se ajuste a la nube.
  2. Un número infinito de rectas posibles, de entre las que queremos seleccionar una concreta.
  3. Un modelo general con dos componentes: uno determinista y otro estocástico. Este segundo va a depender, si el modelo es correcto, del azar.

Los valores de las variables X e Y ya los tenemos en nuestra nube de puntos para la que queremos calcular la recta. Lo que variará en la ecuación de la recta que seleccionemos serán los coeficientes del modelo, β0 y β1. ¿Y qué coeficientes nos interesan? Lógicamente, aquellos con los que el componente aleatorio de la ecuación (el error) sea lo menor posible. Dicho de otra forma, queremos la ecuación con un valor de la suma de residuos lo más bajo posible.

Partiendo de la ecuación anterior de cada residuo, podemos representar la suma de residuos de la forma siguiente, donde n es el número de pares de valores de X e Y de que disponemos:

Sumatorio de residuos

Pero esta fórmula no nos sirve. Si la diferencia entre el valor estimado y el real es aleatoria, unas veces será positiva y otras, negativa. Es más, su media será o estará muy próxima a cero. Por este motivo, como en otras ocasiones en las que lo que interesa es medir la magnitud de la desviación, tenemos que recurrir a un método que impida que los negativos se anulen con los positivos, así que calculamos estas diferencias elevadas al cuadrado, según la fórmula siguiente:

Sumatorio del cuadrado de los residuos

¡Ya lo tenemos!

¡Por fin! Ya sabemos de dónde viene el método de los mínimos cuadrados: buscamos la recta de regresión que nos proporcione un valor lo menor posible de la suma de los cuadrados de los residuos. Para calcular los coeficientes de la recta de regresión solo tendremos que ampliar un poco la ecuación anterior, sustituyendo el valor estimado de Y por los términos de la ecuación de la recta de regresión:

Sumatorio del cuadrado de los residuos

y encontrar los valores de b0 y b1 que minimicen la función. A partir de aquí la cosa es coser y cantar, solo tenemos que igualar a cero las derivadas parciales de la ecuación anterior (tranquilos, vamos a ahorrarnos la jerga matemática dura) para obtener el valor de b1:

Cálculo de la pendiente de la recta

Donde tenemos en el numerador la covarianza de las dos variables y, en el denominador, la varianza de la variable independiente. A partir de aquí, el cálculo de b0 es pan comido:

Cálculo del interceptor

Ya podemos construir nuestra recta que, si os fijáis un poco, pasa por los valores medios de X e Y.

Un ejemplo práctico

Y con esto terminamos la parte ardua de esta entrada. Todo lo que hemos dicho es para poder comprender qué significa lo de los mínimos cuadrados y de dónde viene el asunto, pero no es necesario hacer todo esto para calcular la recta de regresión lineal. Los paquetes estadísticos lo hacen en un abrir y cerra de ojos.

Cálculo del modelo de regresión lineal con RPor ejemplo, en R se calcula mediante la función lm(), iniciales de linear model. Veamos un ejemplo utilizando la base de datos “trees” (circunferencia, volumen y altura de 31 observaciones sobre árboles), calculando la recta de regresión para estimar el volumen de los árboles conociendo su altura:

modelo_reg <- lm(Height~Volume, data = trees)

summary(modelo_reg)

La función lm() devuelve el modelo a la variable que le hemos indicado (modelo_reg, en este caso), que podremos explotar después, por ejemplo, con la función summary(). Esto nos proporcionará una serie de datos, tal como podéis ver en la figura adjunta.

En primer lugar, los cuartiles y la mediana de los residuos. Para que el modelo sea correcto interesa que la mediana esté próxima a cero y que los valores absolutos de los residuos se distribuyan de manera uniforme entre los cuartiles (similar entre máximo y mínimo y entre primer y tercer cuartil).

A continuación, se muestra la estimación puntual de los coeficientes junto con su error estándar, lo que nos permitirá calcular sus intervalos de confianza. Esto se acompaña de los valores del estadístico t con su significación estadística. No lo hemos dicho, pero los coeficientes siguen una distribución de la t de Student con n-2 grados de libertad, lo que nos permite saber si son estadísticamente significativos.

Por último, se proporciona la desviación estándar de los residuos, el cuadrado del coeficiente de correlación múltiple o coeficiente de determinación (la precisión con que la recta representa la relación funcional entre las dos variables; su raíz cuadrada en regresión simple es el coeficiente de correlación de Pearson), su valor ajustado (que será más fiable cuando calculemos modelos de regresión con muestras pequeñas) y el contraste F para validar el modelo (los cocientes de las varianzas siguen una distribución de la F de Snedecor).

Así, nuestra recta de regresión quedaría de la siguiente manera:Representación gráfica de la nube de puntos y la recta de regresión

Altura = 69 + 0,23xVolumen

Ya podríamos calcular qué altura tendría un árbol con un volumen determinado que no estuviese en nuestra muestra (aunque debería estar dentro del rango de datos utilizados para calcular la recta de regresión, ya que es arriesgado hacer predicciones fuera de este intervalo).

Además, con el comando scatterplot(Volume ~ Height, regLine = TRUE, smooth = FALSE, boxplots = FALSE, data = trees), podríamos dibujar la nube de puntos y la recta de regresión, como podéis ver en la segunda figura.

Y podríamos calcular muchos más parámetros relacionados con el modelo de regresión calculado por R, pero lo vamos a dejar aquí por hoy.

Nos vamos…

Antes de terminar, deciros que el método de los mínimos cuadrados no es el único que nos permite calcular la recta de regresión que mejor se ajuste a nuestra nube de puntos. Existe también otro método que es el de la máxima verosimilitud, que da más importancia a la elección de los coeficientes más compatibles con los valores observados. Pero esa es otra historia…

Ni tanto ni tan calvos

¿Os habéis preguntado alguna vez por qué la gente se queda calva, especialmente los varones a determinada edad?. Creo que tiene algo que ver con las hormonas. El caso es que es algo que suele gustar poco al afectado, y eso que hay una creencia popular que dice que los calvos son más inteligentes. A mí me parece que no tiene nada de malo ser calvo (es mucho peor ser gilipollas), claro que yo tengo todo mi pelo en la cabeza.

Siguiendo el hilo de la calvicie, supongamos que queremos saber si el color de pelo tiene algo que ver con quedarse calvo antes o después. Montamos un ensayo absurdo en el que reunimos 50 rubios y 50 morenos para estudiar cuántos se quedan calvos y en qué momento lo hacen.

Este ejemplo nos sirve para ilustrar los diferentes tipos de variables que podemos encontrarnos en un ensayo clínico y los diferentes métodos que debemos utilizar para comparar cada una de ellas.

Algunas variables son de tipo cuantitativo continuo. Por ejemplo, el peso de los participantes, su talla, su sueldo, el número de pelos por centímetro cuadrado, etc. Otras son de tipo cualitativo, como el color de pelo. En nuestro caso lo simplificaríamos a una variable binaria: rubio o moreno. Por último, encontramos variables llamadas de tiempo a evento, que nos muestran el tiempo que tardan los participantes en sufrir el evento en estudio, en nuestro caso, la calvicie.

Pues bien, a la hora de comparar si existen diferencias entre estas variables entre los dos grupos el método que elijamos vendrá determinado por el tipo de variable que estemos considerando.

Si queremos comparar una variable continua como la edad o el peso entre calvos y peludos, o entre rubios y morenos, tendremos que utilizar la prueba de la t de Student, siempre que nuestros datos se ajusten a una distribución normal. En el caso de que no sea así, la prueba no paramétrica que tendríamos que utilizar es la de Mann-Withney.

¿Y qué pasa si queremos comparar varias variables continuas a la vez?. Pues que podremos utilizar la regresión lineal múltiple para hacer las comparaciones entre variables.

En el caso de las variables cualitativas el enfoque es diferente. Para saber si existe dependencia estadísticamente significativa entre dos variables tendremos que construir la tabla de contingencia y recurrir a la prueba de la chi-cuadrado o a la prueba exacta de Fisher, según la naturaleza de los datos. Ante la duda podemos hacer siempre la prueba de Fisher. Aunque implica un cálculo más complejo, esto no es problema para cualquiera de los paquetes estadísticos disponibles hoy en día.

Otra posibilidad es calcular una medida de asociación como el riesgo relativo o la odds ratio con sus correspondientes intervalos de confianza. Si los intervalos no cruzan la línea de efecto nulo (el uno), consideraremos que la asociación es estadísticamente significativa.

Pero puede ocurrir que lo que queramos comparar sean varias variables cualitativas. En estos casos podremos utilizar un modelo de regresión logística.

Por último, vamos a hablar de las variables de tiempo a evento, algo más complicadas de comparar. Si utilizamos una variable como puede ser el tiempo que tardan en quedarse calvos nuestros sujetos podemos construir una curva de supervivencia o de Kaplan-Meier, que nos muestra de forma gráfica que porcentaje de sujetos queda en cada momento sin presentar el evento (o que porcentaje ya lo ha presentado, según como la leamos). Ahora bien, podemos comparar las curvas de supervivencia de rubios y morenos y ver si existen diferencias en la velocidad a la que se quedan calvos los dos grupos. Para esto utilizamos la prueba de los rangos logarítmicos, más conocida por su nombre en inglés: log rank test.

Este método se basa en la comparación entre las dos curvas en base a las diferencias entre los valores observados y los esperados si la supervivencia (la producción del evento en estudio, que no tiene porqué ser muerte) fuese igual en los dos grupos. Con este método podemos obtener un valor de p que nos indica si la diferencia entre las dos curvas de supervivencia es o no estadísticamente significativa, aunque no nos dice nada de la magnitud de la diferencia.

El caso de cálculo más complejo sería el supuesto de que queramos comparar más de dos variables. Para el análisis multivariado hay que servirse de un modelo de regresión de riesgos proporcionales de Cox. Este modelo es más complejo que los anteriores pero, una vez más, los programas informáticos lo llevan a cabo sin la menor dificultad si les introducimos los datos adecuados.

Y vamos a dejar a los calvos tranquilos de una vez. Podríamos hablar más acerca de las variables de tiempo a evento. Las curvas de Kaplan-Meier nos dan una idea de quién va presentando el evento a lo largo del tiempo, pero no nos dicen nada del riesgo de presentarlo en cada momento. Para eso necesitamos otro indicador, que es el cociente de riesgos instantáneos o hazard ratio. Pero esa es otra historia…