R 中的线性回归中的 Pr(>|t|) 是如何计算的?
How is Pr(>|t|) in a linear regression in R calculated?
用什么公式计算出R做线性回归时输出的Pr(>|t|)
的值?
我知道 Pr (> | t |)
的值是 p 值,但我不明白该值是如何计算的。
例如x1
的Pr (> | t |)
的值虽然在下面的输出结果中显示为0.021
,但我想知道这个值是如何计算出来的
x1 <- c(10,20,30,40,50,60,70,80,90,100)
x2 <- c(20,30,60,70,100,110,140,150,180,190)
y <- c(100,120,150,180,210,220,250,280,310,330)
summary(lm(y ~ x1+x2))
Call:
lm(formula = y ~ x1 + x2)
Residuals:
Min 1Q Median 3Q Max
-6 -2 0 2 6
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 74.0000 3.4226 21.621 1.14e-07 ***
x1 1.8000 0.6071 2.965 0.021 *
x2 0.4000 0.3071 1.303 0.234
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.781 on 7 degrees of freedom
Multiple R-squared: 0.9971, Adjusted R-squared: 0.9963
F-statistic: 1209 on 2 and 7 DF, p-value: 1.291e-09
基本上,t-value
列中的值是通过将系数估计值(在 Estimate
列中)除以标准误差获得的。
例如,在第二行的情况下,我们得到:
tval = 1.8000 / 0.6071 = 2.965
您感兴趣的列是 p 值。是t分布的绝对值大于2.965的概率。使用 t 分布的对称性,这个概率是:
2 * pt(abs(tval), rdf, lower.tail = FALSE)
这里rdf
表示剩余自由度,在我们的例子中等于7:
rdf = number of observations minus total number of coefficient = 10 - 3 = 7
一个简单的检查表明这确实是 R 所做的:
2 * pt(2.965, 7, lower.tail = FALSE)
[1] 0.02095584
用什么公式计算出R做线性回归时输出的Pr(>|t|)
的值?
我知道 Pr (> | t |)
的值是 p 值,但我不明白该值是如何计算的。
例如x1
的Pr (> | t |)
的值虽然在下面的输出结果中显示为0.021
,但我想知道这个值是如何计算出来的
x1 <- c(10,20,30,40,50,60,70,80,90,100)
x2 <- c(20,30,60,70,100,110,140,150,180,190)
y <- c(100,120,150,180,210,220,250,280,310,330)
summary(lm(y ~ x1+x2))
Call:
lm(formula = y ~ x1 + x2)
Residuals:
Min 1Q Median 3Q Max
-6 -2 0 2 6
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 74.0000 3.4226 21.621 1.14e-07 ***
x1 1.8000 0.6071 2.965 0.021 *
x2 0.4000 0.3071 1.303 0.234
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.781 on 7 degrees of freedom
Multiple R-squared: 0.9971, Adjusted R-squared: 0.9963
F-statistic: 1209 on 2 and 7 DF, p-value: 1.291e-09
基本上,t-value
列中的值是通过将系数估计值(在 Estimate
列中)除以标准误差获得的。
例如,在第二行的情况下,我们得到:
tval = 1.8000 / 0.6071 = 2.965
您感兴趣的列是 p 值。是t分布的绝对值大于2.965的概率。使用 t 分布的对称性,这个概率是:
2 * pt(abs(tval), rdf, lower.tail = FALSE)
这里rdf
表示剩余自由度,在我们的例子中等于7:
rdf = number of observations minus total number of coefficient = 10 - 3 = 7
一个简单的检查表明这确实是 R 所做的:
2 * pt(2.965, 7, lower.tail = FALSE)
[1] 0.02095584