資料1:統計モデルと誤差・残差 - So-net

統計モデルと誤差・残差
第2回講義:資料1
土居正明
注)今回の「統計モデル」とは基本的に fixed effect model を想定しています。ご注意ください。
1 大体のイメージの話
ある 5 人の人の血圧を測定したところ、データが以下のようであったとします。
160
155
150
145
140
5
10
15
20
25
30
図 1 5 人の血圧のデータ (点線は平均値。横軸の数値は無視してください。)
このとき、データは結構大きくばらついていますが、この「ばらつき」の大きさは「仕方のないもの」なのでしょうか*1 ?
本当は「自然なばらつき」ではないものまで「ばらつき」に含めてしまっているので、過剰に大きくなっている、というこ
とはないでしょうか?
その点を確かめるために、このデータを見て「血圧は、年齢にも影響するのではないか」という風に考えたとしましょう。
そして今度は、横軸に年齢・縦軸はそのまま血圧でプロットしてみたところ、以下のようになったとします。
160
155
150
145
140
20
30
40
50
図 2 5 人の血圧のデータ(横軸は年齢)
*1
データは必ずばらつきを持ちますので、ばらつきの「存在」自体は仕方ないのですが、この「大きさ」について本当に仕方がないのでしょうか、と
いう意味です。
1
このとき、直線が当てはまりそうに思えたので、回帰直線を書いてみます。
160
155
150
145
140
135
10
20
30
40
50
図 3 5 人の血圧のデータ+回帰直線
そして、各点から、回帰直線に向けて縦軸に平行に線を下ろして、
「直線からのばらつき具合」を調べてみます。一見した
ところ、「ばらつき」は先の図 1 よりも小さくなっていますね。これはすなわち、図 1 の段階では「ばらつき」と思われて
いたもののうち、実は一部は「年齢の影響」として説明可能なものであった、ということです。逆に言うと、図 1 では年齢
の影響という構造を考えていないため、年齢の影響まで「ばらつき」に含んでしまっていました。結果として、年齢の影響
までを考えたばらつきよりも大きく見えてしまった、ということです。
2 統計モデルとは
2.1 モデルと誤差
では、これら「ばらつき」をきちんと記述するために、統計モデルについてご説明します。
統計モデルとは データに当てはめる、バラツキを含んだ関数 のことです。これから扱う、(線形)回帰分析・分散分析
(fixed effect model) においては、
「構造」と「誤差」の組み合わせ という風に考えていただいてもよいかと思います*2 。言
い直してみても難しいですので、少しずつご説明しましょう。
まず、「構造」や「誤差」とは何でしょうか*3 ? 「構造」とは「関数(もしくはグラフ)」の意味だと思ってください。そ
して、その「構造」でとらえ切れないデータのばらつき のことを「誤差」と呼ぶのです。
例えば、図 1 の場合、構造とは「平均値のみ」
(定数関数)です。構造はこれだけですので、データの値がそれぞれ平均値
と違うのは全て「誤差」の影響ということになります。式で書きますと、i 番目の人の血圧を yi として、血圧の平均値を µ
としたときに、
yi = µ +
(1)
i
と書けます。µ の部分が「構造」であり、それでは説明し切れないばらつき
i
の部分を「誤差」と呼んでいます*4 。
一方で、図 3 の場合、構造とは「年齢の1次関数」です。今度は「誤差」とは、
「この1次関数からのずれ」を指すことに
なります。つまり、式で書きますと、xi を i 番目の人の年齢、β0 , β1 を定数として、
yi = β0 + β1 xi +
(2)
i
となります。ここで、1次関数「β0 + β1 xi 」の部分が「構造」であり、1次関数では説明し切れないばらつき
i
の部分を
「誤差」と呼びます。
*2
このあたり、統計モデルの種類を著者自身があまり知らないので、やや歯切れが悪い表現になっています。ご容赦ください。
本稿の「誤差」
「残差」は一般的な用語ですが、
「構造」については、一般的な用語ではありません。ご注意ください。
*4 後ほど、 i には正規分布を仮定しますが、
「誤差は必ず正規分布するようにしなければならない」わけではありません。正規分布を仮定すると、現
実に対して適応できる場合が多いのと、色々理論展開できるので仮定しているだけです。
*3
2
2.2 「誤差」と「残差」
さて、統計モデルを考える際、「誤差」と「残差」という大変似た言葉が出てきます。この点を正確に定義して区別しま
しょう。発想自体は、統計学的に非常に自然なことです。
例えば式 (1) や (2) において、µ や、β0 , β1 というパラメータの真の値は未知です。これはどんなに頑張っても、正確な
値は決して知りえません。
その意味で、
「誤差」
とはデータの中で、
真のパラメータµ や β0 , β1 などの「真の構造」を用いて説明できないばらつきの部分
を指します。従いまして、真のパラメータを決して知ることのできない我々には「誤差」の値は、決して分かりません。
では、どうしましょう?自然な発想として、「真のパラメータは分からないので、そこを推定値で置き換えたものでよし
としよう」という発想が出てきます*5 。
そのようにして求まる、データの中で、「真の構造の推定値」で説明できない部分 のことを、「残差」と呼ぶのです。
式で書きますと、例えば式 (2) において i 番目の人の「誤差」
i
= yi − (β0 + β1 xi )
i
は
(yi , xi はデータから求まる。β0 , β1 は未知定数)
であり、同じく i 番目の人の「残差」を ei とおくと
ei = yi − (β0 + β1 xi )
(yi , xi はデータから求まる。β0 , β1 は推定値よりデータから計算可能)
のように表せます。
「誤差」が 決して知りえない値 であり、「残差」が 現実に計算できる値 であることは押さえておいてください。
つまり、「残差」は「誤差」の推定値 である、と考えることができます。
3 モデルを比較する
3.1 よいモデルとは?
さて、データに対してモデルを当てはめることを考えたいのですが、どのモデルを当てはめたらよいのか迷ってしまうこ
とがよくあります。そのためよいモデルとはどのようなモデルであるかについて、一つの基準を持ってきましょう。
ここでは、「できるだけ簡単なモデルがよいモデル」であると考えます。つまり、
「複雑なモデルを導入するには、それ相
応のメリットがなければならない」という発想です。では「それ相応のメリット」とは何でしょうか?
それが「十分な残差の減少」です。具体例を通して、この点をじっくり見てみましょう。
3.2 具体例
上の例では、同じデータについて図 1 と図 3 の2つのモデルを考えました。もう少しモデルの構造を整理して、どちらの
モデルの方が妥当かについて考えましょう。
「モデル1」
まず「モデル1」は図 1 の考え方です。全体の平均値を µ として、さらにここでは、誤差に正規分布を仮定します。つ
まり、
yi = µ +
*5
i
(µは定数。i ∼ N (0, σ 2 ))
このあたり、
「真の値は分からないから推定値で」という流れは t 分布の導出の部分と同じですね。
3
とします。このとき、5人のデータ y1 , · · · , y5 は全て N (µ, σ 2 ) に従います。
「モデル2」
次に「モデル2」です。今度も同様に誤差に正規分布を仮定します。
yi = β0 + β1 xi +
i
(β0 , β1 は定数。i ∼ N (0, σ
˜ 2 ))
となります(σ 2 と σ
˜ 2 は別々だと考えていただいて結構です)。今度は、各データが従う分布は
y1 ∼N (β0 + β1 x1 , σ
˜2)
y2 ∼N (β0 + β1 x2 , σ
˜2)
y3 ∼N (β0 + β1 x3 , σ
˜2)
y4 ∼N (β0 + β1 x4 , σ
˜2)
y5 ∼N (β0 + β1 x5 , σ
˜2)
となり、各人の年齢に応じた別々の正規分布に従う ことになります*6 。
さて、先にも見ましたとおり、図 1 と図 3 を見た感じから、図 3 の方が残差が小さくなっているように思えます。
これは、図 1 では、
「本当はただのばらつきではない年齢と血圧の関連」を「ばらつき」にカウントしてしまった結果、残
差が大きくなってしまった、という風に解釈できます*7 。つまり、的確な 構造を入れると、残差が減らせる(簡単なモデル
では説明できない部分が、変数を追加することで説明可能になる。
)ということです*8 。さて、今のところ目で見て「モデル
2」の方がよい、と判断しましたが、もう少し客観性のある指標を考えましょう。
3.3 係数の検定による比較
3.3.1 考え方
では、
「モデル1」と「モデル2」を検定によって比較する 方法を考えましょう。ここで重要なのは、「モデル1」は「モ
デル2」の特殊ケースだということです。つまり、「モデル2」において、年齢 xi の係数である β1 が 0 ならば、血圧に依
存しなくなり、
(文字が違うだけで)「モデル1」と同じモデルになってしまいます*9 。
そこで、基本は「モデル2」で考えてみて、β1 が 0 かどうか判断してみるという方法で考えてみましょう。つまり、「モ
デル2」において
H0:β1 = 0
H1:β1 = 0
を検定して、H0 が棄却されたら β1 を含め、棄却されなかったら β1 を含めない という判断をすることにしましょう。すな
わち、H0 が棄却されると「モデル2」を採用、棄却されなければ「モデル1」を採用する ということです。
では、これを判断する検定を考えていきましょう。手法の詳細は後の資料でご説明するとしまして、概略だけ述べます。
β0 , β1 に対して最小2乗法を用いて推定値 β0 , β1 を考え、回帰直線を
y = β0 + β1 x
とおきます。このとき、現実的な小さな仮定を置けば、β0 , β1 はそれぞれ β0 , β1 の UMVU となっています。
*6
後にくわしく述べますが、β1 = 0 のとき、「モデル1」と「モデル2」は同じモデルになります。
「残差」を「誤差」の推定値と考えると、
「残差が小さい」≒「誤差が小さい」ということが成り立ちそうですね。
*8 補足で少し述べますが、実は「残差は小さければ小さいほどよい」というものではありません。しかし、
「そんなに不自然でない 2つのモデルがあ
るとき、どちらがよいか?」という風に考えるなら、
「残差が小さい方がよい」という風に答えてもよいのではないかと思います
*9 「
『モデル2』が『モデル1』を含むのならば、
『モデル2』の方が汎用性が高いのだから『モデル2』を使えばいいではないか」
、と思われる方がい
らっしゃるかもしれません。しかし、現実的に必要のない変数を入れてしまうと、その分現実を反映していないモデルになりますし、今回は「でき
るだけ簡単なモデルの方が、解釈がしやすくてよいモデルである」という立場でもありますので、
「モデル1」で十分ならそれで済ませたいのです。
*7
4
そして、年齢が x = xi の人の血圧を yi = β0 + β1 xi と推定してやることにすると、yi は yi の「モデル2」における推定値
となります。
さらに、y¯ =
1
5
∑5
i=1
yi とおくと、これは「モデル1」の µ の UMVU となっています。つまり、µ = y¯ というわけです。
このとき y¯ は yi の「モデル1」における推定値 となります。
ここで、突然ですが
5
∑
i=1
(yi − y¯)2 =
5
∑
(yi − yi )2 +
i=1
5
∑
(yi − y¯)2
(3)
i=1
という式が成り立ちます*10 。各項についてご説明しましょう。まず、
5
∑
(yi − y¯)2
i=1
ですが、これは「各データから『モデル1』における(構造部分の)推定値を引いて2乗して足し算」しているわけで、「
『モ
デル1』における残差平方和」*11 と考えることができます。一方右辺の、
5
∑
(yi − yi )2
i=1
ですが、これは「各データから『モデル2』における(構造部分の)推定値を引いて2乗して足し算」しているわけで、「モ
デル2における残差平方和」という風に考えることができます。
残りの
5
∑
(yi − y¯)2
i=1
は、
「
『モデル1』
の推定値と『モデル2』の推定値の差の平方和」を表しています。今、
「モデル1」は「モデル2」の特殊ケース
と考えることができますので、これは「『モデル2』では説明できるけれど、『モデル1』だけでは説明できない部分」とい
うことになります。つまり、「『モデル2』を持ち込んだ甲斐」がここに表れるわけです。
これより、式 (3) を言葉でまとめると以下のようになります。
「モデル1における残差平方和」=「モデル2における残差平方和」+「
『モデル1』と『モデル2』の説明能力の違い」
従って、「『モデル1』と『モデル2』の説明能力の違い」の部分が大きくなればなるほど「『モデル1』だけでは不十分
で、
『モデル2』が必要である」という風に解釈することができます。
逆に、この部分が小さいということは「『モデル2』で考えたつもりが、結局『モデル1』と同じことになってしまった」
(モデル2の説明能力がモデル1の説明能力と同じになってしまった)ということです。このようなときには、「よりシンプ
ルなモデルがよい」という発想で、
「じゃあ回帰直線なんて面倒なものはやめて、平均だけの『モデル1』にしましょう」と
判断するわけです。
3.3.2 具体的な手順
さて、では具体的に H0 を検定するには何を計算したらよいでしょうか。要は「
『モデル2』の説明能力が『モデル1』の
説明能力よりどれほど優れているか」ということに興味がありますので、簡単に思いつくのは
∑5
(yi − y¯)2
「『モデル1』と『モデル2』の説明能力の違い」
R =
= ∑5i=1
「『モデル1』の残差平方和」
¯)2
i=1 (yi − y
2
*10
*11
この式の導出は後の資料で詳細にやりますので、今はさっと流して意味だけ理解してください。
「平方和」というのは「2乗(平方)して足し算したもの(和)
」のことです。
5
が どの程度1に近いか を判断する、という方法です*12 。この値 R2 は決定係数と呼ばれています。
検定においては、これと同じ価値を持つ式、
∑5
(yi − y¯)2
F = ∑5i=1
2
i=1 (yi − yi )
が大きいときに H0 を棄却する、という方法をとります。
厳密には、少し変形して
∑5
F =
∑i=1
5
1
3
(yi − y¯)2
i=1 (yi
− yi )2
が H0 のもとで自由度 (1, 3) の F 分布に従うことから検定します。
例えば、有意水準 α = 0.05 の両側検定で判断するなら、
F > F (1, 3, 0.95)
のときに H0 を棄却、ということになります*13 。
4 まとめ
このように、
(i) できるだけ簡単なモデルがよい。
(ii) 残差(構造では説明できない部分)が十分に減らせるのなら、変数を追加(=複雑なモデルに)してもよい。
という方針で、どのようなモデルがよいか、ということを考えていくことができます。
実は、分散分析もこの方針に従った「モデル選択」という観点から捉えることができるのです。
5 補足:残差は小さければ小さいほどよいわけではない、というお話
今まで、
「残差が十分に減らせるなら、モデルに追加してよい」という風にご説明してきました。では、残差は小さくなれ
ば小さくなるほどよいのでしょうか? 実はそうではありません。それは以下のグラフを見ていただくと明らかかと思いま
す。極端な例です。回帰直線を引くと「残差が0」となるプロットです。
160
160
150
150
140
140
130
130
120
120
110
110
100
20
図4
30
40
10
50
20
30
40
50
図 5 回帰直線の当てはめ
回帰直線を当てはめると残差0となるデータ
何だか「きれいすぎ」て、不自然で人工的な気がしませんか*14 ?普通にデータをとったのなら、もう少しはばらついてい
た方が自然な気がしますね。
今度は、別の見方をしましょう。先の図 3 の血圧の例で、5点が与えられたときに、直線ではなくて以下のような4次関
数を当てはめたとします。
*12
「これが1に近い」ということはつまり、
「
『モデル1』で残差と思っていたものが、実は『モデル2』ではほぼ説明可能だった」ということです。
両側検定の場合でも、F 検定なら片側棄却域のみ考えればよいことに注意してください。詳しくは「正規分布・t 分布・χ2 分布・F 分布とは何か」
をご覧ください。
*14 もちろん現実のデータがこのようにきれいになることもたまにありますが。
*13
6
190
180
170
160
150
140
10
20
30
40
50
図 6 5 人の血圧のデータ+4次曲線の当てはめ
この4次関数は全ての点を通っていますので、こちらも「残差は0」です。ですが、直線を当てはめるのと、どちらがよ
り正しい血圧と年齢の関係を推定しているでしょうか?明らかに、図 3 のような「直線あてはめの方がよさそう」という風
に見えませんか?
このように、「残差はそこそこ小さい方がよいけれど、
(ある意味で)小さ過ぎるのも変」という困った性質を持っていま
す。これをモデルの言葉でいい直すと、「データに対してそこそこ当てはまりのよいモデルがよいけれど、当てはまり過ぎ
るモデルはよくない」という言い方になります。では、何を基準にして「丁度よいあてはまり」
「当てはまり過ぎ」を判断す
ればよいのでしょうか?
1つの基準は「自然かどうか」です。先に「簡単なモデルが良い」という風に述べましたが、それは一般に複雑なモデル
には、解釈が難しい不自然なモデルが排除できなかったりするからです。図 6 のような明らかに不自然なものは除外すると
いう方針は重要です。回帰分析のところでは、「モデル1」も「モデル2」もどちらも「自然」だったので、「では、残差が
(有意差が出るほど)小さくできるなら複雑な『モデル2』を採用しましょう」という発想が可能になりました。
では、たとえば、
y = aex + b
(a, b は定数)
2
y = ax + bx + c
(a, b, c は定数)
のように、グラフの形がよく似ていて、
「どちらが自然かどうか判断がつかない2つのモデル」については、どのようにすれ
ばよいのでしょうか?
5.1 情報量基準による比較
その答えの1つは「情報量基準」というもので、有名なものでは AIC*15 というものがあります。理論的な導出過程や正
確な定義はおいておきますが、大体のイメージで AIC はそこそこデータに当てはまって、パラメータの数が少ない方がよ
いモデルであるという判断をします。直線は y = β1 x + β0 とおけるので、パラメータは β0 , β1 の2つですが、4次関数は
y = β4 x4 + β3 x3 + β2 x2 + β1 x + β0 とおけるので、パラメータは β0 , β1 , β2 , β3 , β4 の5つもあります。そのため、4次関
数のほうが「あてはまりがよい」というメリットがありますが、「パラメータが多い」というデメリットを持ちます。
AIC は数値で与えられ、
「小さい方がよい」という風に解釈できます。そのため、
「直線を当てはめたときの AIC」と「4
次関数を当てはめたときの AIC」を比較して、
「AIC が小さい方のモデルを採用する」ということができるようになります。
AIC については、今回は本題でないのでこの程度にしておきます。
*15
Akaike Information Criteria:赤池情報量基準。
7