Porównywanie wygładzających wypustów vs less do wygładzania?

25

Chciałbym lepiej zrozumieć zalety / wady stosowania splajnów less lub wygładzających do wygładzania niektórych krzywych.

Inną odmianą mojego pytania jest to, czy istnieje sposób na skonstruowanie wygładzającego splajnu w sposób, który da takie same wyniki, jak użycie lessa.

Wszelkie odniesienia lub informacje są mile widziane.

Tal Galili
źródło
Tal, następujący dobrze cytowany artykuł analizuje wiele nieparametrycznych metod regresji Buja, A., Hastie, T., i Tibshirani, R. (1989). Liniowe wygładzacze i modele addytywne . The Annals of Statistics , 17 (2), 453–510, najlepiej.
Alexis

Odpowiedzi:

16

Oto kod R / przykład, który pozwoli ci porównać pasowanie dla dopasowania mniejszego i dopasowania do splajnu:

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 )

Możesz spróbować z danymi i zmienić kod, aby wypróbować inne typy lub opcje. Możesz także przyjrzeć się loess.demofunkcji w pakiecie TeachingDemos, aby lepiej zrozumieć, co robi algorytm lessa. Zauważ, że to, co widzisz z lessu, jest często kombinacją lessa z drugim wygładzaniem interpolacji (czasem sam splajn), loess.demofunkcja faktycznie pokazuje zarówno wygładzone, jak i surowe dopasowanie lessa.

Teoretycznie zawsze można znaleźć splajn, który przybliża inną funkcję ciągłą tak blisko, jak chcesz, ale jest mało prawdopodobne, aby istniał prosty wybór węzłów, który niezawodnie zapewni ścisłe przybliżenie mniejszego dopasowania dla dowolnego zestawu danych.

Greg Snow
źródło
Cześć Greg: 1) Dziękuję za odpowiedź. 2) Uwielbiam twoją funkcję loess.demo ...
Tal Galili,
29

Rzeczywiste wyniki wygładzania splajnu lub lessu będą bardzo podobne. Mogą wyglądać nieco inaczej na krawędziach podpory, ale dopóki upewnisz się, że jest to „naturalny” wygładzający splajn, będą wyglądać naprawdę podobnie.

Jeśli używasz tylko jednego, aby dodać „wygładzenie” do wykresu rozrzutu, nie ma żadnego prawdziwego powodu, aby preferować jeden od drugiego. Jeśli zamiast tego chcesz przewidywać nowe dane, na ogół znacznie łatwiej jest użyć wygładzającego splajnu. Jest tak, ponieważ wygładzający splajn jest bezpośrednim rozszerzeniem pierwotnych danych; jeśli użyłeś 100 węzłów, aby to zrobić, oznacza to, że utworzyłeś ~ 100 nowych zmiennych z oryginalnej zmiennej. Zamiast tego Loess jedynie szacuje odpowiedź przy wszystkich doświadczonych wartościach (lub podzbiorach warstwowych dla dużych danych).

Ogólnie rzecz biorąc, istnieją algorytmy optymalizacji wartości kary za wygładzanie splajnów (mgcv w R prawdopodobnie robi to najlepiej). Loess nie jest tak wyraźny, ale generalnie nadal uzyskasz rozsądną wydajność z dowolnej implementacji. MGCV daje również poczucie równoważności stopni swobody, dzięki czemu możesz poczuć, jak „nieliniowe” są twoje dane.

Uważam, że podczas modelowania na bardzo dużych danych, prostszy naturalny splajn często zapewnia podobne wyniki przy minimalnych obliczeniach w porównaniu do wygładzania splajnu lub lessu.

Shea Parkes
źródło
+1, fajna odpowiedź! Podoba mi się przejrzysta wykład teoretyczny.
gung - Przywróć Monikę
Dlaczego jednak różnią się w pobliżu krawędzi podpory?
imu96
1
@ imu96 AFAIK, metody regresji nieparametrycznej spadają na obu końcach, ponieważ opierają się na sąsiedztwie danych z każdej strony punktu wzdłuż szacowanej osi , aw kierunku krawędzi są dane tylko z jednej strony, więc CI stają się bardzo szerokie, a szacunki są nieco tendencyjne. Każda metoda cierpi w tym względzie w inny sposób z powodu różnych wag, różnych sposobów definiowania sąsiedztwa danych itp.x
Alexis