¿Comparar splines de suavizado versus loess para suavizar?


25

Deseo comprender mejor los pros / contras para usar ya sea loess o splines de suavizado para suavizar alguna curva.

Otra variación de mi pregunta es si hay una manera de construir una spline de suavizado de manera que produzca los mismos resultados que con el uso de loess.

Cualquier referencia o idea es bienvenida.


Tal, el siguiente artículo bien citado analiza muchos enfoques de regresión no paramétricos Buja, A., Hastie, T. y Tibshirani, R. (1989). Suavizadores lineales y modelos aditivos . The Annals of Statistics , 17 (2), 453–510, mejor.
Alexis

Respuestas:


16

Aquí hay un código / ejemplo R que le permitirá comparar los ajustes para un ajuste de loess y un ajuste de spline:

library(TeachingDemos)
library(splines)

tmpfun <- function(x,y,span=.75,df=3) {
    plot(x,y)
    fit1 <- lm(y ~ ns(x,df))
    xx <- seq( min(x), max(x), length.out=250 )
    yy <- predict(fit1, data.frame(x=xx))
    lines(xx,yy, col='blue')
    fit2 <- loess(y~x, span=span)
    yy <- predict(fit2, data.frame(x=xx))
    lines(xx,yy, col='green')
    invisible(NULL)
}

tmplst <- list( 
    span=list('slider', from=0.1, to=1.5, resolution=0.05, init=0.75),
    df=list('slider', from=3, to=25, resolution=1, init=3))

tkexamp( tmpfun(ethanol$E, ethanol$NOx), tmplst )

Puede probarlo con sus datos y cambiar el código para probar otros tipos u opciones. También es posible que desee ver la loess.demofunción en el paquete TeachingDemos para comprender mejor qué hace el algoritmo loess. Tenga en cuenta que lo que ve de loess es a menudo una combinación de loess con un segundo suavizado de interpolación (a veces en sí mismo una spline), la loess.demofunción en realidad muestra el ajuste de loess suavizado y sin procesar.

Teóricamente, siempre puede encontrar una spline que se aproxime a otra función continua tan cerca como desee, pero es poco probable que haya una elección simple de nudos que brinden una aproximación cercana a un ajuste de loess para cualquier conjunto de datos.


Hola Greg: 1) Gracias por la respuesta. 2) Me encanta tu función loess.demo ...
Tal Galili

29

Los resultados reales de una spline o loess de suavizado serán bastante similares. Es posible que se vean un poco diferentes en los bordes del soporte, pero siempre y cuando se asegure de que sea una estría de suavizado "natural", se verán muy similares.

Si solo está usando uno para agregar un "suavizador" a un diagrama de dispersión, no hay una razón real para preferir uno sobre el otro. Si, en cambio, desea hacer predicciones sobre nuevos datos, generalmente es mucho más fácil usar una spline de suavizado. Esto se debe a que la spline de suavizado es una expansión de base directa de los datos originales; si usaste 100 nudos para hacerlo, significa que creaste ~ 100 nuevas variables a partir de la variable original. En cambio, Loess solo estima la respuesta en todos los valores experimentados (o un subconjunto estratificado para datos grandes).

En general, existen algoritmos establecidos para optimizar el valor de penalización para suavizar splines (mgcv en R probablemente lo haga mejor). Loess no es tan claro, pero generalmente obtendrá resultados razonables de cualquier implementación. MGCV también le da una idea de grados de libertad equivalentes para que pueda tener una idea de cuán "no lineales" son sus datos.

Encuentro que al modelar datos muy grandes, una spline natural más simple a menudo proporciona resultados similares para un cálculo mínimo en comparación con una spline de suavizado o loess.


+1, buena respuesta! Me gusta la exposición teórica clara.
gung - Restablece a Monica

Sin embargo, ¿por qué difieren cerca de los bordes del soporte?
imu96

1
@ imu96 AFAIK, los métodos de regresión no paramétrica caen en cualquier extremo porque dependen de una vecindad de datos a cada lado del punto a lo largo del Xeje que se estima, y ​​hacia los bordes hay datos en un solo lado, por lo que los IC se ensanchan y las estimaciones se sesgan un poco. Cada método sufre a este respecto de una manera diferente debido a diferentes pesos, diferentes formas de definir vecindad de datos, etc.
Alexis
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.