如何对 r 中回归线的斜率进行 t 检验
我们执行简单的线性回归,最终得到以下估计回归方程:
ŷ = b 0 + b 1 x
我们通常想知道斜率系数 b 1是否具有统计显着性。
为了确定 b 1是否具有统计显着性,我们可以使用以下检验统计量进行 t 检验:
t = b 1 / se(b 1 )
金子:
- se(b 1 )表示 b 1的标准误差。
然后我们可以计算与 n-2 自由度的检验统计量相对应的p 值。
如果 p 值小于某个阈值(例如 α = 0.05),则我们可以得出斜率系数非零的结论。
换句话说,模型中的预测变量和响应变量之间存在统计上显着的关系。
以下示例演示如何对 R 中的回归线斜率执行 t 检验。
示例:对 R 中回归线的斜率运行 t 检验
假设我们在 R 中有以下数据框,其中包含有关班级 12 名学生的学习时间和期末考试成绩的信息:
#create data frame df <- data. frame (hours=c(1, 1, 2, 2, 3, 4, 5, 5, 5, 6, 6, 8), score=c(65, 67, 78, 75, 73, 84, 80, 76, 89, 91, 83, 82)) #view data frame df hours score 1 1 65 2 1 67 3 2 78 4 2 75 5 3 73 6 4 84 7 5 80 8 5 76 9 5 89 10 6 91 11 6 83 12 8 82
假设我们想要拟合一个简单的线性回归模型来确定学习时间和考试成绩之间是否存在统计上显着的关系。
我们可以使用 R 中的lm()函数来拟合这个回归模型:
#fit simple 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 -7,398 -3,926 -1,139 4,972 7,713 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 67.7685 3.3757 20.075 2.07e-09 *** hours 2.7037 0.7456 3.626 0.00464 ** --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 5.479 on 10 degrees of freedom Multiple R-squared: 0.568, Adjusted R-squared: 0.5248 F-statistic: 13.15 on 1 and 10 DF, p-value: 0.004641
从模型结果可以看出,估计的回归方程为:
考试成绩 = 67.7685 + 2.7037(小时)
为了检验斜率系数是否具有统计显着性,我们可以计算t检验统计量,如下:
- t = b 1 / se(b 1 )
- t = 2.7037 / 0.7456
- t = 3.626
与此 t 检验统计量对应的 p 值显示在输出中名为Pr(> |t|)的列中。
p 值为0.00464 。
由于该 p 值小于 0.05,因此我们得出结论,斜率系数具有统计显着性。
换句话说,学习时数与学生考试的最终成绩之间存在统计上的显着关系。
其他资源
以下教程解释了如何在 R 中执行其他常见任务: