使用 loess 拟合的结果如何loess
重现lowess
?
黄土代码:
> data = data.frame(x=c(1,0.5,3,4,5,5.5,6,7), y=c(10, 25, 38, 44.5, 500, 550, 600, 705))
> fit = loess("y ~ x", data=data)
> new_y = predict(fit, data$x)
> new_y
[1] 6.251022 28.272100 -2.840750 150.006042 481.927307 563.161187 640.825415 693.166150
低代码:
> new_fit = lowess(data, f=0.8)
> new_fit
$x
[1] 0.5 1.0 3.0 4.0 5.0 5.5 6.0 7.0
$y
[1] -4.330119 38.931265 255.000000 400.000000 500.000000 550.241949 601.519903 704.247275
结果非常不同。我正在尝试为y
给定的值获取新的拟合值x
。loess
给
[1] 6.251022 28.272100 -2.840750 150.006042 481.927307 563.161187 640.825415 693.166150
虽然lowess
给出:
[1] -4.330119 38.931265 255.000000 400.000000 500.000000 550.241949 601.519903 704.247275
如何重写我的lowess
调用以为新y
值提供predict
与loess
fit 和x
values 非常相似的结果?谢谢。