我想适应严格增加的平滑功能。数据可以生成如下
set.seed(100)
x <- sort( runif(100) )
y <- sort( runif(100)^2 )
y[sample.int(100,10)] <- runif(10)
plot(x, y)
loessMod <- loess("y~x", data=data.frame(x,y), span=3)
lines(x, predict(loessMod, x), col="red")
min( diff(loessMod$fitted) )
我发现的唯一方法就是在黄土中练习。 Ex span = 2或3有效,但0.5给出负导数。如果有一种方法可以强制执行正导数约束,那会更好。