如何计算r中回归系数的置信区间
在线性回归模型中,回归系数告诉我们与预测变量增加一个单位相关的响应变量的平均变化。
我们可以使用以下公式来计算回归系数的置信区间:
β 1的置信区间:b 1 ± t 1-α/2, n-2 * se(b 1 )
金子:
- b 1 = 回归表中显示的回归系数
- t 1-∝/2, n-2 = 具有 n-2 自由度的 1-∝ 置信水平的临界 t 值,其中n是数据集中的观测总数
- se(b 1 ) = 回归表中显示的 b 1标准误差
以下示例展示了如何在实践中计算回归斜率的置信区间。
示例:R 中回归系数的置信区间
假设我们想要拟合一个简单的线性回归模型,使用学习时间作为预测变量,考试成绩作为特定班级 15 名学生的响应变量:
我们可以使用lm()函数来拟合 R 中的这个简单线性回归模型:
#create data frame df <- data. frame (hours=c(1, 2, 4, 5, 5, 6, 6, 7, 8, 10, 11, 11, 12, 12, 14), score=c(64, 66, 76, 73, 74, 81, 83, 82, 80, 88, 84, 82, 91, 93, 89)) #fit linear regression model fit <- lm(score ~ hours, data=df) #view model summary summary(fit) Call: lm(formula = score ~ hours, data = df) Residuals: Min 1Q Median 3Q Max -5,140 -3,219 -1,193 2,816 5,772 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 65,334 2,106 31,023 1.41e-13 *** hours 1.982 0.248 7.995 2.25e-06 *** --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 3.641 on 13 degrees of freedom Multiple R-squared: 0.831, Adjusted R-squared: 0.818 F-statistic: 63.91 on 1 and 13 DF, p-value: 2.253e-06
使用结果中的系数估计,我们可以编写拟合的简单线性回归模型,如下所示:
分数 = 65.334 + 1.982*(学习时间)
请注意,小时数的回归系数为1.982 。
这告诉我们,每多花一小时的学习时间,考试成绩就会平均提高1,982分。
我们可以使用confint()函数计算回归系数的 95% 置信区间:
#calculate confidence interval for regression coefficient for 'hours' confint(fit, ' hours ', level= 0.95 ) 2.5% 97.5% hours 1.446682 2.518068
回归系数的 95% 置信区间为[1.446, 2.518] 。
由于此置信区间不包含值 0,因此我们可以得出结论,学习时间和考试成绩之间存在统计上显着的关联。
我们还可以通过手动计算回归系数的 95% 置信区间来确认这是正确的:
- β 1的 95% CI:b 1 ± t 1-α/2,n-2 * se(b 1 )
- β 1的 95% CI:1.982 ± t 0.975, 15-2 * 0.248
- β 1的 95% CI:1.982 ± 2.1604 * 0.248
- β 1的 95% CI:[1.446, 2.518]
回归系数的 95% 置信区间为[1.446, 2.518] 。
注意#1 :我们使用逆 t 分布计算器来查找临界 t 值,该值对应于 13 个自由度的 95% 置信水平。
注意#2 :要计算具有不同置信水平的置信区间,只需更改confint()函数中level参数的值即可。
其他资源
以下教程提供了有关 R 中线性回归的更多信息:
如何解释 R 中的回归输出
如何在 R 中执行简单线性回归
如何在 R 中执行多元线性回归
如何在 R 中执行逻辑回归