2013-03-02 1326 views
28

下面是從初級統計的鍛鍊與R:如何計算斜率的95%置信區間在一個線性迴歸模型中的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預測,但我怎麼能計算斜率的置信區間?

+5

你試過'confint'? – Arun 2013-03-02 22:14:37

回答

53

讓擬合模型:

> 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 
+12

這相當於以下等式: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)標準錯誤 – ds440 2013-03-02 22:59:04

+1

謝謝NPE!所以估計的係數+/-兩個標準誤差是一個近似值,後一種方法提供了一個準確的方法來計算置信區間,對嗎? – 2013-03-02 23:09:02

+5

是的,這兩個SE是一個很好的球場:如果線性模型假設是正確的,那麼它將遵循T分佈,因此當樣本大小增加時它接近〜1.96,對於較小的樣本它更高。 – ds440 2013-03-02 23:21:12