Regresión lineal

"Todos los modelos están equivocados, pero algunos son útiles." — George Box.

Qué vas a aprender en este capítulo

La regresión lineal modela la relación entre dos o más variables numéricas. Es la base de casi todos los modelos predictivos: desde predecir el precio de una casa hasta modelar la demanda de pupusas según la temperatura. Este capítulo cubre correlación, regresión simple, evaluación del modelo y sus supuestos. Es también la puerta de entrada al machine learning (regresión logística, redes neuronales son extensiones de estos conceptos).


5.1 Correlación

💡 Intuición

Antes de modelar la relación entre dos variables, querés saber si existe una relación. ¿Las ventas aumentan cuando la temperatura baja? ¿El precio de un producto tiene relación con sus ventas?

El coeficiente de correlación de Pearson (rr) mide la fuerza y dirección de la relación lineal entre dos variables. Va de 1-1 a +1+1:

  • r=+1r = +1: relación lineal perfecta positiva (cuando X sube, Y sube proporcionalmente)
  • r=1r = -1: relación lineal perfecta negativa (cuando X sube, Y baja)
  • r=0r = 0: no hay relación lineal (puede haber relación no lineal)
  • r>0.7|r| > 0.7: correlación fuerte; 0.30.70.3-0.7: moderada; <0.3< 0.3: débil

Trampa: correlación no implica causalidad. El número de helados vendidos correlaciona con los ahogamientos en playas — no porque uno cause lo otro, sino porque ambos aumentan en verano.

📐 Fundamento

Coeficiente de correlación de Pearson:

r=i=1n(xixˉ)(yiyˉ)i=1n(xixˉ)2i=1n(yiyˉ)2r = \frac{\sum_{i=1}^n (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^n (x_i - \bar{x})^2 \cdot \sum_{i=1}^n (y_i - \bar{y})^2}}

O equivalentemente (más práctica para cálculo a mano):

r=nxiyixiyi(nxi2(xi)2)(nyi2(yi)2)r = \frac{n\sum x_i y_i - \sum x_i \sum y_i}{\sqrt{\left(n\sum x_i^2 - (\sum x_i)^2\right)\left(n\sum y_i^2 - (\sum y_i)^2\right)}}

Propiedades:

  • 1r1-1 \leq r \leq 1
  • Adimensional (no tiene unidades)
  • Simétrico: r(X,Y)=r(Y,X)r(X,Y) = r(Y,X)
  • Solo mide relación lineal — puede ser 0 con relación curvilínea fuerte

Prueba de significancia de rr:

H0:ρ=0H_0: \rho = 0 (no hay correlación poblacional) vs H1:ρ0H_1: \rho \neq 0

t=rn21r2t = \frac{r\sqrt{n-2}}{\sqrt{1-r^2}} con ν=n2\nu = n - 2 grados de libertad.

🛠️ En la práctica

Ejemplo — temperatura y ventas de bebidas:

Un vendedor de bebidas frías registró durante 6 días:

Día Temp (°C) xx Ventas yy
1 25 40
2 30 55
3 35 68
4 28 47
5 32 60
6 38 75

xˉ=31.33\bar{x} = 31.33, yˉ=57.5\bar{y} = 57.5

(xixˉ)(yiyˉ)=(6.33)(17.5)+(1.33)(2.5)+(3.67)(10.5)+(3.33)(10.5)+(0.67)(2.5)+(6.67)(17.5)\sum(x_i - \bar{x})(y_i - \bar{y}) = (-6.33)(-17.5) + (-1.33)(-2.5) + (3.67)(10.5) + (-3.33)(-10.5) + (0.67)(2.5) + (6.67)(17.5)

=110.8+3.3+38.5+35.0+1.7+116.7=306.0= 110.8 + 3.3 + 38.5 + 35.0 + 1.7 + 116.7 = 306.0

(xixˉ)2=40.1+1.8+13.5+11.1+0.4+44.5=111.4\sum(x_i - \bar{x})^2 = 40.1 + 1.8 + 13.5 + 11.1 + 0.4 + 44.5 = 111.4

(yiyˉ)2=306.3+6.3+110.3+110.3+6.3+306.3=845.8\sum(y_i - \bar{y})^2 = 306.3 + 6.3 + 110.3 + 110.3 + 6.3 + 306.3 = 845.8

r=306.0111.4×845.8=306.094,202=306.0306.90.997r = \frac{306.0}{\sqrt{111.4 \times 845.8}} = \frac{306.0}{\sqrt{94,202}} = \frac{306.0}{306.9} \approx 0.997

Correlación casi perfecta. Por cada grado que sube la temperatura, las ventas aumentan casi proporcionalmente.


5.2 Regresión lineal simple

💡 Intuición

La correlación nos dice si hay relación. La regresión nos da la ecuación de esa relación: una recta y^=β0+β1x\hat{y} = \beta_0 + \beta_1 x.

Con esa recta podés:

  • Predecir: ¿Cuántas bebidas venderé si la temperatura es 33°C?
  • Cuantificar el efecto: ¿En cuánto aumentan las ventas por cada grado de temperatura?
  • Entender la estructura: ¿Cuántas ventas espero "de base" (cuando x=0x = 0 o en el punto de referencia)?

El método de mínimos cuadrados ajusta la recta que minimiza la suma de los cuadrados de los errores (distancias verticales entre los puntos y la recta).

📐 Fundamento

Modelo de regresión lineal simple:

Y=β0+β1X+εY = \beta_0 + \beta_1 X + \varepsilon

donde εN(0,σ2)\varepsilon \sim N(0, \sigma^2) es el error aleatorio.

Estimadores de mínimos cuadrados:

β^1=i=1n(xixˉ)(yiyˉ)i=1n(xixˉ)2=rsysx\hat{\beta}_1 = \frac{\sum_{i=1}^n (x_i - \bar{x})(y_i - \bar{y})}{\sum_{i=1}^n (x_i - \bar{x})^2} = r \cdot \frac{s_y}{s_x}
β^0=yˉβ^1xˉ\hat{\beta}_0 = \bar{y} - \hat{\beta}_1 \bar{x}

Recta ajustada: y^=β^0+β^1x\hat{y} = \hat{\beta}_0 + \hat{\beta}_1 x

Interpretación de los coeficientes:

  • β^0\hat{\beta}_0 (intercepto): valor estimado de YY cuando X=0X = 0. (Cuidado: a veces X=0X = 0 no tiene sentido en el contexto.)
  • β^1\hat{\beta}_1 (pendiente): cambio estimado en YY por cada unidad que aumenta XX.

Residuos:

ei=yiy^ie_i = y_i - \hat{y}_i

Son la diferencia entre el valor observado y el predicho por el modelo. Si el modelo es bueno, los residuos deben ser pequeños y aleatorios.

🛠️ En la práctica

Continuando el ejemplo de bebidas:

β^1=306.0111.42.747\hat{\beta}_1 = \frac{306.0}{111.4} \approx 2.747

β^0=57.52.747×31.3357.586.05=28.55\hat{\beta}_0 = 57.5 - 2.747 \times 31.33 \approx 57.5 - 86.05 = -28.55

Recta ajustada: y^=28.55+2.747x\hat{y} = -28.55 + 2.747 , x

Interpretación:

  • Por cada grado adicional de temperatura, las ventas aumentan en promedio 2.75 bebidas.
  • El intercepto (28.55-28.55) no tiene significado práctico (no vendés 29-29 bebidas a 0°C).

Predicción: Si la temperatura es 33°C:

y^=28.55+2.747×33=28.55+90.65=62.1\hat{y} = -28.55 + 2.747 \times 33 = -28.55 + 90.65 = 62.1 bebidas

Se esperan aproximadamente 62 ventas.

En Python:

from sklearn.linear_model import LinearRegression
import numpy as np

X = np.array([25, 30, 35, 28, 32, 38]).reshape(-1, 1)
y = np.array([40, 55, 68, 47, 60, 75])

modelo = LinearRegression()
modelo.fit(X, y)

print(f"Intercepto: {modelo.intercept_:.2f}")
print(f"Pendiente: {modelo.coef_[0]:.2f}")
print(f"Predicción a 33°C: {modelo.predict([[33]])[0]:.1f}")

5.3 Evaluación del modelo: R²

💡 Intuición

¿Qué tan bueno es el modelo? El coeficiente de determinación R² responde esa pregunta.

R2R^2 mide qué fracción de la variabilidad de YY es explicada por el modelo. Va de 0 a 1:

  • R2=1R^2 = 1: el modelo explica toda la variabilidad (predicción perfecta)
  • R2=0R^2 = 0: el modelo no explica nada (como predecir con la media siempre)
  • R2=0.80R^2 = 0.80: el modelo explica el 80% de la variabilidad

No existe un "buen" R² universal — depende del campo. En física, R2>0.99R^2 > 0.99 es esperable. En ciencias sociales, R2=0.3R^2 = 0.3 puede ser un resultado valioso.

📐 Fundamento

Descomposición de la variabilidad:

SST=SSR+SSESST = SSR + SSE
  • SST=(yiyˉ)2SST = \sum(y_i - \bar{y})^2: variabilidad total de YY
  • SSR=(y^iyˉ)2SSR = \sum(\hat{y}_i - \bar{y})^2: variabilidad explicada por la regresión
  • SSE=(yiy^i)2=ei2SSE = \sum(y_i - \hat{y}_i)^2 = \sum e_i^2: variabilidad no explicada (suma de cuadrados del error)

Coeficiente de determinación:

R2=SSRSST=1SSESSTR^2 = \frac{SSR}{SST} = 1 - \frac{SSE}{SST}

Para regresión simple: R2=r2R^2 = r^2 (el cuadrado del coeficiente de correlación).

Error estándar de la regresión:

s=SSEn2=ei2n2s = \sqrt{\frac{SSE}{n-2}} = \sqrt{\frac{\sum e_i^2}{n-2}}

Representa el error promedio de predicción en las unidades de YY.

Supuestos del modelo (LINEAL):

  1. Linealidad: La relación entre XX y YY es lineal.
  2. Independencia: Los errores son independientes.
  3. Normalidad: Los errores siguen distribución normal.
  4. Equal variance (homocedasticidad): La varianza de los errores es constante para todo XX.

Verificación: gráfico de residuos vs valores ajustados, QQ-plot de residuos.

🛠️ En la práctica

Ejemplo — ventas de bebidas (continuación):

r=0.997r = 0.997R2=(0.997)2=0.994R^2 = (0.997)^2 = 0.994

El modelo explica el 99.4% de la variabilidad en las ventas. La temperatura es casi un predictor perfecto en este ejemplo pequeño.

Ejemplo con R² moderado — gasto en publicidad vs ventas:

Una empresa gasta en publicidad (miles de dólares) y registra ventas (miles de dólares):

Publicidad xx Ventas yy y^\hat{y} Residuo
10 85 90 -5
15 110 105 +5
20 115 120 -5
25 140 135 +5
30 145 150 -5

Si R2=0.95R^2 = 0.95 y s=5.77s = 5.77, el modelo explica el 95% de la variabilidad en ventas, con un error estándar de ±5.77\pm 5.77 miles de dólares.

Cuidado con R² alto:

Un R² alto no garantiza que el modelo sea correcto. Podés tener R² = 1 con una recta que sigue exactamente los 5 puntos de muestra pero que fracasa al predecir nuevos datos (sobreajuste).


5.4 Predicción e intervalos

📐 Fundamento

Para un valor x0x_0, la predicción puntual es y^0=β^0+β^1x0\hat{y}_0 = \hat{\beta}_0 + \hat{\beta}_1 x_0.

Intervalo de predicción (para un valor individual futuro):

y^0±tα/2,n2s1+1n+(x0xˉ)2(xixˉ)2\hat{y}_0 \pm t_{\alpha/2, n-2} \cdot s \cdot \sqrt{1 + \frac{1}{n} + \frac{(x_0 - \bar{x})^2}{\sum(x_i-\bar{x})^2}}

Intervalo de confianza (para la media de YY dado x0x_0):

y^0±tα/2,n2s1n+(x0xˉ)2(xixˉ)2\hat{y}_0 \pm t_{\alpha/2, n-2} \cdot s \cdot \sqrt{\frac{1}{n} + \frac{(x_0 - \bar{x})^2}{\sum(x_i-\bar{x})^2}}

Diferencia: El IC para la media es más estrecho (menos incertidumbre) que el IP para un valor individual (más incertidumbre). La predicción de un individuo es inherentemente más incierta que la predicción del promedio.

Precaución — extrapolación:

Solo hacer predicciones dentro del rango de los datos. Extrapolación (predecir fuera del rango observado) asume que la tendencia lineal continúa — lo cual raramente es válido lejos de los datos.


5.5 Regresión múltiple (introducción)

💡 Intuición

La regresión simple tiene una sola variable predictora. La regresión múltiple tiene varias:

Y=β0+β1X1+β2X2++βkXk+εY = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \ldots + \beta_k X_k + \varepsilon

Ejemplo: predecir ventas de pupusas usando temperatura, día de la semana, si hay evento especial nearby, etc.

La lógica es la misma — mínimos cuadrados encuentra los coeficientes. Pero la interpretación cambia: cada βj\beta_j es el efecto de XjX_j manteniendo las demás variables constantes.

En la práctica, la regresión múltiple se hace con software (Python, R, Excel). Este libro no profundiza en regresión múltiple — eso corresponde a cursos posteriores de análisis de datos o econometría.


5.6 Cierre de Estadística Inferencial

Con este capítulo cerrás el libro. El recorrido fue:

  1. Probabilidad — el lenguaje matemático de la incertidumbre.
  2. Distribuciones — binomial, normal, t-Student y el TLC.
  3. Intervalos de confianza — estimar parámetros con precisión cuantificada.
  4. Pruebas de hipótesis — tomar decisiones formales basadas en datos.
  5. Regresión — modelar relaciones entre variables y predecir.

Estas herramientas son la base de:

5.7 Ejercicios

✏️ Ejercicio 5.1 — Correlación

Un gerente de ventas registró el número de llamadas de su equipo y las ventas logradas en 5 semanas:

Semana Llamadas xx Ventas yy
1 50 8
2 65 11
3 45 7
4 70 13
5 55 9

Calculá rr e interpretá el resultado.

✏️ Ejercicio 5.2 — Regresión

Con los datos del ejercicio anterior:

a. Calculá la ecuación de regresión y^=β^0+β^1x\hat{y} = \hat{\beta}_0 + \hat{\beta}_1 x. b. Interpretá los coeficientes. c. Predecí las ventas para una semana con 60 llamadas. d. Calculá R2R^2 e interpretá.

✏️ Ejercicio 5.3 — Interpretación crítica

Un análisis muestra que el número de iglesias en una ciudad correlaciona con el número de crímenes (r = 0.87). Un político concluye: "Las iglesias causan crímenes. Deberíamos cerrarlas."

a. ¿Qué error estadístico comete el político? b. ¿Qué variable podría explicar ambas correlaciones sin que haya causalidad directa? c. ¿Qué tipo de diseño de estudio necesitarías para establecer causalidad?


5.8 Para profundizar


Definiciones nuevas: correlación de Pearson, coeficiente de determinación R², regresión lineal simple, mínimos cuadrados, intercepto, pendiente, residuo, SST, SSR, SSE, homocedasticidad, intervalo de predicción, extrapolación, variable de confusión.