İşte bir loess fit ve spline fit'in uyumlarını karşılaştırmanızı sağlayacak bazı R kodları / örnekleri:
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 )
Diğer tür veya seçenekleri denemek için verilerinizle deneyebilir ve kodu değiştirebilirsiniz. Ayrıca loess.demo
, loess algorythm'in ne yaptığını daha iyi anlamak için TeachingDemos paketindeki işleve bakmak isteyebilirsiniz . Loess'ten gördüğünüz şeyin genellikle ikinci bir enterpolasyon düzleştirmesi (bazen kendi başına bir spline) olan bir loess kombinasyonu olduğunu unutmayın, loess.demo
fonksiyon aslında hem pürüzsüz hem de ham loess uyumunu gösterir.
Teorik olarak, istediğiniz kadar yakın bir başka fonksiyona yaklaşan bir spline her zaman bulabilirsiniz, ancak herhangi bir veri setine uygun bir yakınlığa güvenilir bir şekilde yakın bir yaklaşım verecek basit bir düğüm seçeneğinin olması muhtemel değildir.