首页 > 解决方案 > 如何在 R 中生成具有 90% 置信区间的回归函数的斜率?

问题描述

我正在研究一个基于数据集的问题,该数据集涉及为客户提供服务呼叫的复印机业务。该数据集是一组 45 个实例,描述了在服务调用上花费的分钟数 (v1) 和客户拥有的复印机数量 (v2)。

问题如前所述:

估计复印机数量增加 1 时平均服务时间的变化。使用 90% 的置信区间。

我将此解释为创建一个回归函数来导出斜率,这大约是“复印机数量增加 1 时平均服务时间的变化”。但是,我不知道如何在 90% 的置信区间内做到这一点。

到目前为止,回归函数是这样生成的:

data <-read.table("url")
lm(reformulate(names(d)[2], names(d)[1], data = d)

我得到以下信息:

Coefficients:
(Intercept)           V2  
-0.5802      15.0352 

编辑:

运行 summary(),我得到:

Call:
lm(formula = reformulate(names(d)[2], names(d)[1]), data = d)

Residuals:
 Min       1Q   Median       3Q      Max 
-22.7723  -3.7371   0.3334   6.3334  15.4039 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -0.5802     2.8039  -0.207    0.837    
V2           15.0352     0.4831  31.123   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 8.914 on 43 degrees of freedom
Multiple R-squared:  0.9575,    Adjusted R-squared:  0.9565 
F-statistic: 968.7 on 1 and 43 DF,  p-value: < 2.2e-16

b1(斜率)的置信区间为:

b1 +/- t *(标准误差)

那么这是正确的吗?:

15.0352 +/- (.4831 * 31.123)

标签: rregressionlinear-regression

解决方案


你是对的,“Wald 类型”置信区间将计算为 b1 +/- t *(标准误差)。但是,该等式中的“t”是关键 t 值,而不是模型摘要中报告的 t 值。

您可以在 R 中查找具有 43 个自由度的 90% CI 的临界 t 值,如下所示:

> # use 0.05 since it's a two-sided test
> qt(p = 0.05, df = 43, lower.tail = FALSE)
[1] 1.681071

那么您的 CI 将是 b1 +/- 1.68 *(标准错误)。

您可以使用该confint()函数在 R 中仔细检查这一点。

例如:

mod1 = lm(reformulate(names(d)[2], names(d)[1], data = d)
confint(mod1, level = 0.90) # will give 5% and 95% values

推荐阅读