如何在R中使用回归模型找到预测值的置信区间?

使用回归模型可以找到使用回归模型的预测值的置信区间,我们只需要使用区间参数作为置信度,并为此使用适当的水平即可。例如,如果我们有一个模型M,并且自变量值的数据帧被命名为newdata,那么我们可以对置信区间使用以下语法-

predict(M,newdata,se.fit=TRUE,interval="confidence",level=0.95)

示例

请看以下数据帧-

set.seed(1234)

x1<-sample(0:10,20,replace=TRUE)

y1<-sample(6:10,20,replace=TRUE)

df1<-data.frame(x1,y1)

df1

输出结果

 x1 y1

1  9 8

2  5 9

3  4 10

4  8 7

5  4 10

6  5 7

7  3 8

8  1 9

9  6 9

10 5 8

11 9 6

12 5 8

13 3 9

14 7 7

15 3 8

16 3 7

17 4 10

18 7 6

19 3 8

20 7 6

示例

M1<-lm(y1~x1,data=df1)

summary(M1)

输出结果

Call:

lm(formula = y1 ~ x1, data = df1)

Residuals:

   Min      1Q   Median   3Q    Max

-1.6617 -0.6775 -0.1775 1.0566 1.6611

Coefficients:

           Estimate Std.   Error t value Pr(>|t|)

(Intercept) 9.6299 0.6342 15.185 1.05e-11 ***

      x1   -0.3228 0.1155 -2.795 0.012 *

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.113 on 18 degrees of freedom

Multiple R-squared: 0.3026, Adjusted R-squared: 0.2638

F-statistic: 7.809 on 1 and 18 DF, p-value: 0.01198

创建新数据并找到该数据的拟合值的95%置信区间-

示例

newdata_x1<-data.frame(x1=c(5,2,3))

predict(M1,newdata_x1,se.fit=TRUE,interval="confidence",level=0.95)

$fit

输出结果

      fit      lwr    upr

1 8.016138 7.492902 8.539373

2 8.984400 8.078130 9.890670

3 8.661646 7.939804 9.383488

示例

$se.fit

输出结果

     1          2       3

0.2490503 0.4313678 0.3435835

示例

$df

输出结果

[1] 18

示例

$residual.scale

输出结果

[1] 1.113487

找到该数据的拟合值的90%置信区间-

示例

predict(M1,newdata_x1,se.fit=TRUE,interval="confidence",level=0.90)

$fit

输出结果

      fit      lwr    upr

1 8.016138 7.584269 8.448007

2 8.984400 8.236381 9.732419

3 8.661646 8.065850 9.257442

示例

$se.fit

输出结果

     1          2       3

0.2490503 0.4313678 0.3435835

示例

$df

输出结果

[1] 18

示例

$residual.scale

输出结果

[1] 1.113487

找到该数据的拟合值的80%置信区间-

示例

predict(M1,newdata_x1,se.fit=TRUE,interval="confidence",level=0.80)

$fit

输出结果

      fit      lwr     upr

1 8.016138 7.684803 8.347472

2 8.984400 8.410512 9.558288

3 8.661646 8.204546 9.118746

示例

$se.fit

输出结果

      1       2          3

0.2490503 0.4313678 0.3435835

示例

$df

输出结果

[1] 18

示例

$residual.scale

输出结果

[1] 1.113487

找到该数据的拟合值的75%置信区间-

示例

predict(M1,newdata_x1,se.fit=TRUE,interval="confidence",level=0.75)

$fit

输出结果

      fit       lwr    upr

1 8.016138 7.720089 8.312187

2 8.984400 8.471628 9.497172

3 8.661646 8.253224 9.070068

示例

$se.fit

输出结果

      1       2       3

0.2490503 0.4313678 0.3435835

示例

$df

输出结果

[1] 18

示例

$residual.scale

输出结果

[1] 1.113487

找到该数据的拟合值的99%置信区间-

示例

predict(M1,newdata_x1,se.fit=TRUE,interval="confidence",level=0.99)

$fit

输出结果

      fit       lwr    upr

1 8.016138 7.299261 8.733014

2 8.984400 7.742734 10.226067

3 8.661646 7.672662 9.650631

示例

$se.fit

输出结果

      1       2          3

0.2490503 0.4313678 0.3435835

示例

$df

输出结果

[1] 18

示例

$residual.scale

输出结果

[1] 1.113487

以上是 如何在R中使用回归模型找到预测值的置信区间? 的全部内容, 来源链接: utcz.com/z/331232.html

回到顶部