回帰の話城野克広
産業技術総合研究所 城野克広
1
• 不確かさ評価のセミナーなどで、回帰分析の不確かさ評価について講義する機会は少なくないです。
• そのときには、回帰分析そのものについては、受講者の皆様が詳しいことを前提にお話ししています。しかしながら、必ずそうではないこともあるようです。
• (実務で使わないなら、不確かさ評価だけを勉強する必要もない気もしないのですが、)補足のための資料があった方がよいだろうと考えました。その目的で作成した資料です。
• 本資料の再配布はご遠慮下さい。産業技術総合研究所 城野克広
2
3
適用例
直線回帰の最小二乗法
原点を通る直線
ばらつきの評価
回帰分析の考え方
回帰分析とは• 「回帰」とは「フィッティング」のことである。• 今回の講義では下の図に示すような直線へのフィッティングについて説明する† 。これを直線回帰と呼ぶ。
4
y
2 4 6 8
2468
10
x
†この図では、スライド6の表記に従って、xi = i (i = 1, …, 10)に対して、y1 = 0.9, y2 = 2.7, y3 = 2.8,y4 = 3.7, y5 = 5.3, y6 = 6.8,y7 = 7.3, y9 = 8.6, y9 = 9.3,y10 = 9.2 というデータを用いている。
説明変数と目的変数• 直線の式は以下のもの。
y = α + βx• このとき、xとyを入れ替えても直線になる。このため、どちらを横軸xにとっても良いように思える。
• しかし、xを原因、yを結果であると考えられるように上の式を定めるのが通常である。
• xは説明変数、yは目的変数と呼ばれる†
• 通常、xのばらつきはないものとして解析する。(yに比べて、xはばらつきが無視できるほど小さいことが必要。)
5†xを独立変数、yを従属変数、被説明変数、応答変数などと呼ぶ場合もある。
説明変数と目的変数• 「ある製薬会社で錠剤Aについて、水に浸して形が完全に崩れるまでの時間を崩壊時間と呼んで、これを特性…としている。この特性に対して原料の練り合わせ時間…が関係するのではないか」 †と考えた。説明変数は崩壊時間か原料の練り合わせ時間か?
• 「ゴルトンの興味は人間の知性に関する遺伝の法則にあった …ゴルトンが知性を統計解析しようにも、そのデータ自体が当時は得られない。だから、代わりにゴルトンは、約1000組の親子の身長を測定し「優秀な親から優秀なこどもが生まれる」という現象を実証しようと試みた。」‡説明変数は親の身長か子の身長か?
• 通常は、原料の練り合わせ時間、親の身長が説明変数になる。(ただし、解析の目的よるかも知れない。)
6
†立林和夫、宮城善一「実験とデータ解析の進め方(第2版)」、日科技連(2012)p.63. ‡西内啓、「統計学が最強の学問である(第6版)」、ダイヤモンド社(2013)p.152.
最小二乗法の考え方• 今、説明変数と目的変数の組(x1, y1)、(x2, y2)、…、
(xn, yn)というn個の組があるとする。• 測定には誤差がある。誤差は測定値
εi = yi − (α + βxi)• αとβの推定値をそれぞれ�αと�βとする。以下の式で求まる誤差の推定値を残差と呼ぶ。
ei = yi − (�α +�β xi)• 残差が小さくなる�αと�βの組がよい推定値であるように思える。
7
• ただし、残差の合計T = ∑i=1n eiをゼロにする�α
と�βの組はあまりよいようには思えない。(下図参照)
• 残差を二乗してみてはどうだろうか?
最小二乗法の考え方
8
T最小化
�α = 1n ∑i=1
n yi�β = 0
2 4 6 8
2468
10
x
y
2 4 6 8
2468
10
y
x
最小二乗法の考え方• 残差二乗和を最小にする方法を最小二乗法と呼ぶ。
S = �i=1
ne𝑖𝑖
2
9x
y
2 4 6 8
2468
10
y
2 4 6 8
2468
10
x
S最小化
10
適用例
回帰分析の考え方
原点を通る直線
ばらつきの評価
直線回帰の最小二乗法
関数の最小化• Sを以下のように(a, b)の関数と考えて、これを最小にするaとbを�αと�βとする。
S a, b = �i=1
nyi − a + bxi
2
• 2つ変数をもつ関数が最小になる点はどうやって見つけるか?
11
S
ba
Oα̂ β̂
dS/da|a = bと書いて、dS/daのa = bでの値という意味。
関数の最小化(1変数)• 練習として、変数が1つの場合を考える。繰り返しの測定値x1, …, xnに対し、以下を最小にするaを�αとする。
S a = �i=1
nxi − a
2
• S(a)が最小の点で、 S(a)のaに対する微分はゼロ。�
dS ada a=�α
= −2�i=1
nxi − �α = 0
12
関数の最小化(1変数)• 以下のように展開する。−2�
i=1
nxi − �α = −2 �
i=1
nxi − 2n�α = 0
• これを整理して、�α =
1n�
i=1
nxi
• つまり、単なる平均値も最小二乗法による推定値として得ることができる。
13
関数の最小化(1変数)• 図にすると以下のようなイメージ。• dS(a)/daは下図の関数の傾きを意味する。傾きゼロのところで最小。
14
x1 9.8x2 10.0x3 10.2
a
S
9.8 10.0
0.1
0.20.3
a = �α0.40.5
10.2
切片の決定の方程式• 変数が2つの場合、片方が変数でなければ(片方が定数ならば)、同じようにさSが最小になる点を見つけることができる。
• もし、�βが既知ならば、 S1 (a) = S(a, �β ) とし、aに対する微分を考えることができる。
�dS1 a
da a=�α= −2�
i=1
nyi − �α + �β xi
• これがゼロであるときの方程式を解いて、 �αを得ることができる。
15
切片の決定の方程式• S(a, b)は、具体的には以下のような等高線を持つ関数である。
16
0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45
0.95
0.96
0.97
0.98
0.99
1
1.01
1.02
2.4
2.6
2.8
3
3.2
3.4
3.6
3.8
4
a
b
S
0.1 0.2 0.3 0.4
1.00
1.02
0.98
0.96
4.0
3.0
2.4
x
y
2 4 6 8
2468
10
切片の決定の方程式• S1(a)は、b = �β上でのS(a, b)の値を意味している。• dS1(a)/daは下右図の関数の傾きを意味する。
17
0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45
0.95
0.96
0.97
0.98
0.99
1
1.01
1.02
2.4
2.6
2.8
3
3.2
3.4
3.6
3.8
4
a
b
S
0.1 0.2 0.3 0.4
1.00
1.02
0.98
0.96
4.0
3.0
2.4
a
S1
0.1 0.2 0.3 0.4
2.3
2.4
2.5
2.6
b = �β
a = �α
傾き決定の方程式• 変数が2つの場合、片方が変数でなければ(片方が定数ならば)、同じようにさSが最小になる点を見つけることができる。
• もし、�αが既知ならば、S2(b) = S(�α , b) とし、bに対する微分を考えることができる。
�dS2 b
db b=�β= −2�
i=1
nxi yi − �α + �β xi
• これがゼロであるときの方程式を解いて、�βを得ることができる。
18
傾き決定の方程式• S2(b)は、a = �α上でのS(a, b)の値を意味している。• dS2(a)/daは下右図の関数の傾きを意味する。
19
0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45
0.95
0.96
0.97
0.98
0.99
1
1.01
1.02
2.4
2.6
2.8
3
3.2
3.4
3.6
3.8
4
a
b
S
0.1 0.2 0.3 0.4
1.00
1.02
0.98
0.96
4.0
3.0
2.4
b
S2
0.96 0.98
2.32.42.52.6
b = �β2.72.8
a = �α
1.00
正規方程式• つまり、以下の2つの式を連立して解けば、�αと�βを得ることができる。
−2�i=1
nyi − �α + �β xi = 0
−2�i=1
nxi yi − �α + �β xi = 0
20
正規方程式• この連立方程式を変形した以下の方程式を正規方程式と呼ぶ。
n � �α + �i=1
nxi � �β = �
i=1
nyi
�i=1
nxi � �α + �
i=1
nxi2 � �β = �
i=1
nxiyi
21
最小二乗推定量• 正規方程式を解いて、以下を得る。
�β =∑i=1
n xi − �x yi − �y
∑i=1n xi − �x 2
�α = �y − �β �x
ここで、 �x = 1n∑i=1
n xi、 �y = 1n∑i=1
n yi 。
22
(参考)偏微分を用いた表現• 変数を固定して、S1だとかS2だとかいう新しい関数を定義することは混乱しやすい。
• このため、一つの変数以外を固定した値と見なして行う微分のことを偏微分と呼び表現のルールが定まっている。
• ここでの偏微分を使った表現は以下のものになる。�
𝜕𝜕S a,b𝜕𝜕a a=�α ,b=�β
= �dS1 a
da a=�α�
𝜕𝜕S a,b𝜕𝜕b a=�α ,b=�β
= �dS2 b
db b=�β
23𝜕𝜕は「デル」とか「ラウンド」と読む。
計算例• x1 = 1, x2 = 2, …, x10 = 10に対して、以下のy1, …,
y10が測定されたとする。
24
y1 0.9 y6 6.8y2 2.7 y7 7.3y3 2.8 y8 8.6y4 3.7 y9 9.3y5 5.3 y10 9.2
y
2 4 6 8
2468
10
x
計算例• 以下のように計算できる
�x =1n�
i=1
10xi = 5.5
�y =1n�
i=1
10yi = 5.66
�i=1
10xi − �x yi − �y = 81.1
�i=1
10xi − �x 2 = 82.5
25
計算例• 以下のように計算できる
�β =∑i=1
10 xi − �x yi − �y
∑i=1n xi − �x 2 =
81.182.5
= 0.98
�α = �y − �β �x = 0.25
26
計算例• 左下図のように、よく直線に乗っていることが分かる。右下図から、確かに最小二乗推定値になっていると分かる。
27
0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45
0.95
0.96
0.97
0.98
0.99
1
1.01
1.02
2.4
2.6
2.8
3
3.2
3.4
3.6
3.8
4
a
b
S
0.1 0.2 0.3 0.4
1.00
1.02
0.98
0.96
4.0
3.0
2.4
a = �α
b = �β2 4 6 8
2468
10
x
y
28
直線回帰の最小二乗法
回帰分析の考え方
原点を通る直線
ばらつきの評価
適用例
ばねばかりの例• ばねばかりについての回帰分析
29
質量(x)kg
ばねの長さ(y)cm
1 1.0 40.182 2.0 48.953 3.0 60.724 4.0 72.665 5.0 79.13
ばねばかりの例(回帰の準備)• 散布図から直線近似が妥当そうであることを確認することができる。
30x /kg
y /c
m
1 2 3 40
20
40
60
80
50
ばねばかりの例(傾きと切片の決定)• 以下のように傾きと切片が求まる。
31
29 85 cmˆˆ y x .α β= − =
( )( )
( )
5
15
2
1
10 16 cm/kgi i
i
ii
x x y yˆ .
x xβ =
=
− −= =
−
∑
∑
ばねばかりの例(回帰直線の図示)• 推定した直線が実際に測定値の近くを通っていることが確認できる。
32
1 2 3 40
20
40
60
80
50x /kg
y /c
m
ばねばかりの例(回帰直線の応用)• 未知の質量に対して、このばねばかりを使用してばねの長さを確かめたところ、50.44 cmであったとする。
• この質量x0は以下の方程式を解いて定めることおができる。
50.44 cm = 10.16 cm/kg � x0 + 29.85 cm• これを解いて、 x0 = 2.03 kgを得る。
33
34
直線回帰の最小二乗法
回帰分析の考え方
適用例
ばらつきの評価
原点を通る直線
原点を通る直線の最小二乗法• 直線が原点を絶対に通ると分かっていることがある。(ある基準との差に対して、回帰を行うという場合が多い。)
35
x
y
2 4 6 8
2468
10†この図では、スライド11の表記に従って、xi = i (i = 1, …, 10)に対して、y1 = 0.9, y2 = 2.7, y3 = 2.8,y4 = 3.7, y5 = 5.3, y6 = 6.8,y7 = 7.3, y9 = 8.6, y9 = 9.3,y10 = 9.2 というデータを用いている。
原点を通る直線の最小二乗法• 直線の式は以下のもの。
y = βx• 説明変数と目的変数の組(x1, y1)、(x2, y2)、…、
(xn, yn)というn個の組があるとする。• βを推定した値を�βとする。以下の残差について最小二乗法を適用する。
ei = yi − �β xi
• すなわち下のS(b)を最小化する。S b = �
i=1
nyi − bxi
2
36
原点を通る直線の最小二乗法• S(b)が最小の点で、 S(b)のbに対する微分はゼロ。
�dS b
db b=�β= −2�
i=1
nyi − �β xi = 0
• これを整理して、�β =
∑i=1n xiyi∑i=1
n xi2
37
原点を通る直線の最小二乗法• 下のように原点を通る直線を決定できる。
38
x
y
2 4 6 8
2468
10
y
2 4 6 8
2468
10
x
S最小化
39
適用例
回帰分析の考え方
直線回帰の最小二乗法
原点を通る直線
ばらつきの評価
ばらつきの標準偏差• xはばらつきのない値として、以下の直線の式への回帰を考える。
y = α + βx• 今、説明変数と目的変数の組(x1, y1)、(x2, y2)、…、
(xn, yn)というn個の組があるとする。• だからと言って、ばらつきの標準偏差は以下のようには計算しない。
s =1
n − 1�i=1
nyi − �y 2
40
�y =1n�
i=1
nyi
ばらつきの標準偏差• yiのは�yの周りにばらつくのではなく、y = α + βxの周りにばらつく。
• このため、残差ei = yi − (�α +�β xi)が、ばらつきの計算の基本となる。
41
yi
y = α + βx
y
yi
ばらつきの標準偏差• ばらつきの標準偏差sは、残差二乗和
S = �i=1
ne𝑖𝑖
2
を用いて、以下のように計算する。
s =S
n − 2
• 正確にはs2が誤差εi = yi − (α + βxi)の母分散の不偏推定量になっているということ。
42
?
ばらつきの標準偏差• 単なる繰り返しにおいて、残差平方和をnではなくてn-1で割るのは、母平均と測定値のずれよりも標本平均と測定値のずれは小さくなりやすいのを補正するため。
43
母平均
標本平均
測定値
測定値
影響を受けない
近づいてしまう
ばらつきの標準偏差• 直線回帰では「n−2」で割る!• 理由は同じ。より近づきやすいことを反映している。
44
測定値 変数が2つの推定値( = α + βx)^ ^
規準化残差、標準化残差• 以下のように残差を標準偏差で除したものを規準化残差(あるいは標準化残差)と呼ぶ。
�ei =eis
• 規準化残差�eiのヒストグラム• 残差が正規分布(であることが想定される場合にそうである)かどうか検討する、±3を超える規準化残差があった場合は、妥当性を調べる。
• xiと規準化残差�eiの散布図• 上昇傾向や下降傾向がないか。• 周期的に変動していないか。• はずれ値の出方にパターンが見られるか
45
規準化残差、標準化残差• 下の例では、絶対値が3を超えるような残差は見られず、妥当な直線回帰ができたと考える。
46
x
�ei
2 4 6 8
-3
0
+3
2 4 6 8
2468
10
x
自由度• 原点を通る直線の場合には、残差二乗和を「n-1」で割って正の平方根をとったものを標準偏差とする。
• 一般には、「データの数―推定するパラメータの数」で残差二乗和を割ると不偏分散となる。
• 「データの数―推定するパラメータの数」のことを自由度と呼ぶ。
47
ばらつきについてのコメント• 規準化残差などを用いた検討は一定の意味はある。
• しかし、ここで紹介したばらつきの議論は、現実の測定の不確かさ評価に適用するには、不十分なものである。
• 回帰分析を行ったときの(y軸の量の)予測の標準偏差は、計算した標準偏差よりも大きい。
• x軸の量の推定のばらつきのためには、より深い議論が必要。
48
まとめ• 回帰直線の切片と傾きは以下の式で求める。• 傾き�β :
�β =∑i=1
n xi − �x yi − �y
∑i=1n xi − �x 2
• 切片�α :�α = �y − �β �x
• ここで、�x =
1n�
i=1
nxi、 �y =
1n�
i=1
nyi
49
まとめ• 原点を通る直線の回帰分析では、傾き�βは以下のように与える。(切片はゼロ。)
�β =∑i=1
n xiyi∑i=1
n xi2
• 規準化残差などを用いて、回帰の妥当性を確認することもある。
• ただし、測定の不確かさのためには、より進んだ議論が必要。
50