数理統計学 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
© Copyright 2024