LOESS置信区间取决于点数

时间:2018-03-30 21:31:55

标签: r loess

让我们构建一个带有一些“噪音”的线性趋势,如下所示:

X <- seq(0,20,1); Y <- X/4 + sin(X); plot(X,Y)

现在我使用loess平滑数据集并使用qt绘制“95%置信区间”和黄土标准错误:

X.pred <- seq(0, 20, length.out = 1000)   # To have smooth lines
Fit    <- predict(loess(Y ~ X, span = 0.75), newdata = X.pred, se = TRUE)
lines(X.pred, Fit$fit)
lines(X.pred, Fit$fit + qt(0.975, Fit$df) * Fit$se.fit, lty = 3)
lines(X.pred, Fit$fit - qt(0.975, Fit$df) * Fit$se.fit, lty = 3)

结果非常直观,因为下方趋势清晰显示,“波段”几乎涵盖了所有点(如95%置信区间所预期的那样)。

当我们有许多要点时会出现问题。让我们将点数增加10倍:

X <- seq(0, 20, 0.1); Y <- X/4 + sin(X); plot(X, Y)

当我运行与上面相同的剧本时,乐队现在非常狭窄,显然不能覆盖95%的分数。我怎样才能获得“直观”loess 95%的乐队,无论安装的点数是多少?

1 个答案:

答案 0 :(得分:3)

这是对自信乐队行为的误解;对于任何合理的估算形式,随着样本量的增加,置信区间将缩小为零(即使残差方差保持不变)。您似乎在寻找预测间隔。您可以通过将残差方差(例如resid.sd <- loess(Y ~ X, span = 0.75)$s; resid.var <- resid.sd^2)添加到拟合的平方标准误差,并使用和的平方根作为qnorm()中的标准差来获得这些。 (将参数误差的t分布分布与剩余误差的高斯分布相结合并不容易......)