如何使用预测函数在R中创建置信度带?

这是我迄今为止所做的。我不知道如何创建的95%置信带:如何使用预测函数在R中创建置信度带?

x=rnorm(100,0,1) 

e=rnorm(100,0,4)

for (i in 1:100){y[i]=2+3*x[i]+e[i]}

plot(x,y,lty=3)

estimation_lm=lm(y~x)

(summary(estimation_lm))

(cc=coef(estimation_lm))

abline(estimation_lm)

abline(a=2, b=3,col="red")

我知道我要使用此代码,但我不完全相信我应该在新的数据或间隔使用(我想我应该用prediction)这个问题:

predict(object, newdata, interval = "none"/"confidence"/"prediction",level = 0.95) 

更放大的部分版本我被困在:

回答:

s_yhat公式表明请求的间隔是平均值,而不是单个数据。在这种情况下,要在predict函数中使用的正确参数是interval="confidence"。请看下图:

library(gplots) # plotCI 

data = data.frame(matrix(0, nrow=100, ncol=2))

colnames(data) = c("x", "y")

data$x = rnorm(100,0,1)

e = rnorm(100,0,4)

for (i in 1:100) {

data$y[i] = 2 + 3*data$x[i] + e[i]

}

plot(data$x, data$y, xlab="x", ylab="y", pch=20)

estimation_lm = lm(y~x, data)

(summary(estimation_lm))

(coef(estimation_lm))

abline(estimation_lm)

abline(a=2, b=3, col="red", lty="dotted")

predict = predict(estimation_lm, data, interval="confidence", level=0.95)

plotCI(data$x, predict[,1], li=predict[,2], ui=predict[,3], add=T, col="blue", gap=0, pch=NA_integer_)

legend("bottomright", legend=c("estimated regression", "true line", "confidence interval 95%"), lty=c("solid", "dashed", "solid"), col=c("black", "red", "blue"))

以上是 如何使用预测函数在R中创建置信度带? 的全部内容, 来源链接: utcz.com/qa/266457.html

回到顶部