回帰直線

理論生態学研究室
古屋 匠
線形回帰モデル yi  axi  b εi
y:従属変数(目的変数)
x:独立変数(説明変数)
a:傾き(回帰直線)
b:切片
ε:残差
因果関係が想像される2つの変数間の関係を
調べる。
 相互依存の関係にある2変数があるとき、一
方の数値が与えられたとき、他方の組を予測
することができる。

回帰直線を書く上で重要なのは
予測値の残差を最小にしたい。
最小2乗法
残差平方和(残差の2乗の和)
実測値
yi
n
L   ( yˆ i  yi )
2
残差
i 1
が最小になるように傾きと切片
を選ぶ。
2乗するのはマ
イナスをなくす
ため
予測値 ŷi
求める回帰直線をy=ax+bとする。
n
n
L   ( yi  yˆ i )  ( yi  axi  b) 2
2
i 1
i 1
この値が最小となるa,bを求める。そこでa,bについて微分する。
n
L
 2 ( yi  ax  b)  0・・①
b
i 1
n
L
 2 xi ( yi  ax  b)  0・・②
a
i 1
例、3点A(2,2)、B(4,5)、C(8,6)が与えら
れたとき回帰直線を求める。
標本平均x 
2  4  8 14
2  5  6 13

,y

3
3
3
3
14
13
14
13
14
13
)( 2  )  ( 4  )(5  )  (8  )( 6  )
3
3
3
3
3
3  0.607
a
14
14
14
( 2  ) 2  ( 4  ) 2  (8  ) 2
3
3
3
14 13
b  0.607 

 1.5
3
3
(2 
a<-c(2,4,8)
b<-c(2,5,6)
lm(b~a)
Call:
lm(formula = b ~ a)
Coefficients:
(Intercept)
a
1.5000
0.6071
切片
傾き
気温(℃)
-18
-15
-10
-5
0
5
10
19
酸素消費速度(ml/g/hr)
5.2
4.7
4.5
3.6
3.4
3.1
2.7
1.8
上記のデータは異なる気温条件下での鳥の酸素消費速度である。


temp <- c(-18, -15, -10, -5, 0, 5, 10, 19)
cons <- c(5.2, 4.7, 4.5, 3.6, 3.4, 3.1, 2.7, 1.8)
散布図を描く
plot(temp, cons,xlab="気温(℃)",
ylab="酸素消費速度(ml/g/hr)",main="散布図")
回帰直線を求める
lm(cons ~ temp)
Call:
lm(formula = cons ~ temp)
Coefficients:
(Intercept)
temp
3.47142 -0.08776
切片
傾き
つまり回帰直線は
y= 3.47142+(-0.08776)x
となる。
傾きの検定をする。理由としてそもそも傾きa=0の場合、
説明変数であるxが変化しても目的変数であるyは変化しない。
帰無仮説:傾きa=0
対立仮説:切片a≠0
検定統計量は
t=b/(bの標準残差)
であり、これが自由度N-2の分布に従うとき
summary関数を使う。
summary(lm(cons ~ temp))
Call:
lm(formula = cons ~ temp)
Residuals:
Min
1Q Median
3Q
Max
-0.31022 -0.07552 0.03168 0.11685 0.15099
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.471422 0.060123 57.74 1.81e-09 ***
temp
-0.087759 0.004993 -17.58 2.18e-06 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.1682 on 6 degrees of freedom
Multiple R-squared: 0.9809, Adjusted R-squared: 0.9778
F-statistic: 308.9 on 1 and 6 DF, p-value: 2.177e-06
帰無仮説(傾きa=0)を棄却する。
回帰係数は単回帰分析と重回帰分析との2
つがあるが今回は単回帰分析を行った。
 独立変数(説明変数)が複数個ある回帰分析
を重回帰分析という。
 Rで重回帰分析を行う場合には、独立変数と
独立変数の間に「+」を書いて変数を並べる。
