1 - 安部公輔 ( Kousuke ABE )

数理統計学 II
(数理統計の基礎 II)
4 回目 — 回帰分析・最小二乗法 —
安部公輔
1 / 23
内容
目標
回帰分析の目的や基本的概念に触れ,代表的な手法である最小二
乗法を学ぶ.
Keywords
単回帰分析・説明変数(独立変数)
・目的変数(従属変数)
・予測
値・残差平方和・平方和の分解・決定係数などなど
2 / 23
参考書
■ 統計(竹村彰通,共立出版)
記号などはこの本を参考にしている部分が多い.
3 / 23
イントロ
何か実験データが与えられたとき,散布図をプロットするついでに,
データにフィットする直線を引いて
こんなグラフを作成するが,何の意味があるのか?
4 / 23
イントロ
ばねに重りを吊るしたときのばねの伸びを測っているとして,横軸
を重りの質量 [g],縦軸をばねの伸び [mm] として考えてみる.
グラフから 12g の重りなら 25mm 位と予測できる
直線を引く目的=データに基づく予測
物理定数を推定しているとも言える
5 / 23
イントロ
じゃあ,どうやって直線を引くの?
直線の方程式は
y = a + bx
「予測の精度」が最善となるようにパラメータ a, b を決定してやる.
そのために
予測の誤差を表す関数 Q(a, b) を定義し,それが最小値をとるよ
うな a, b を求める.
6 / 23
設定・記号および用語
(x1 , y1 ), (x2 , y2 ), · · · , (xN , yN ) というデータが与えられている.
x: 原因となる変数.重りの重さなど.独立変数.説明変数.
y: 結果を表す変数.ばねの伸びなど.従属変数.目的変数.
回帰直線: データに最もフィットする直線 y = a + bx.
こいつを(何らかの算出基準に基づいて)求めたい.
b: 回帰係数, a: 定数項などと呼ぶ.
予測値: y
ˆi = a + bxi
説明変数が xi のとき回帰直線から予測される目的変数の値.
これをできるだけ正確にしたい.
残差: ei = yi − y
ˆi = yi − (a + bxi )
予測値 y
ˆi と実測値 yi との差.つまり予測の誤差.
これを平均的に小さくしたい.
7 / 23
図示すると
× (xi , yi )
ei
y = a + bx
×
×
×
×
×
×
(xi , yˆi )
×
×
こんな感じ
8 / 23
各種計算の前に記号のおさらい
平均:x =
N
N
1 N
xi ,
y=
i=1
N
1 N
yi .
i=1
xi = N x などの計算はよく使う.
i=1
共分散: Sxy =
N
1 N
(xi − x)(yi − y)
i=1
相関係数:標準化した上での共分散
N
(xi − x)(yi − y)
Sxy
rxy = √
= i=1
N
Sxx Syy
N
(x − x)2 (y − y)2
i
i=1
i
i=1
計算するときのコツ:(xi − x) や (yi − y) はできるだけ崩さない
ようにして,上記の記号に置き換えられる部分を見付けていく.
9 / 23
残差平方和
誤差の指標として,残差平方和 Q(a, b) を以下で定義する.
Q(a, b) =
=
N
i=1
N
e2i =
N
(yi − yˆi )2
i=1
(yi − (a + bxi ))2
i=1
何故これを指標にするのか?
ei は正負両方の値をとり得るので単純和では都合が悪い.
N
|ei | も候補にはなるが微積などとの相性が良くない.
i=1
平方和は数学的に扱い易い.
(後日説明するベクトルのノルムと
の関連付けが容易.
)
10 / 23
最小点の導出
まず
∂Q
∂a
=
∂Q
∂b
= 0 となる (a, b) を求める.
Q(a, b) = N a2 − 2a
N
(yi − bxi ) +
i=1
N
(yi − bxi )2
i=1
だから
∂Q
∂a
= 2N a − 2
N
(yi − bxi ) = 0
i=1
となるのは
a=
N
1 N
(yi − bxi ) = y − bx
i=1
のとき.そこでこの a を Q(a, b) に代入して Q(y − bx, b) を調べる.
11 / 23
最小点の導出
Q(y − bx, b) =
N
((yi − y) − b(xi − x))2
i=1
=
N
(yi − y)2 − 2b
N
(yi − y)(xi − x) + b2
i=1
i=1
2
= N Sxx b − 2Sxy b + Syy
2
2
Sxy
Sxy
+ Syy −
= N Sxx b −
Sxx
Sxx
N
(xi − x)2
i=1
平方完成してるだけ
Sxy
のときだから,結局
これが最小になるのは当然 b =
Sxx
N
1
Sxy
i=1 (xi − x)(yi − y)
N
b=
=
, a = y − bx
1 N
2
Sxx
i=1 (xi − x)
N
とすればよい.
12 / 23
まとめると
データに最もフィットする直線 y = a + bx を最小二乗法によって
求めた場合,結果は
b=
Sxy
Sxx
,
a = y − bx
となる.ただし x, y は平均, Sxy は
Sxy =
N
1 N
(xi − x)(yi − y)
i=1
で定義される共分散である.
13 / 23
相関係数との関係
回帰直線 y = a + bx において x と y の関係に本質的に影響する
のは回帰係数 b だから,相関係数と何かしら関係があるはず.
相関係数は
rxy
Sxy
= √
Sxx Syy
だったから
Sxy
Sxy
σy
Syy
b=
= √
= rxy ·
√
Sxx
σx
Sxx Syy Sxx
y のスケール
= スケールに依らない関連度 ·
x のスケール
となっている.標準偏差(従って単位の変更など)によって値が変
わることに注意する.与えられたデータそのままの状態で最小二乗
法を適用するのには注意を要する.
14 / 23
決定係数
回帰直線 y = a + bx (の係数)は求まった.では,これでどれく
らい説明や予測ができているのか?数値で示したい.
ポイント
残差平方和をどれくらい小さくできたかで評価するのが自然.
単位(スケール)依存の問題などがあるのでそこは調整する.
値が 1 なら良くフィットしていて, 0 は駄目,というのが使
い易い.
実測値 y の変化を予測値 yˆ でどこまで表現できているか,と
いう視点も盛り込む.
=⇒ 分散(標準偏差)を使って評価する.
N
決定係数 : R2 = 1 − N
2
e
i=1 i
2
(y
−
y)
i
i=1
を用いる.何だこれは?
15 / 23
いくつか計算を
a, b は最小二乗法で求められているものとする.
N
ei =
i=1
=
N
i=1
N
(yi − yˆi ) =
N
(yi − (a + bxi ))
i=1
N
yi − N a − b
i=1
xi = N (y − a − bx) = 0
i=1
つまり,最小二乗法で求められた回帰直線を用いた場合,残差の合
計はプラスマイナスゼロ.
また,上式は
0=
N
1 N
yi −
i=1
N
1 N
yˆi = y − yˆ
i=1
を意味するので y = y
ˆ が成立.
16 / 23
いくつか計算を
N
i=1
(xi − x)ei =
N
(xi − x)(yi − y − b(xi − x))
i=1
= N Sxy −
Sxy
Sxx
· N Sxx = 0
Sxy
b=
だから
Sxx
これを線型代数の視点から見ると, x の平均偏差ベクトルと残差ベ
クトルが直交していることになる(詳細は後日).
17 / 23
いくつか計算を
yˆi − y = a + bxi − y = b(xi − x) だから
N
N
(ˆ
yi − y)ei = b
(xi − x)ei = 0
i=1
i=1
y = yˆ だったから
N
(ˆ
yi − yˆ)ei = 0
i=1
でもある.
これまた,線型代数の視点から見れば,ある種のベクトルの直交関
係として捉えることができる.
18 / 23
平方和の分解
これまでの準備から
N
N
N
(yi − y)2 =
(ˆ
yi − y + yi − yˆi )2 =
((ˆ
yi − y) + ei )2
i=1
=
=
i=1
N
N
i=1
N
i=1
N
i=1
i=1
(ˆ
yi − y)2 +
(ˆ
yi − yˆ)2 +
e2i
∵
i=1
N
(ˆ
yi − y)ei = 0 から
i=1
e2i
これを
全平方和 = 全変動 =回帰平方和+残差平方和
=予測値で説明できる変動
+説明できていない変動(誤差)
と解釈して,平方和の分解などという.
19 / 23
決定係数
そこで
N
N
2
(ˆ
y
−
y
ˆ
)
e
i
i=1 i
R2 =
= i=1
=
1
−
N
N
2
2
全平方和
(y
−
y)
(y
−
y)
i
i
i=1
i=1
回帰平方和
2
と定め,決定係数(直線がどれ位フィットしているかの指標)と呼
ぶ.実は今の場合,
N
i=1
N
N
(yi − y)(ˆ
yi − yˆ) =
(ei + yˆi − y)(ˆ
yi − yˆ) =
(ˆ
yi − y)2
i=1
i=1
や yˆi = a + bxi などから
R = |rxy |
2
が導かれるので,たまたま R2 = rxy
である.0 ≤ R2 ≤ 1 であり,
値が 1 に近いほど良くフィットしている事になる.
20 / 23
最初から標準化しておくと
x = y = 0,
N
1 N
i=1
a = y − bx = 0,
N
xi ei = 0,
i=1
x2i =
N
N
1 N
i=1
b = rxy ·
yˆi ei = 0,
yi2 = 1
σy
σx
= rxy
R2 = 1 −
i=1
N
1 N
e2i
i=1
鬱陶しいものが色々消えて(途中計算も)すっきり.平方和の分解も
N =
N
i=1
yi2 =
N
i=1
yˆi2 +
N
e2i
i=1
と明解になるし,この形なら「平方和の分解=ピタゴラスの定理」
と言われても驚かないだろう?
21 / 23
え?ピタゴラス?
N = 3 の場合で概要を見る.簡単のため x, y は標準化しておく.
⎛ ⎞
⎛ ⎞
⎛ ⎞
⎛ ⎞
y1
yˆ1
e1
x1
x = ⎝x2 ⎠ , y = ⎝y2 ⎠ , yˆ = ⎝yˆ2 ⎠ , e = ⎝e2 ⎠ とおく.
x3
y3
yˆ3
e3
ˆ = bx, e = y − yˆ などの関係がある.
各ベクトル間には y
√
√
2
2
2
また, |x| = x1 + x2 + x3 = N σx = N だから,標準偏差
はベクトルの大きさに相当するものであり,標準化は単位ベクトル
化に相当すると言える.
3
2
最小二乗法では e = y − y
ˆ に対して |e| = i=1 e2i を最小化する.
つまり y
ˆ = bx の形のベクトルで最も y に近いものを選んでいる.
それゆえ y
ˆ は y の x 方向への正射影になり,e と x, yˆ が直交する
y |2 + |e|2 が成り
のは当然.結果としてピタゴラスの定理 |y|2 = |ˆ
立つ.
(実は今の場合,決定係数は R2 = |ˆ
y |2 になっている.
)
22 / 23
イメージ図
Span[1, x]
y
e
yˆ = a1 + bx
Span[1, x] については後日解説.
このイメージ図の汎用性の高さを今後見ることになる.
23 / 23