如何计算 R 中线性回归模型中斜率的 95% 置信区间
Posted
技术标签:
【中文标题】如何计算 R 中线性回归模型中斜率的 95% 置信区间【英文标题】:How to calculate the 95% confidence interval for the slope in a linear regression model in R 【发布时间】:2013-02-17 06:27:29 【问题描述】:这是一个来自 Introductory Statistics with R 的练习:
使用 rmr 数据集,绘制代谢率与体重的关系图。将线性回归模型拟合到该关系。根据拟合模型,体重 70 公斤的预测代谢率是多少?给出直线斜率的 95% 置信区间。
rmr 数据集在“ISwR”包中。它看起来像这样:
> rmr
body.weight metabolic.rate
1 49.9 1079
2 50.8 1146
3 51.8 1115
4 52.6 1161
5 57.6 1325
6 61.4 1351
7 62.3 1402
8 64.9 1365
9 43.1 870
10 48.1 1372
11 52.2 1132
12 53.5 1172
13 55.0 1034
14 55.0 1155
15 56.0 1392
16 57.8 1090
17 59.0 982
18 59.0 1178
19 59.2 1342
20 59.5 1027
21 60.0 1316
22 62.1 1574
23 64.9 1526
24 66.0 1268
25 66.4 1205
26 72.8 1382
27 74.8 1273
28 77.1 1439
29 82.0 1536
30 82.0 1151
31 83.4 1248
32 86.2 1466
33 88.6 1323
34 89.3 1300
35 91.6 1519
36 99.8 1639
37 103.0 1382
38 104.5 1414
39 107.7 1473
40 110.2 2074
41 122.0 1777
42 123.1 1640
43 125.2 1630
44 143.3 1708
我知道如何计算给定 x 处的预测 y,但如何计算斜率的置信区间?
【问题讨论】:
你试过?confint
吗?
【参考方案1】:
让我们拟合模型:
> library(ISwR)
> fit <- lm(metabolic.rate ~ body.weight, rmr)
> summary(fit)
Call:
lm(formula = metabolic.rate ~ body.weight, data = rmr)
Residuals:
Min 1Q Median 3Q Max
-245.74 -113.99 -32.05 104.96 484.81
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 811.2267 76.9755 10.539 2.29e-13 ***
body.weight 7.0595 0.9776 7.221 7.03e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 157.9 on 42 degrees of freedom
Multiple R-squared: 0.5539, Adjusted R-squared: 0.5433
F-statistic: 52.15 on 1 and 42 DF, p-value: 7.025e-09
斜率的 95% 置信区间是估计系数 (7.0595) ± 两个标准误 (0.9776)。
这可以使用confint
计算:
> confint(fit, 'body.weight', level=0.95)
2.5 % 97.5 %
body.weight 5.086656 9.0324
【讨论】:
这相当于:coef=summary(fit)$coefficients[2,1] err=summary(fit)$coefficients[2,2] coef + c(-1,1)*err*qt(0.975, 42) [1] 5.086656 9.032400
: 估计系数 +- qt(1-alpha/2, df) 标准误差
谢谢你,NPE!所以估计系数+/-两个标准误差是一个近似值,后一种方法提供了一种准确的方法来计算置信区间,对吧?
是的,两个 SE 是一个不错的选择:如果线性模型假设是正确的,那么它将遵循 T 分布,因此随着样本量的增加,它接近 ~1.96,对于较小的样本,它会更高。
@NPE:您是否假设斜率值是高斯 pdf?如果这个假设不成立,您可以使用引导方法。以上是关于如何计算 R 中线性回归模型中斜率的 95% 置信区间的主要内容,如果未能解决你的问题,请参考以下文章
EXCEL线性回归中 df , significanceF , F , coefficients , Standard Error , t Stat , P-value 啥意思