让我们构建一个带有一些“噪音”的线性趋势,如下所示:
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%的乐队,无论安装的点数是多少?
答案 0 :(得分:3)
这是对自信乐队行为的误解;对于任何合理的估算形式,随着样本量的增加,置信区间将缩小为零(即使残差方差保持不变)。您似乎在寻找预测间隔。您可以通过将残差方差(例如resid.sd <- loess(Y ~ X, span = 0.75)$s; resid.var <- resid.sd^2
)添加到拟合的平方标准误差,并使用和的平方根作为qnorm()
中的标准差来获得这些。 (将参数误差的t分布分布与剩余误差的高斯分布相结合并不容易......)