
Regresión local LOESS (LOWESS): definición, ventajas y cómo usarla paso a paso
La regresión local LOESS (o LOWESS) es una técnica poderosa para detectar relaciones y patrones en datos complejos, especialmente cuando las relaciones entre variables no son lineales o cuando los datos contienen ruido. A diferencia de la regresión lineal clásica, que ajusta una única función global, LOESS ajusta funciones locales adaptándose a la estructura del conjunto de datos.
¿Qué es la regresión local LOESS o LOWESS?
La regresión local es un método de suavizado no paramétrico que ajusta una curva a los datos utilizando observaciones cercanas a cada punto de interés. En lugar de asumir una forma global (como una línea recta o una parábola), LOESS crea pequeños modelos locales que combinan para formar una curva flexible que captura la relación real entre las variables.
- Local: Para predecir el valor en un punto específico x0, solo se consideran las observaciones dentro de una ventana alrededor de x0.
- Ponderada: Las observaciones más cercanas a x0 reciben más peso en el ajuste que las más alejadas.
- Suavizado: Reduce el ruido para revelar tendencias y ciclos importantes en los datos
LOWESS significa Locally Weighted Scatterplot Smoothing.
¿Por qué usar regresión local LOESS?
Esta técnica es especialmente útil cuando:
- La relación entre variables es no lineal o difícil de modelar con funciones paramétricas clásicas.
- Se quiere evitar hacer suposiciones estrictas sobre la forma funcional de la relación.
- Los datos son ruidosos, escasos o presentan interacciones complejas que afectan el ajuste global.
- Se busca analizar relaciones locales en lugar de un único modelo global.
Cómo funciona la regresión LOESS: procedimiento paso a paso
Seleccionar el tamaño de la ventana (span)
Define qué proporción de datos se usa para ajustar el modelo local en torno a cada punto. Por ejemplo, un span de 0.5 significa que se toma el 50% de los datos cercanos para ajustar la curva local.
Asignar pesos a las observaciones cercanas
Se da más peso a los puntos próximos a x0 y menos a los más alejados, asumiendo que los valores cercanos se relacionan más estrechamente.
Ajustar el modelo local ponderado
Dentro de cada ventana, se realiza una regresión ponderada (usualmente lineal o cuadrática) para predecir el valor en x0.
Repetir para todos los puntos
El proceso se repite a lo largo del rango de la variable independiente para construir la curva suavizada completa.
Un ejemplo
Imagina que queremos predecir un valor de bioluminiscencia ("Sources") para un valor de profundidad oceánica ("Depth") de, por ejemplo, 1500m. La función de suavizado lo que hace es crear una ventana alrededor de este valor, por ejemplo, tomará los valores entre 1000 y 2000m y predice el valor deseado "Sources" en función de los datos "Depth" que se encuentren dentro de dicha ventana. Este procedimiento se repite para una secuencia de valores de "Depth" y se guardan los valores predichos "Sources", los cuales forman el suavizado.
Veamos dos tipos de suavizado distinto. Vamos a analizar los datos de bioluminiscencia de organismos pelágicos en un gradiente trazado en el noreste del Océano Atlántico. Queremos modelar la relación bioluminiscencia (Sources) con la profundidad (Depth).
Descargamos los datos "ISIT.txt" de la web:
ISIT = read.table("https://www.math.pku.edu.cn/teachers/xirb/Courses/biostatistics/Biostatistics2014/ISIT.txt",header=T)
Solo trabajaremos con la estación 16 así que seleccionamos los datos para esta estación:
Sources16<-ISIT$Sources[ISIT$Station==16] Depth16<-ISIT$SampleDepth[ISIT$Station==16] ISIT = ISIT[ISIT$Station==16,]
Vamos a graficar 2 funciones loess con distinto suavizado (ancho de ventana):
par(mfrow=c(2,1)) mloess = loess(Sources~SampleDepth,data=ISIT,degree=2,span=0.1) y.pred = predict(mloess) rk = order(ISIT$SampleDepth) plot(Depth16,Sources16,type="p",main="span=0.1") lines(ISIT$SampleDepth[rk],y.pred[rk],col="red",lwd=2)
mloess = loess(Sources~SampleDepth,data=ISIT,degree=2,span=0.75) y.pred = predict(mloess) rk = order(ISIT$SampleDepth) plot(Depth16,Sources16,type="p",main="span=0.75") lines(ISIT$SampleDepth[rk],y.pred[rk],col="red",lwd=2)

Ventajas de la regresión local LOESS
- Combina la simplicidad de la regresión lineal con la flexibilidad para modelar relaciones no lineales.
- No requiere especificar una función matemática previa.
- Es ideal para explorar y modelar procesos complejos sin modelos teóricos definidos.
- Fácil de implementar y entender.
Limitaciones y desventajas
- Requiere una muestra grande para generar ajustes robustos.
- No produce una fórmula matemática sencilla para la función ajustada.
- Puede ser sensible a valores atípicos, al igual que otros métodos basados en distancias cuadráticas.
- El ajuste puede volverse demasiado sensible si el parámetro de suavizado es demasiado pequeño.
La regresión local LOESS es una herramienta versátil para identificar patrones y relaciones no lineales en datos reales, especialmente cuando la forma de la relación es desconocida o compleja. Ajustar adecuadamente el parámetro de suavizado es clave para equilibrar la fidelidad al dato y la suavidad del modelo.
¿Quieres aplicar LOESS en tus datos? ¿Tienes dudas o experiencias que compartir? ¡Déjanos un comentario!
Referencias
- Cleveland W. S., E. Grosse and W. M. Shyu (1992) Local regression models. Chapter 8 of Statistical Models in S eds J.M. Chambers and T.J. Hastie, Wadsworth & Brooks/Cole.
- Wood S.N. (2006) Generalized Additive Models: An Introduction with R. Chapman and Hall/CRC Press.
0 comentarios
Nadie ha publicado ningún comentario aún. ¡Se tu la primera persona!