如何从R中的回归模型中找到残差的自由度?

要从回归模型中找到残差的自由度,我们可以将函数df.residual与模型对象一起使用。

例如,如果我们将回归模型存储在名为 Model 的对象中,那么可以使用下面提到的命令找到同一模型的残差自由度 -

df.residual(Model)

示例 1

以下代码段创建了一个示例数据框 -

x1<-rpois(20,2)

y1<-rpois(20,10)

df1<-data.frame(x1,y1)

df1

输出结果

创建以下数据框 -

   x1 y1

1  2  5

2  0 14

3  4  9

4  1  9

5  2  5

6  3 10

7  2 10

8  1 13

9  3  6

10 0 13

11 2 10

12 2  6

13 2  6

14 4 11

15 1 10

16 3 12

17 4 10

18 3  7

19 0 14

20 1  7

要为 df1 中的数据创建回归模型,请将以下代码添加到上述代码段中 -

x1<-rpois(20,2)

y1<-rpois(20,10)

df1<-data.frame(x1,y1)

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

summary(Model1)

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

Call:

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

Residuals:

  Min   1Q     Median 3Q   Max

-4.350 -2.694 0.650  2.416 3.462

Coefficients:

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

(Intercept) 10.9750  1.1809  9.294  2.72e-08  ***

x1         -0.8125   0.4990  -1.628 0.121

---

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

Residual standard error: 2.823 on 18 degrees of freedom

Multiple R-squared: 0.1284, Adjusted R-squared: 0.07996

F-statistic: 2.651 on 1 and 18 DF, p-value: 0.1208

要在模型 Model1 中找到残差的自由度,请将以下代码添加到上述代码段中 -

df.residual(Model1)
输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 18

示例 2

以下代码段创建了一个示例数据框 -

Response<-rnorm(20)

iv1<-rnorm(20,2,0.24)

iv2<-rnorm(20,10,2.3)

df2<-data.frame(Response,iv1,iv2)

df2

创建以下数据框 -

    Response     iv1         iv2

1  -0.85495077  1.528105   7.705541

2   1.05152113  1.833045   8.553894

3   0.83207179  1.686339  14.282792

4  -0.56286758  1.706313  16.849545

5   2.36207904  2.095680   9.689553

6  -1.83340540  2.576143   9.816262

7   0.60208595  1.940719   8.183135

8   0.85376503  2.132368  11.737135

9  -0.27318666  1.737553  10.880559

10  1.59930686  1.856816  11.051310

11  0.21771933  1.620006  11.755168

12  0.76175494  1.815092  12.406097

13  0.01624025  1.982353  13.062458

14 -0.73307457  2.285373  13.814720

15  0.75039176  1.811981   9.986765

16  0.89032608  1.570384  10.295109

17 -0.60115784  2.179361   9.864406

18  0.49524802  2.114340  11.375692

19  0.19472357  1.249829  12.305074

20 -0.32425762  2.374610  11.766768

要为 df2 中的数据创建回归模型,请将以下代码添加到上述代码段中 -

Response<-rnorm(20)

iv1<-rnorm(20,2,0.24)

iv2<-rnorm(20,10,2.3)

df2<-data.frame(Response,iv1,iv2)

Model2<-lm(Response~iv1+iv2,data=df2)

summary(Model2)

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

Call:

lm(formula = Response ~ iv1 + iv2, data = df2)

Residuals:

   Min      1Q     Median  3Q      Max

-1.65966 -0.57704 0.04338 0.50260 2.14862

Coefficients:

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

(Intercept) 2.54391     1.81171  1.404   0.178

iv1        -0.82378     0.69325 -1.188   0.251

iv2        -0.06234     0.10053 -0.620   0.543

Residual standard error: 0.9618 on 17 degrees of freedom

Multiple R-squared: 0.09101, Adjusted R-squared: -0.01593

F-statistic: 0.851 on 2 and 17 DF, p-value: 0.4444

要在模型 Model2 中找到残差的自由度,请将以下代码添加到上述代码段中 -

df.residual(Model2)
输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 17

以上是 如何从R中的回归模型中找到残差的自由度? 的全部内容, 来源链接: utcz.com/z/322657.html

回到顶部