gpt4 book ai didi

r - 如何让 R 的 loess 和 R 的 lowess 函数给出相同的结果?

转载 作者:行者123 更新时间:2023-12-04 14:46:21 49 4
gpt4 key购买 nike

黄土的这个结果如何使用 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 提供非常相似的结果值为 predictloess适合和 x值(value)观?谢谢。

最佳答案

你为什么需要这个?

我不认为在一般情况下可以做到。这是一个特定的案例,它给出了几乎相同的结果,但由于某种原因,最后一个值仍然不同:

fit1 <- loess(y~x,data=data,span=0.8,degree=1)
predict(fit1)
#[1] 19.08622 12.55692 37.93642 188.35019 401.53528 506.87040 591.41854 740.71060

fit2 <- lowess(data$x,data$y,f=0.8,iter=0)
fit2

# $x
# [1] 0.5 1.0 3.0 4.0 5.0 5.5 6.0 7.0
#
# $y
# [1] 12.55692 19.08622 37.93642 188.35019 401.53528 506.87040 591.41854 741.12187
#Note that lowess reorders by x.

关于r - 如何让 R 的 loess 和 R 的 lowess 函数给出相同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17391771/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com