Linear Regression
La regresión lineal predice un número como suma ponderada de características, ajustada mediante mínimos cuadrados. Cómo funciona, sus supuestos y variantes, y código Python.
La regresión lineal es un método de aprendizaje supervisado que predice un valor continuo, como un precio, una temperatura o la demanda del mes siguiente, mediante una suma ponderada de las características de entrada más una constante. Con una característica, ajusta una recta, ŷ = w·x + b; con varias, ajusta un plano o hiperplano, ŷ = w₁x₁ + w₂x₂ + … + wₙxₙ + b. Adrien-Marie Legendre publicó en 1805 el método de mínimos cuadrados utilizado para ajustarla, y Carl Friedrich Gauss publicó su propio planteamiento en 1809. Sigue siendo el primer modelo habitual para el modelado predictivo numérico porque se entrena en milisegundos, funciona con pocos datos y cada peso indica cuánto cambia la predicción por unidad de su característica.
Cómo funciona la regresión lineal#
El entrenamiento elige los pesos y la ordenada en el origen que hacen que las predicciones se acerquen lo máximo posible a los valores reales de los datos de entrenamiento. Los mínimos cuadrados ordinarios miden esa proximidad como la suma de los residuos al cuadrado, es decir, las diferencias entre los valores reales y las predicciones, lo que equivale a minimizar el error cuadrático medio (MSE), la función de pérdida estándar para regresión. El error cuadrático produce una curva suave con un único mínimo, por lo que los mejores pesos tienen una solución cerrada, la ecuación normal w = (XᵀX)⁻¹Xᵀy, que las bibliotecas calculan mediante factorizaciones de matrices estables, como QR o SVD, en lugar de usar una inversa explícita. Para conjuntos de datos demasiado grandes, el descenso del gradiente o el descenso del gradiente estocástico obtiene iterativamente los mismos pesos, y converge más rápido cuando las características se estandarizan para que tengan escalas similares.
Cada peso indica cuánto cambia la predicción cuando una característica aumenta una unidad y las demás se mantienen constantes, lo que facilita la auditoría del modelo. El estimador LinearRegression de scikit-learn ajusta mínimos cuadrados ordinarios; este ejemplo genera precios de viviendas a partir de coeficientes conocidos y comprueba hasta qué punto el ajuste los recupera:
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
from sklearn.model_selection import train_test_split
# 500 synthetic homes: price = $50,000 + $150 per sq ft - $2,000 per year of age + noise
rng = np.random.default_rng(0)
X = np.column_stack([rng.uniform(800, 3000, 500), rng.uniform(0, 50, 500)])
y = 50_000 + 150 * X[:, 0] - 2_000 * X[:, 1] + rng.normal(0, 20_000, 500)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
# Fit by ordinary least squares
model = LinearRegression()
model.fit(X_train, y_train)
print(f"Per sq ft: {model.coef_[0]:.1f}, per year: {model.coef_[1]:.0f}, intercept: {model.intercept_:.0f}")
print(f"Test R^2: {r2_score(y_test, model.predict(X_test)):.3f}")El ajuste obtiene 147,7 $ por pie cuadrado frente a los 150 $ reales, y −1.992 $ por año de antigüedad frente a los −2.000 $ reales; además, explica el 96,2 % de la varianza de los precios reservados para evaluación (R² = 0.962). R² es la proporción de la varianza del objetivo que explica el modelo, y el error cuadrático medio de la raíz (RMSE) indica el error típico en las unidades originales del objetivo.
Supuestos y diagnósticos#
La regresión lineal presupone que la media del objetivo es una suma ponderada de las entradas, que los errores son independientes y que su dispersión se mantiene aproximadamente constante en todo el rango de predicciones; los intervalos de confianza y los valores p de los pesos también presuponen errores aproximadamente normales. Las entradas pueden ser cualquier transformación fija de las características originales, así que añadir términos al cuadrado, logaritmos o productos de características mediante la ingeniería de características sigue dando lugar a una regresión lineal, capaz de seguir una curva. Representar los residuos frente a las predicciones es la comprobación habitual: un patrón curvo apunta a un término no lineal que falta, y una forma de abanico indica que los errores aumentan con la predicción, algo que suele corregir una transformación logarítmica del objetivo. El error cuadrático también permite que unos pocos valores atípicos desplacen el ajuste hacia ellos, y las funciones de pérdida robustas, como la pérdida de Huber, reducen su influencia.
Cuando las características están muy correlacionadas entre sí, pequeños cambios en los datos hacen que sus pesos varíen mucho. La regresión ridge añade una penalización sobre los pesos al cuadrado que los reduce; lasso añade una penalización sobre los valores absolutos de los pesos que hace que algunos sean exactamente cero y, por tanto, selecciona características; y elastic net combina ambas. Estas formas de regularización aceptan un pequeño sesgo a cambio de una menor varianza —el equilibrio entre sesgo y varianza— y limitan el sobreajuste cuando hay muchas características en relación con el número de muestras.
Regresión lineal en aprendizaje profundo#
Una red neuronal que predice números suele terminar con una capa lineal, por lo que su último paso es una regresión lineal sobre las características aprendidas por las capas anteriores; una red sin capas ocultas entrenada con MSE es exactamente una regresión lineal. Los modelos de detección de objetos utilizan este método para las coordenadas de las cajas. En YOLO26, cada rama de cajas de la cabeza de detección termina con una convolución 1×1 que asigna linealmente las características de cada posición de la cuadrícula a cuatro distancias desde esa posición hasta los bordes de una caja delimitadora, y el entrenamiento penaliza esas distancias con una pérdida L1, además de una pérdida CIoU sobre el solapamiento de las cajas.
Aplicaciones#
- Predicción: Los comercios minoristas y las compañías de servicios públicos aplican regresión a las ventas o a la demanda eléctrica en función del precio, las promociones, la temperatura y los indicadores del calendario; una línea de tendencia ajustada es una referencia habitual para modelos de predicción más complejos.
- Fijación de precios y valoración: Los modelos hedónicos de fijación de precios aplican regresión a los precios de las viviendas en función de su tamaño, antigüedad y ubicación; cada peso indica el valor de mercado de una unidad adicional de ese atributo.
- Estimación de efectos: Los economistas y los investigadores sanitarios aplican regresión a un resultado, como los salarios o la presión arterial, en función de un factor de interés y de variables de control para estimar cómo cambia el resultado con ese factor mientras los demás se mantienen constantes.
- Curvas de calibración: Los laboratorios aplican regresión a las lecturas de los instrumentos en función de las concentraciones conocidas de muestras de referencia y, después, invierten la recta ajustada para convertir las lecturas de muestras nuevas en concentraciones.
Regresión lineal frente a métodos relacionados#
- Regresión logística: Resuelve problemas de clasificación pasando la misma suma ponderada por una función sigmoide para obtener una probabilidad entre 0 y 1, y se entrena con pérdida logarítmica en lugar de error cuadrático.
- Regresión polinómica: Ajusta potencias de una característica, como x y x², y equivale a una regresión lineal sobre esas características ampliadas.
- Árboles de decisión y árboles potenciados como XGBoost: Dividen el espacio de características en regiones y aprenden efectos e interacciones no lineales sin crear características a mano, pero predicen un valor constante dentro de cada región, por lo que no pueden extrapolar una tendencia más allá del rango de entrenamiento.
- Correlación: El coeficiente de correlación de Pearson r mide de forma simétrica la intensidad de una relación lineal, y la pendiente de una regresión lineal simple de y sobre x es igual a r multiplicado por el cociente entre las desviaciones típicas de y y de x.










