如何解决如何在R中为smooth.spline绘制引导样本?
我正在为一些引导样本绘制所有平滑样条,但我遇到了一个问题,即这些图往往会“吓坏”并失去平滑度。我不明白为什么会这样。代码如下:
library(splines)
library(boot)
# data generation
x_ = c(0.3,0.8,1.6,2.7)
y_ = c(3.5,2.3,3.2,5.0)
n = 50 - length(x_)
set.seed(0)
x = seq(0,3,length.out=n) + runif(n,0.1)
y = x*sin(3*x) + runif(n)
x = c(x,x_)
y = c(y,y_)
st.dev <- sd(y)
z <- qnorm(1 - .05/2)
rng <- seq(min(x),max(x),length.out= 100)
df <- data.frame(x=x,y=y)
knots <- quantile(x)[c(2,4)]
# End of data generation
def <- function(df,i) {
df1 <- df[unique(i),]
ft <- smooth.spline(df1$x,df1$y)
pred <- predict(ft,rng)$y
plot(df,col='green')
points(df1,col='red')
print(unique(i))
lines(rng,pred)
}
boot(df,def,R=10)$t
你可以看到我在这里写了 unique(i)
,这大大减少了“破碎”情节的数量,但并没有消除它们。
这里是“坏”的:
这显然不是 3 节的样条(默认)。
我做错了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。