r - 黄土复制 geom_smooth 的置信区间/带

标签 r ggplot2 machine-learning

我想获取loess函数中每个观测值的置信区间的上限和下限,以复制ggplotgeom_smooth()中的作用

library(ggplot2)
ggplot(mtcars, aes(x = mpg, y = hp)) +
  geom_point() +
  geom_smooth(method = 'loess')

Points and Loess Function for ggplot

我知道我可以从线性模型中获得上限和下限,但这不适用于黄土:

lm_mod <- lm(hp ~ mpg, mtcars)
predict(lm_mod, mtcars, interval="confidence", level=0.95)

loess_mod <- loess(hp ~ mpg, mtcars)
predict(loess_mod, mtcars, interval="confidence", level=0.95)

最佳答案

想通了!置信区间可以根据标准误差计算得出,标准误差可以使用 se = TRUE 参数添加到预测对象中。 1.96 标准差相当于 95% 置信区间(呈正态分布,因此假设误差呈正态)。

loess_mod <- loess(hp ~ mpg, mtcars)
pred <- predict(loess_mod, mtcars, se=TRUE)
mtcars1$lwl <- pred$fit-1.96*pred$se.fit
mtcars1$upl <- pred$fit+1.96*pred$se.fit

library(ggplot2)
ggplot(mtcars1, aes(x = mpg, y = hp)) +
  geom_point() +
  geom_smooth(method = 'loess') +
  geom_line(aes(y = lwl), color = "red") +
  geom_line(aes(y = upl), color = "red")

enter image description here

希望这对其他人有帮助。

关于r - 黄土复制 geom_smooth 的置信区间/带,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44736600/

相关文章:

r - 为大型数据库中的每个标识符添加由 0 组成的行

python - Matplotlib 等同于 ggplot geom_ribbon?

amazon-web-services - 在标签中找到注释值 21。这大于类(class)数量

machine-learning - 如何在情绪分析中捕捉两个相互竞争的利益相关者的观点

machine-learning - 能量函数和损失函数有什么区别?

r - 使用 gtable 排列 ggplot 图(具有相同宽度的 grobs)以创建 2x2 布局

r - 如何删除R中的重复行?

r - 使用 ncdf4::ncvar_get 时如何指定维度顺序?

r - 使用 Cowplot align 保持绘图间距不变

r - 我创建的返回 ggplot 对象的函数返回错误