Volver al inicio

Regresión Lineal: Método OLS y Descenso de Gradiente

El artículo desglosa la regresión lineal desde la ecuación básica hasta técnicas avanzadas: OLS, descenso de gradiente, regularización, manejo de outliers. Se proporciona código en Python y métricas de calidad para una implementación práctica.

Construye Regresión Lineal desde Cero: Código y Métricas
Advertisement 728x90

Regresión Lineal: De los Datos al Modelo Optimizado

La regresión lineal modela relaciones lineales entre predictores y una variable objetivo. Para la regresión lineal simple, la ecuación es y = b₀ + b₁ × x, donde x es el predictor, y es la respuesta, b₀ es la intersección y b₁ es la pendiente. Los coeficientes determinan la posición de la línea en el plano.

Los datos en formato tabular con características y una respuesta sirven como base. Ejemplo: la relación entre el precio de un apartamento y el número de habitaciones. La calidad del modelo depende de la representatividad de la muestra—el principio de "basura que entra, basura que sale" dicta el resultado.

Los modelos son útiles para predicciones e identificación de patrones. Transformar datos tabulares en una expresión analítica permite extrapolar a nuevas observaciones.

Google AdInline article slot

Método de Mínimos Cuadrados Ordinarios

MCO (Mínimos Cuadrados Ordinarios) minimiza la suma de los residuos al cuadrado: ∑(y_i - ŷ_i)². Solución analítica: b₁ = Cov(x, y) / Var(x), b₀ = ȳ - b₁ × x̄.

# Ejemplo de cálculo de coeficientes
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 4, 5])
b1 = np.cov(x, y)[0,1] / np.var(x)
b0 = np.mean(y) - b1 * np.mean(x)
print(f'b0: {b0:.2f}, b1: {b1:.2f}')

Este enfoque funciona para datos no degenerados pero requiere inversión de matriz (XᵀX)⁻¹ en el caso multivariante.

Evaluación de la Calidad del Modelo

Visualmente: gráfico de dispersión de predicciones vs. valores reales, gráficos de residuos. Métricas:

Google AdInline article slot
  • (coeficiente de determinación): proporción de varianza explicada, 0–1.
  • RMSE: √(MSE), en unidades de respuesta.
  • MAE: error absoluto medio.
  • MAPE/SMAPE: errores porcentuales.

Los gráficos de residuos revelan heterocedasticidad o no linealidad.

División de Datos y Validación

División entrenamiento/prueba (80/20) previene el sobreajuste. Validación cruzada (k-fold) promedia métricas entre pliegues.

def train_test_split(X, y, test_size=0.2):
    indices = np.arange(len(X))
    np.random.shuffle(indices)
    split = int(len(X) * (1 - test_size))
    return X[indices[:split]], X[indices[split:]], y[indices[:split]], y[indices[split:]]

Regresión Multivariante

Extensión a y = b₀ + b₁x₁ + ... + bₙxₙ. Forma matricial: ŷ = Xβ, solución β = (XᵀX)⁻¹Xᵀy. Preprocesamiento:

Google AdInline article slot
  • Normalización: (x - min)/(max - min).
  • Estandarización: (x - μ)/σ.
  • Codificación one-hot de características categóricas.

Interpretación Probabilística

El modelo asume distribución normal de errores: ε ~ N(0, σ²). Intervalo de predicción: *ŷ ± t SE √(1 + 1/n + (x - x̄)² / SXX)*. Estimación de máxima verosimilitud (MLE) optimiza el log-verosimilitud.

Manejo de Valores Atípicos

Métodos de detección:

  • Distancia de Mahalanobis: distancia generalizada en espacio multivariante.
  • Distancia de Cook: influencia de una observación en los coeficientes.
  • LOF (Factor de Valor Atípico Local): densidad local.
  • RANSAC: consenso de subconjuntos aleatorios.

Eliminación o regresores robustos (pérdida de Huber).

Descenso de Gradiente y Regularización

Para grandes volúmenes de datos: optimización iterativa θ := θ - α ∇J(θ), donde J es la función de costo.

  • L1 (Lasso): |β|, dispersidad.
  • L2 (Ridge): β², contracción.

Hiperparámetro λ ajustado mediante CV.

def gradient_descent(X, y, lr=0.01, epochs=1000):
    theta = np.zeros(X.shape[1])
    for _ in range(epochs):
        pred = X @ theta
        grad = X.T @ (pred - y) / len(y)
        theta -= lr * grad
    return theta

Conclusiones Clave

  • La regresión lineal es una herramienta fundamental para relaciones lineales, escalable a tareas multivariantes.
  • MCO proporciona una solución analítica; el descenso de gradiente es para grandes conjuntos de datos.
  • Métricas como R² y RMSE evalúan la calidad; los gráficos de residuos diagnostican problemas.
  • La regularización (L1/L2) combate el sobreajuste y la multicolinealidad.
  • El preprocesamiento (escalado, eliminación de valores atípicos) es crítico para la estabilidad.

— Editorial Team

Advertisement 728x90

Leer después