【问题标题】:How to plot a 95% confidence interval for lm(y~x1+x2)如何绘制 lm(y~x1+x2) 的 95% 置信区间
【发布时间】:2021-12-01 14:51:35
【问题描述】:

我关注了 Max 的 post,但似乎不明白如何将 Alejandro 给出的解决方案应用于不同的回归方程,其形式为 lm(y~x1+x2)。

以下是供您复制的数据以及我所做的。

y=c(139.31449, 105.17776, 105.38411,  99.27608,  92.29064,  91.55114,  84.44251,  78.40453,  74.66656,  73.33242,  72.42429,  77.08666)

x1=c(0.04, 0.00, 0.00, 0.00, 0.00, 0.00, 0.04, 0.00, 0.00, 0.00, 0.00, 0.00)

x2=c(0.00, 0.08, 0.10, 0.12, 0.15, 0.20, 0.00, 0.08, 0.10, 0.12, 0.15, 0.20)

lm1 <- lm(y ~ x1+x2)

newx = seq(min(x1+x2),max(x1+x2),by = 0.05)

conf_interval <- predict(lm1, newdata=data.frame(x=newx), interval="confidence",
                         level = 0.95)

plot(x1+x2, y, xlab="x", ylab="y")

abline(lm1, col="lightblue")

matlines(newx, conf_interval[,2:3], col = "blue", lty=2)

我不确定我是否在为 newx 做正确的事情。 我在添加回归线时遇到问题,或者我不应该使用 abline? R 也没有正确运行 conf_interval。

我尝试寻找与我相似的主题,但很难找到。有人可以帮忙吗?谢谢。

【问题讨论】:

  • 你适合Y~ X1 + X2还是Y ~ X3, X3 = X1 + X2
  • 感谢您的回复。我正在拟合 Y~ X1 + X2

标签: r confidence-interval


【解决方案1】:

你的模型y~x1+x2不是简单的线性回归(SLR),所以它的置信区间(CI)不能像SLR那样可视化。

有几种方法可以绘制此模型的 CI。

首先,使用predict3d::ggPredict(),为固定的x2

ggPredict(lm1, digits = 1, se = TRUE)

其次,通过使用 plotly::plot_ly 和其他一些方法来绘制 3 维置信平面(?)。

xgrid <- seq(0,0.04 , length.out = 30)
ygrid <- seq(0, 0.15, length.out = 30)
newdat <- expand.grid(xgrid, ygrid)
colnames(newdat) <- c("x1", "x2")
predicted <- predict(lm1, newdat, se = TRUE)

ymin <- predicted$fit - 1.96 * predicted$se.fit
ymax <- predicted$fit + 1.96 * predicted$se.fit
fitt <- predicted$fit
z <- matrix(fitt, length(xgrid))
ci.low <- matrix(ymin, length(xgrid))
ci.up <- matrix(ymax, length(xgrid))
library(plotly)
plot_ly(x = xgrid, y = ygrid) %>%
  add_surface(z = z, colorscale = list(c(0,1), c("red", "blue"))) %>%
  add_surface(z = ci.low, opacity = 0.5, showscale = FALSE, colorscale = list(c(0,1),c("grey","grey"))) %>% 
  add_surface(z = ci.up, opacity = 0.5, showscale = FALSE, colorscale = list(c(0,1),c("grey","grey")))

请注意,xy 是您的数据的 x1x2z 是预测的 y

【讨论】:

  • 天啊,你是冠军!谢谢!
猜你喜欢
  • 2018-03-09
  • 1970-01-01
  • 2020-11-16
  • 1970-01-01
  • 2015-06-04
  • 2017-11-20
  • 2021-12-12
  • 2021-12-13
  • 1970-01-01
相关资源
最近更新 更多