ANÁLISIS DE REGRESIÓN


Bajo el nombre de análisis de regresión se engloba al conjunto de herramientas que permiten explicar (modelar matemáticamente) el comportamiento de una variable (variable respuesta (Y)) a partir de la información proporcionada por una o más variables (variable/s explicativa/s (X’s)).

TRABAJEMOS SOBRE UN EJEMPLO SENCILLO

Contamos con información sobre la altura y el peso de 7 personas de la misma población que estudiamos la clase pasada.


ID_persona altura_cm peso_kg
1 188.6 79.7
2 172.5 70.9
3 181.9 74.9
4 165.3 64.5
5 158.6 61.9
6 157.4 59.1
7 193.3 82.2

TRABAJEMOS SOBRE UN EJEMPLO SENCILLO

El propósito es utilizar la información anterior para construir un modelo que permita predecir la altura de una persona de la población a partir de su peso.


Recordando lo que vimos la semana pasada… ¿cuál es la variable respuesta y cuál es la variable explicativa o predictora?

TRABAJEMOS SOBRE UN EJEMPLO SENCILLO

Antes de pensar en un modelo, lo primero es representar gráficamente la información con la que contamos para explorar las características de la relación entre las dos variables de interés.

EL MODELO DE REGRESIÓN LINEAL SIMPLE

Para aquellas situaciones en las que se puede suponer que una recta representa la forma en la que la variable respuesta \(Y\) depende de la variable explicativa o predictora \(X\) se postula el siguiente modelo:

\[ Y = \color{darkred}{\beta_0} + \color{darkblue}{\beta_1} X \]

EL MODELO DE REGRESIÓN LINEAL SIMPLE

\[ Y = \color{darkred}{\beta_0} + \color{darkblue}{\beta_1} X \]

\(\color{darkred}{\beta_0}\) es la ordenada al origen y \(\color{darkblue}{\beta_1}\) la pendiente de la recta que representa la relación entre \(Y\) y \(X\). Son los llamados parámetros o coeficientes del modelo.


Pero… la cosa no puede quedar ahí.

EL MODELO DE REGRESIÓN LINEAL SIMPLE

La ecuación del modelo incluye un término adicional: \(\color{#F4442E}{\varepsilon}\), el error aleatorio asociado con \(Y\):

\[ Y = \color{darkred}{\beta_0} + \color{darkblue}{\beta_1} X + \color{#F4442E}{\varepsilon} \]

La inclusión de este término tiene que ver con que las variables \(X\) e \(Y\) no están vinculadas de manera determinista.

Dado un valor de la variable predictora, \(x_i\), no se puede especificar de forma exacta el valor de la variable respuesta, ya que existe la influencia de distintos componentes aleatorios/no modelados.

LA RECTA DE REGRESIÓN TEÓRICA

\(\color{darkred}{\beta_0} + \color{darkblue}{\beta_1} X\) representa a la llamada recta de regresión teórica o poblacional o, de forma más general, función de regresión, y su ecuación se escribe completa de la siguiente manera:

\[\mu_{Y/X} = \color{darkred}{\beta_0} + \color{darkblue}{\beta_1} X\]

Escrita de esta forma, se pone en evidencia que es la recta que pasa por el promedio de todos los valores posibles que puede tomar la variable respuesta \(Y\) para cada valor de la variable predictora \(X\).

LA RECTA DE REGRESIÓN TEÓRICA

La recta de regresión poblacional es una función desconocida, porque no conocemos los valores exactos que toman \(\color{darkred}{\beta_0}\) y \(\color{darkblue}{\beta_1}\).

  • \(\color{darkred}{\beta_0}\) (ordenada al origen): valor promedio de la variable respuesta cuando la explicativa es igual a 0.

  • \(\color{darkblue}{\beta_1}\) (pendiente): cambio promedio en la variable respuesta cuando la explicativa aumenta en una unidad.

Para estimar ambos parámetros, utilizaremos información muestral.

ESTIMACIÓN DEL MODELO

Recta de regresión teórica: \(\mu_{Y/X} = \color{darkred}{\beta_0} + \color{darkblue}{\beta_1} X\)

Una vez recolectada una muestra con \(n\) pares de valores \((x_i,y_i)\), la estimación de la recta de regresión teórica es:

\[\hat{y} = \color{#CF6D68}{\hat{\beta_0}} + \color{#648DC9}{\hat{\beta_1}} x\]

donde \(\color{#CF6D68}{\hat{\beta_0}}\) y \(\color{#648DC9}{\hat{\beta_1}}\) son las estimaciones puntuales de la ordenada al origen y la pendiente, respectivamente.

ESTIMACIÓN DEL MODELO

\[\hat{y} = \color{#CF6D68}{\hat{\beta_0}} + \color{#648DC9}{\hat{\beta_1}} x\] Las fórmulas para calcular estos valores son el resultado de aplicar el Método de Mínimos Cuadrados (OLS), el cual provee las estimaciones que corresponden a la recta que mejor ajusta a los datos experimentales.

NUESTRO PRIMER MODELO 🥺

La clase pasada propusimos un modelo bien simple para predecir la altura de las personas de la población: la media aritmética de la altura de las personas de la muestra.


NUESTRO PRIMER MODELO 🥺

Intuitivamente, para “valorar” qué tan bueno resultó ser el modelo que propusimos, miramos estas distancias verticales entre los valores observados de la altura y los predichos por nuestro modelo (en realidad, el predicho).


RESIDUOS

Estas distancias verticales que miramos de forma intuitiva se denominan residuos del modelo:

\[{e_i} = y_i - \hat{y_i}\] Para nuestro primer modelo bien sencillo (\(\hat{y} = \bar{y}\)), cada residuo se calcula como la diferencia entre el valor observado de la altura y la media:

\[{e_i} = y_i - \bar{y}\]

RESIDUOS

En el marco de nuestro modelo “mejorado”, que incorpora a la variable peso como variable explicativa (\(\hat{y} = \color{#CF6D68}{\hat{\beta_0}} + \color{#648DC9}{\hat{\beta_1}} x\)):

\[e_i = y_i - \hat{y_i} = y_i - (\color{#CF6D68}{\hat{\beta_0}} + \color{#648DC9}{\hat{\beta_1}}x_i)\]

MÉTODO DE MÍNIMOS CUADRADOS

Si los residuos representan errores en el ajuste, lo deseable es encontrar los valores de \(\color{#CF6D68}{\hat{\beta_0}}\) y \(\color{#648DC9}{\hat{\beta_1}}\) que arrojen residuos lo más pequeños posibles. En particular, se buscan los valores \(\color{#CF6D68}{\hat{\beta_0}}\) y \(\color{#648DC9}{\hat{\beta_1}}\) que minimicen la suma de los residuos al cuadrado:

\[\sum_{i=1}^{n} {e_i}^2 = \sum_{i=1}^{n} (y_i-\hat{y_i})^2 =\sum_{i=1}^{n} (y_i-\color{#CF6D68}{\hat{\beta_0}} - \color{#648DC9}{\hat{\beta_1}}x_i)^2 = min\] La suma de los residuos al cuadrado se conoce como suma de cuadrados de error (SCerror o RSS, por las siglas en inglés).

MÉTODO DE MÍNIMOS CUADRADOS

Para encontrar los valores de \(\color{#CF6D68}{\hat{\beta_0}}\) y \(\color{#648DC9}{\hat{\beta_1}}\) que minimizan la sumatoria anterior, se deriva con respecto a \(\color{#CF6D68}{\hat{\beta_0}}\) y \(\color{#648DC9}{\hat{\beta_1}}\), se igualan ambas derivadas parciales a cero y se resuelve el sistema de ecuaciones resultante (ecuaciones normales). De ello resulta:

\[\color{#648DC9}{\hat{\beta_1}} = \frac{\sum_{i=1}^{n} x_iy_i - n\overline{x}\overline{y}}{(n-1){s_x}^2}\]

\[\color{#CF6D68}{\hat{\beta_0}} = \overline{y} - \color{#648DC9}{\hat{\beta_1}}\overline{x}\]

MÉTODO DE MÍNIMOS CUADRADOS

MÉTODO DE MÍNIMOS CUADRADOS

MÉTODO DE MÍNIMOS CUADRADOS


Este no parece ser el mejor ajuste para los datos con los que contamos… 🙄


MÉTODO DE MÍNIMOS CUADRADOS


Las distancias verticales (residuos) de los puntos observados a la recta son “grandes”, por lo que la recta no proporciona un buen ajuste para los datos.


\(SC_{Error} = \sum_{i=1}^{7} {e_i}^2\) = 3357.9

MÉTODO DE MÍNIMOS CUADRADOS

MÉTODO DE MÍNIMOS CUADRADOS


Intuitivamente, esta recta proporcionaría un mejor ajuste para los datos que la anterior (aunque no parece ser la que mejor ajusta).


MÉTODO DE MÍNIMOS CUADRADOS


Intuitivamente, esta recta proporcionaría un mejor ajuste para los datos que la anterior (aunque no parece ser la que mejor ajusta).


\(SC_{Error} = \sum_{i=1}^{7} {e_i}^2\) = 225

MÉTODO DE MÍNIMOS CUADRADOS

MÉTODO DE MÍNIMOS CUADRADOS

Como vimos, el Método de Mínimos Cuadrados nos provee los valores de \(\color{#CF6D68}{\hat{\beta_0}}\) y \(\color{#648DC9}{\hat{\beta_1}}\) que corresponden a la recta que mejor ajusta a los datos experimentales (que minimiza la \(SC_{Error}\)).

\(SC_{Error} = \sum_{i=1}^{7} {e_i}^2\) = 11.9

AJUSTE Y ANÁLISIS DE SALIDAS

image/svg+xml statsmodels

Para realizar el ajuste, vamos a usar statsmodels, un módulo de Python que proporciona funcionalidades para la estimación de diferentes modelos, así como para realizar análisis exploratorios y conducir tests estadísticos.

Ahora que ya exploramos en qué se basa el Método de Mínimos Cuadrados, realizaremos el ajuste empleando el dataset que contiene información acerca de 100 personas de esta población.

EVALUANDO EL MODELO: R2

¿Cómo explicamos que haya variabilidad en las observaciones de la variable respuesta?

  • Porque las personas que medimos tienen distintos pesos (variable predictora incorporada en el modelo) <-> modelo

  • Por la influencia de causas aleatorias y de otras variables no incluidas en el modelo como predictoras <-> error

EVALUANDO EL MODELO: R2

La Suma de Cuadrados Total (\(SC_{Total}\)) es una métrica que cuantifica la variabilidad total en la variable respuesta:

\[SC_{Total} = \sum_{i=1}^{n} ({y_i - \overline{y})}^2 = s_Y^2 (n - 1) \] Se puede demostrar que se puede descomponer en los siguientes términos (relacionar con la slide anterior):

\[SC_{Total} = \sum_{i=1}^{n} ({y_i - \overline{y})}^2 = SC_{Error} + SC_{Reg} \]

EVALUANDO EL MODELO: R2

EVALUANDO EL MODELO: R2

Matemáticamente, podemos expresar la descomposición de la \(SC_{Total}\) de la siguiente manera:

\[SC_{Total} = \sum_{i=1}^{n} ({y_i - \overline{y})}^2 = \sum_{i=1}^{n} ({y_i - \hat{y_i})}^2 + \sum_{i=1}^{n} ({\hat{y_i} - \overline{y})}^2 \]

EVALUANDO EL MODELO: R2

COEFICIENTE DE DETERMINACIÓN (R2): mide la proporción de la variabilidad total en las observaciones de la variable respuesta Y que es explicada por el modelo:

\[R^2 = \frac{SC_{Reg}}{SC_{Total}} =1 - \frac{SC_{Error}}{SC_{Total}}\]

EVALUANDO EL MODELO: R2

El rango de variación de este coeficiente es: \[ 0 \le R^2 \le 1 \]

  • Si el ajuste de la recta es perfecto, \(SC_{Error} = 0\) y \(R^2 = 1\): el modelo captura el 100% de la variabilidad en la respuesta.

  • Si no hay una dependencia lineal de la variable respuesta Y sobre la explicativa, \(SC_{Reg} = 0\) y \(R^2 = 0\).

  • IMPORTANTE: el coeficiente de determinación puede ser alto aún cuando el ajuste no sea del todo satisfactorio o sin que la relación sea lineal, por lo que debe emplearse con precaución.

REGRESIÓN LINEAL MÚLTIPLE

La regresión lineal simple es útil para predecir una variable respuesta sobre la base de una única variable predictiva.

Sin embargo, en la práctica a menudo tenemos más de un predictor, con lo que podemos extender el modelo de regresión lineal simple para incorporar múltiples variables explicativas:

\[Y = \color{darkred}{\beta_0} + \color{darkblue}{\beta_1}X_{1} + \color{darkgreen}{\beta_2}X_{2} + \color{darkviolet}{\beta_3}X_{3} + ... + \color{darkgrey}{\beta_p}X_{p} + \color{darkorange}{\varepsilon}\]

En este escenario, hablamos de regresión lineal múltiple.

INCORPORAR UNA VARIABLE CUALITATIVA

Para estudiar este caso, vamos a volver a nuestro querido dataset de penguins, con el que trabajamos algunas clases atrás.

UN PRIMER MODELO

En ese momento, vimos que existía un grado de asociación lineal interesante (r = 0.87) entre la masa corporal (body_mass_g) y la longitud de la aleta (flipper_length_mm) de los pingüinos del archipiélago Palmer.

En este escenario, nos podría interesar ajustar un modelo que permita predecir la masa corporal del pingüino en función de la longitud de su aleta (¿Por qué?).

UN PRIMER MODELO

¡MANOS A LA OBRA!

🤓 Ajustar un modelo de regresión lineal simple que permita predecir la masa corporal de un pingüino de esta región en función de la longitud de su aleta.

🤓 Utilizar el modelo ajustado para predecir la masa corporal de un pingüino con una longitud de aleta de 207 mm.

🤔 Utilizar el modelo ajustado para predecir la masa corporal de un pingüino hembra con una longitud de aleta de 207 mm.

UN PRIMER MODELO

La ecuación de nuestro modelo ajustado es:

\[\hat{y} = \color{#CF6D68}{-5780.8} + \color{#648DC9}{49.7}~x\]

Coef. de determinación (R2) = 0.759.

En base al modelo ajustado, la masa corporal predicha para un pingüino con una aleta de 207 mm es: \(\hat{y}\) = 4504.1 g.

UN PRIMER MODELO

La ecuación de nuestro modelo ajustado es:

\[\hat{y} = \color{#CF6D68}{-5780.8} + \color{#648DC9}{49.7}~x\]

Coef. de determinación (R2) = 0.759.

En base al modelo ajustado, la masa corporal predicha para un pingüino con una aleta de 207 mm es: \(\hat{y}\) = 4504.1 g, ¡tanto para un pingüino macho como para uno hembra!.

COMPLEJICEMOS EL MODELO 💪

Como existen diferencias visibles entre pingüinos macho y hembra, podríamos incorporar la variable sex como predictora en nuestro modelo (además de flipper_length_mm, of course!).

¿Qué tipo de variable es sex?

GENERACIÓN DE VARIABLES DUMMY

Para incorporar un predictor cualitativo que sólo tiene dos niveles, como la variable sex, creamos una variable dummy que puede tomar dos valores numéricos posibles:

\[X_{2} = \begin{cases} 1, & \text{si es un pingüino macho}.\\ 0, & \text{si es un pingüino hembra}. \end{cases}\]

Y usamos esta variable como un predictor en la ecuación de regresión. Esto resulta en el siguiente modelo:

\[Y = \color{darkred}{\beta_0} + \color{darkblue}{\beta_1}X_{1} + \color{darkgreen}{\beta_2}X_{2} + \color{darkorange}{\varepsilon}\]

AJUSTEMOS EL NUEVO MODELO

Ajustar este nuevo modelo por Mínimos Cuadrados implicará utilizar la información muestral para encontrar los valores de \(\mathbf{\color{#CF6D68}{\hat{\beta_0}}}\), \(\color{#648DC9}{\hat{\beta_1}}\) y \(\color{#4CAF50}{\hat{\beta_2}}\) que minimizan la \(SC_{Error}\).

RESULTADOS DEL AJUSTE

La ecuación de nuestro modelo ajustado es:

\[\hat{y} = \color{#CF6D68}{-5410.3} + \color{#648DC9}{46.98}~x_{1}\\ + \color{#4CAF50}{347.85}~x_{2}\]

¡MANOS A LA OBRA!

🤓 Utilizar el modelo ajustado para predecir la masa corporal de un pingüino hembra con una longitud de aleta de 207 mm.

SOBRE EL MODELO

Este nuevo modelo de regresión lineal estándar provee resultados interpretables y funciona aceptablemente bien.

Sin embargo, en el planteo que hicimos estamos suponiendo que la forma en la que flipper_length_mm influye sobre la respuesta es la misma independientemente del sexo del animal. Esto se refleja en el hecho de que las rectas de regresión ajustadas para los dos sexos son paralelas.

La diferencia en la masa corporal predicha para un pingüino macho en relación a uno hembra es un término aditivo representado por \(\color{darkgreen}{\beta_2}\).

R2 ajustado

\[R^2 = \frac{SC_{Reg}}{SC_{Total}} =1 - \frac{SC_{Error}}{SC_{Total}}\]

Dado que la \(SC_{Error}\) disminuye al aumentar el número de variables predictoras, el R2 se incrementa conforme se adicionan variables explicativas al modelo.

El R2 ajustado penaliza la inclusión innecesaria de variables que sólo generan ruido en el modelo:

\[R^2_{adj} = 1 - \frac{SC_{Error} / (n - p - 1)}{SC_{Total} / (n -1)}\]

R2 ajustado

Es una estadística útil cuando se quiere comparar modelos para decidir cuál es el que proporciona un mejor ajuste.

En nuestro caso, los valores de \(R^2_{adj}\) obtenidos fueron los siguientes:

  • Modelo 1 (sólo long. de aleta como predictora): \(\hat{y} = \color{#CF6D68}{-5780.8} + \color{#648DC9}{49.7}~x\)
\(R^2_{adj} = 0.758\)
  • Modelo 2 (long. de aleta (\(X_1\)) y sexo (\(X_2\)) como predictoras): \(\hat{y} = \color{#CF6D68}{-5410.3} + \color{#648DC9}{46.98}~x_{1} + \color{#4CAF50}{347.85}~x_{2}\)
\(R^2_{adj} = 0.805\)

OTRAS MÉTRICAS PARA EVALUAR EL MODELO

ERROR CUADRÁTICO MEDIO (Mean-Squared Error, MSE):

\[ MSE = \frac{1}{n}\sum_{i=1}^{n} {(y_i - \hat{y_i})^2} = \frac{SC_{Error}}{n} \] Es una medida de la performance del modelo que evalúa qué tan “próximos” se encuentran los valores predichos de los reales u observados.

Al elevar al cuadrado la distancia entre la respuesta observada y la predicha (residuos), esta métrica penaliza fuertemente a los valores atípicos.

OTRAS MÉTRICAS PARA EVALUAR EL MODELO

ERROR ABSOLUTO MEDIO (Mean Absolute Error, MAE):

\[ MAE = \frac{1}{n}\sum_{i=1}^{n} {|y_i - \hat{y_i}|}\] En este caso, en lugar de sumar los residuos elevados al cuadrado, se toman sus valores absolutos, lo que hace que el MAE sea inherentemente robusto a las posibles distorsiones causadas por la presencia de valores atípicos.