ノンパラメトリック計量経済分析:概観stat.econ.osaka-u.ac.jp/~suryo/201406/JEA2014Spring_NonparametricsR.pdf ·...
Transcript of ノンパラメトリック計量経済分析:概観stat.econ.osaka-u.ac.jp/~suryo/201406/JEA2014Spring_NonparametricsR.pdf ·...
ノンパラメトリック計量経済分析:概観
西山 慶彦
京都大学 経済研究所
日本経済学会 2014春季集会@同志社大学
計量モデルの特定化の誤り(I)
線形回帰モデル:ある経済変数 Y が別の経済変数ベクトル X に依存して決まっており、回帰関数が E (Y |X ) = β′X という線形関数で表されると仮定する。そのとき、
Y = β′X + ϵ (1)
E (ϵ|X ) = 0となる。その構造から、独立で同分布に従うデータ(yi , xi ), i = 1, · · · , nが得られたとき、最小二乗法
minβ
n∑i=1
(yi − β′xi )2
によって βをうまく推定することができる(線形でなく、非線形モデルでも可)。
▶ しかし、もし (1)が間違っていたら??
計量モデルの特定化の誤り(II)想定したパラメトリックな回帰モデルが実は間違っていた場合、何が起こるだろうか?今、Xi ∼ N(0, σ2
x)で、
Yi = X 2i + ϵi , ϵi |Xi ∼ N(0, σ2
ϵ ) (2)
という非線形の構造から発生した無作為標本 (yi , xi ), i = 1, · · · , nが得られたとする。このデータに対し、誤って線形モデル
Y = βXi + ui
をあてはめてOLS推定を行ったとき、βの推定量は
β = (n∑
i=1
x2i )−1
n∑i=1
xiyi = (n∑
i=1
x2i )−1
n∑i=1
x3i + (n∑
i=1
x2i )−1
n∑i=1
xiϵi
= (1
n
n∑i=1
x2i )−1 1
n
n∑i=1
x3i + (1
n
n∑i=1
x2i )−1 1
n
n∑i=1
xiϵi
p→ 0
となる。
計量モデルの特定化の誤り(III)
上の例では特定化の誤りのために、X は Y に影響を与えないという間違った結論を得ることになる。
▶ 一般に、間違ったモデルを使った推定を行うと、その結果は間違った経済学的含意をもたらす。
⇒関数形(あるいは構造)に関する仮定をできるだけ少なくして推定、検定を行うことができないか? ⇒ノンパラメトリック、セミパラメトリック法
いくつかのパラメータの値が決まれば分布(構造)が決まるモデルをパラメトリックモデル、未知の関数が含まれているモデルをノンパラメトリックモデルという。
この報告では、カーネル法によるノンパラメトリックな
1. 密度推定法
2. 回帰推定法
を紹介する。
ノンパラメトリック密度推定
なぜ密度関数を推定するか?▶ 経済変数の分布そのものを知りたい(例:所得分布、資産分布)
▶ 回帰分析、その他の計量経済分析の基礎になる
E (Y |X = x) =
´yfX ,Y (x , y)dy
fX (x)
パラメトリック密度推定とノンパラメトリック密度推定▶ パラメトリック推定(分布の種類を決めて、そのパラメータを最尤推定):特定化を間違えれば問題が生ずる
▶ ノンパラメトリック推定(分布の種類を決めずに、密度関数を推定)
ヒストグラム
最も初歩的なノンパラメトリック密度推定量はヒストグラム。
1. 定義域を適当な間隔に区切る
2. 各区間に含まれているデータの個数を数える
3. それを棒グラフに描く
ヒストグラムの問題点
1. 始点(区間設定の際の左端)の選び方によって印象が変わる
2. 区間幅の選び方によって印象が変わる
3. f ′(x)などの微分や、その他の目的で使う際に有効でないことがある。
4. 多変量だと難しい。
ヒストグラムの問題点 (区間幅や始点を変えると?)
図 : ヒストグラムの問題点 Wand and Jones (1995)新生児体重データ
h=0.2 h=0.8
h=0.4 h=0.4
�l=0.7 �l=0.9
カーネル密度推定(直観)
カーネル密度推定はヒストグラムの問題点を緩和する推定法である。ある点 x0に対する密度 f (x0)を推定することを考えてみよう。
▶ f (x0)が大きい ⇒ x0の近くに多くの観測値▶ f (x0) が小さい ⇒ x0 の近くはあまり観測値がない
したがって、f (x0)の値を推定するためには、x0 の近くにある観測値の個数が有効な情報を持っている。
もちろん、ヒストグラムもこの考え方に由来するものである。
カーネル密度推定 (Naive推定量)(小さい)正の数 h(バンド幅、bandwidthという)を定め、
N0 =区間 [x0 − h/2, x0 + h/2)の中に入るデータの個数
を数えてみよう。I (·)を指示関数とすると、各 i について、
I (x0−h/2 ≤ Xi ≤ x0+h/2) =
{1, Xiがその区間に入っている
0, Xiがその区間に入っていない
だから、
N0 =n∑
i=1
I (x0 − h/2 ≤ Xi ≤ x0 + h/2)
となる。これを用いて、
f (x0) =1
nh
n∑i=1
I (x0 −h
2≤ Xi ≤ x0 +
h
2)
=1
nh
n∑i=1
I (|Xi − x0|
h≤ 1
2)
を Naive推定量という。
ヒストグラムとNaive推定量 (図示)ヒストグラムは区間が固定されているが、Naive推定量では推定する点ごとにデータ数を数える区間を連続的に変えていく。
図 : ヒストグラムと Naive推定量:Silverman(1986)間欠泉データ
バンド幅の役割バンド幅は分析者が定める数である(良い決め方は後述)。
表 : バンド幅の役割
バイアス 分散 推定結果の滑らかさ
h:大 大 小 滑らかh:小 小 大 滑らかでない
▶ hを大きくとると、x0から離れたデータを f (x0)の推定に用いることになる。そのようなデータは f (x0)の情報としてはあまり適切でないため、バイアスをもたらす。しかし、f (x0)の推定により多くのデータを用いるため、分散は小さくなる(バイアス=分散トレードオフ)。
▶ hを大きくとると、x0を少し動かしても、x0 ± h/2の区間に含まれるデータの出入りの影響が比較的少ないため、変化が少ない(滑らか)。⇒ hは平滑化パラメータとも呼ばれる。
カーネル密度推定量Naive推定量では、区間 [x0 − h/2, x0 + h/2)の中にあるデータはf (x0)の推定に均等に貢献し、そこから少しでもはずれたデータは全く用いられない。しかし、そのすぐ外にあるデータは少しは意味を持っているかもしれない。そこで、貢献度を滑らかに変更することができるように、I ( |Xi−x |
h ≤ 12)の代わりに、
K (u) = K (−u)で´K (u)du = 1を満たす関数 K (·)を使って
f (x0) =1
nh
n∑i=1
K (Xi − x0
h)
とすることが考えられる。こうすれば、x0に近いデータには大きなのウェイト、離れたデータには小さなウェイトがかかる。K (·)をカーネル関数、hをバンド幅と呼び、
f (x) =1
nh
n∑i=1
K (Xi − x
h)
をカーネル密度推定量という。全体を nhで割るのは、´f (x)dx = 1とするためである。
カーネル密度推定量:コメント
▶ ヒストグラムと違って、「始点」がないので、その悪影響はない。
▶ バンド幅が果たす役割は、Naive推定量と全く同等である。▶ バンド幅選択は結果にかなり大きな影響を与えるが、カーネル関数についてはあまり大きくない(最適バンド幅、最適カーネルは後述)。
▶ Naive推定量はカーネル推定量で K (u) = I (|u| ≤ 12)(一様分
布の密度)とした特殊ケース。▶ カーネル関数としては、正規分布、三角分布の密度関数、エパネチニコフカーネル(後述)がよく用いられる。
▶ 滑らかなカーネル関数を用いることによって、f (x)の微分の推定が可能。
カーネル密度推定量の統計的性質:仮定
▶ f (x)は滑らかである(2階連続微分可能)▶ n → ∞のとき、h → 0 (バイアスが0に収束する)▶ n → ∞のとき、nh → ∞ (分散が0に収束する)▶ K (u) = K (−u),
´K (u)du = 1
カーネル密度推定量の期待値と分散f (x)の期待値と分散を求めよう。データは無作為標本なので、
· E{f (x)} =1
hE{K (
X1 − x
h)} =
1
h
ˆK (
z − x
h)f (z)dz
=
ˆK (u)f (x + hu)du
= f (x) +h2
2f ′′(x)
ˆu2K (u)du + small (3)
· Var{f (x)} =1
n
[E [
1
h{K (
X1 − x
h)}]2 − {1
hE{K (
X1 − x
h)}}2
]=
1
nh2
[ˆK (
z − x
h)2f (x)dx − {1
hE{K (
X1 − x
h)}}2
]=
1
nh
[ˆK (u)2f (x + hu)dx − {1
hE{K (
X1 − x
h)}}2
]=
f (x)
nh
ˆK (u)2du + small (4)
カーネル推定量の漸近的性質したがって、上の仮定の下で、E{f (x)} → f (x), Var{f (x)} → 0となる。この結果から
一致性: f (x)p→ f (x)
がわかり、また更に nh5 → 0が成り立てば κ2 =´K (u)2duと
して、
漸近正規性:√nh{f (x)− f (x)} d→ N(0, κ2f (x))
が証明される。
κ2が最小となるカーネル関数を使えば、この漸近分散を小さくすることができる。変分法を用いると、次の関数(エパネチニコフカーネル)が κ2を最小にすることが示される。
K (u) =3
4(1− x2)I (|x | < 1)
バンド幅と推定結果
図 : バンド幅と推定結果
h = 0.1 h = 0.3 h = 0.6
DGP : ã�Gd(x
Silverman (1986)��
良いバンド幅推定精度を平均二乗誤差(MSE)や積分平均二乗誤差(MISE)で測ることにすると、漸近的に最適なバンド幅が決まる。κ2 =
´K (u)2du、µ2 =
´u2K (u)duとおくと、バイアスと分散の
結果 (3)、(4)から
MSE = E{f (x)− f (x)}2 = Var + bias2
≈ κ2f (x)
nh+
{µ2h
2
2f ′′(x)
}2
となるので、これを hについて最小化すると最適な h(x)は
h∗(x) =
{κ2f (x)
µ22f
′′(x)2
}1/5
n−1/5
同様にMISE =´E{f (x)− f (x)}2dx を最小にするバンド幅は、
h∗ =
{κ2
µ22
´f ′′(x)2dx
}1/5
n−1/5
が、これらは未知関数 f に依存し、応用上はひと工夫が必要(ROT、プラグイン、ブートストラップ、クロスバリデーション)。
高次カーネル関数
カーネル関数が K (u) = K (−u)、´K (u)du = 1を満たせば上の議
論はすべて成立する。更に K (u) ≥ 0を満たすような関数、つまり原点対称な密度関数を用いれば、常に f (x) ≥ 0となることも保証される。
しかし、K (u) < 0となる関数を許すことによって、推定バイアスを小さくすることができる。(3)から、
E{f (x)} − f (x)
=
ˆK (u)f (x + hu)du
= f (x) + hf ′(x)
ˆuK (u)du +
h2f ′′(x)
2
ˆu2K (u)du
+h3f (3)(x)
6
ˆu3K (u)du +
h4f (4)(x)
24
ˆu4K (u)du + O(h5)
である。
高次カーネル関数 (II)
K (u)の対称性から右辺第2、4項はゼロである。もし▶´u2K (u)du = 0なら、バイアス= O(h4)
▶´u2K (u)du =
´u4K (u)du = 0なら、バイアス= O(h5)
に下がる。このような K (·)を高次カーネル関数という。一般に、
ˆukK (u)du
{= 0, k = 1, 2, · · · , p − 1
= 0, k = p
を満たすものを p次カーネル関数という。これを用いると、f (x)の推定バイアスを下げることができる。
高次カーネル使用の欠点▶ 有限標本では f (x) ≥ 0は成り立たないかもしれない。▶ 有限標本では推定結果の滑らかさの点で不利。
多変量のカーネル密度推定量
Xi が d 次元ベクトルである場合。
f (x1, · · · , xd) =1
nhd
n∑i=1
K (X1i − x1
h, · · · , Xdi − xd
h)
によって多変量のカーネル密度推定量が与えられる。ここで、K (u1, · · · , ud)は多変量のカーネル関数であるが、簡単に一変量カーネルの積として
K (u1, · · · , ud) = K (u1)× · · · × K (ud)
として構わない。
1変数の場合と同様の条件下で一致性と漸近正規性が成立するが、d が大きくなると共に収束のオーダーは下がる。そのため、高次元になるほど密度推定の精度は悪くなる。この現象を「次元の呪い」(curse of dimensionality)という。
その他のノンパラメトリック密度推定
ノンパラメトリック密度推定法▶ シリーズ推定: f (x) =
∑∞j=1 αjϕj(x)という級数展開を用
いる。▶ k-最近傍推定(k-NN): 2rk f (x) ≈ k
n(rk は点 x から k番目に近いデータポイントまでの距離)
▶ 罰則付き最尤推定
ノンパラメトリック回帰推定(導入:離散説明変数)回帰関数に関数形の特定をせずに滑らかさのみを仮定して推定を行う。X が離散変数で x1, x2, x3, x4という値を取るものとしよう。
Yi = m(Xi ) + ϵi , i = 1, 2, · · · , nで、m(·)を推定したいわけであるが、実際にはm(x1), · · · ,m(x4)の4つの値を推定するだけである。点線で囲んだ点をそれぞれ Yについて平均する:簡単!!
図 : カーネル回帰(離散説明変数) 経済セミナー No.673より
数式による表現(導入:離散説明変数)
上のスライドの m(x1)を式で表現してみよう。指示関数I (Xi = x1)は、{Xi}, i = 1, 2, · · · , nのうち、x1に一致するものを取りだすダミー変数になっているので、N1 =
∑ni=1 I (Xi = x1)
は、標本のうちで X の値が x1であるものの個数である。また、
Yi I (Xi = x1) =
{Yi , Xi = x1
0, Xi = x1
であるから、その和は Xi = x1の観測値についてのみ、Yi を足し合わせたものになっている。従って、
m(x1) =1
N1
n∑i=1
Yi I (Xi = x1) =
∑ni=1 Yi I (Xi = x1)∑ni=1 I (Xi = x1)
もちろん、m(x2), · · · , m(x4)についても同様である。
カーネル回帰推定量(I)
説明変数が連続変数である場合も同様のアプローチが可能である。
Yi = m(Xi ) + ϵi , i = 1, 2, · · · , n
において、ある点 x0における回帰関数の値m(x0)を推定する問題を考えてみよう。前のスライドのように
m(x0) =
∑ni=1 Yi I (Xi = x0)∑ni=1 I (Xi = x0)
とできそうである。しかしこれはうまくいかない。なぜなら、連続変数 Xi がある特定の一点 x0を取ることは殆どありえない(その事象の確率はゼロである)ため、通常すべての i について I (Xi = x0) = 0となり、分母も分子も 0になってしまうわけである。
カーネル回帰推定量(II)どうするか?もしm(x)が滑らかな関数であれば、hを十分小さい正の数とすると、x0 − h/2 ≤ x ≤ x0 + h/2の区間ではm(x) ≈ m(x0)と近似できるであろう。そこで、X の値が厳密にx0という値を取るデータ点ではなく、x0の近くの値を取ったデータ点を集めて(下図の点線の中)、それらの Y に関する平均を取ることにする。
図 : カーネル回帰(連続説明変数) 経済セミナー No.673より
A
C
B
カーネル回帰推定量の数式表現
離散説明変数の場合と同様に式で書くと、
m(x0) =
∑ni=1 Yi I (x0 − h
2 ≤ Xi ≤ x0 +h2 )∑n
i=1 I (x0 −h2 ≤ Xi ≤ x0 +
h2 )
(5)
となる。分母は X が [x0 − h/2, x0 + h/2]の範囲の値をとったデータ点の個数である。指示関数の中を少し書き換えると
m(x0) =
∑ni=1 Yi I (
|Xi−x0|h ≤ 1
2)∑ni=1 I (
|Xi−x0|h ≤ 1
2)(6)
となる。
Nadaraya=Watson(NW)カーネル推定量
m(x0)を少し一般化する。上の方法では、X が[x0 − h/2, x0 + h/2]の範囲に入っていれば 1、入っていなければ 0というウェイトをつけて Y を平均している。x に近い観測値に対してはこのウェイトを大きく、離れた観測値に対しては小さく滑らかに変えていくことも考えられる。一般に、I ( |Xi−x0|
h ≤ 12)の代
わりに適当なウェイト関数 K (·)を使って
m(x0) =
∑ni=1 YiK (Xi−x0
h )∑ni=1 K (Xi−x0
h )
としたものを Nadaraya=Watsonカーネル推定量という。x0は X のサポート上の任意の点なので、添え字の 0を取ってm(x)をm(x)の推定量とする。
バンド幅 hの影響 (I)
カーネル密度推定のバンド幅と同じく、hは分析者が自分で値を決めるものである。その役割は、密度推定と同じである。
▶ 大きい h
[x0 − h/2, x0 + h/2]の区間でm(x) ≈ m(x0)の近似が悪いデータが推定に含まれてしまうが、その区間に入るデータ数は多い。そのため、バイアスが大きくなるけれども、分散が小さくなる。
▶ 小さい h: その逆になる(バイアス小、分散大)。
カーネル密度推定の場合と同じく、hを大きく取る方が、小さく取るよりも推定結果がより滑らかになる(次のスライド)。
バンド幅の影響 (II)
図 : バンド幅と推定結果 経済セミナー No.673より
0
1
2
3
4
5
0 1 2 3 4
y
x
Graph
U�Ml
?þm(x)
h=0.03
h=0.10
h=0.30
r5
r4
r3
r2
r1
0 1 2 3 4
NWカーネル推定量の統計的性質
m(x), f (x)の滑らかさと h → 0、nh → ∞というな条件の下で、▶ 期待値
E{m(x)} = m(x) +µ2h
2
2f (x){m′′(x)f (x) + 2m′(x)f ′(x)}+ small
▶ 分散
Var{m(x)} =κ2σ
2(x)
nhf (x)+ small
を示すことができる。ただし、σ2(x) = Var(ϵ|X = x)である。
この結果から、MSEを最小にする最適なバンド幅は
h∗(x) = g(x)n−1/5
となることがわかる。ただし、g(x)はm(x), f (x), K (·)に依存する関数である。
NWカーネル推定量の統計的性質(II)
また、カーネル密度推定量と同様に、n → ∞のときに nh5 → 0なら、
▶ 一致性m(x)
p→ m(x)
▶ 漸近正規性
√nh{m(x)−m(x)} d→ N(0,
κ2σ2(x)
nhf (x))
となることが示される。
最適なバンド幅のオーダー n−1/5を使っても m(x)の収束のオーダーは n−2/5で、通常のパラメトリック推定量の収束のオーダーn−1/2よりも遅くなってしまうことがわかる。
NW推定量の異なる導出NW推定量を次のように見ることができる。1. 回帰関数の定義式の密度関数をカーネル密度で置き換えたもの。m(x) = E (Y |X = x) =
´yfY ,X (y ,x)dy
fX (x)なので、密度関数を
推定量で置き換えて
ˆm(x0) =
´y fY ,X (y , x0)dy
fX (x0)
として積分を計算すると、NW推定量が得られる。2. 最小二乗法minc
∑ni=1(Yi − c)2によって Y の標本平均が得
られる。同様に、NW推定量はウェイト付最小二乗法
minc
n∑i=1
(Yi − c)2K (Xi − x0
h)
の解としても得られる。つまり、Y を「定数項にウェイト付回帰」したわけである(カーネルをI (x0 − h/2 ≤ Xi < x0 + h/2)として図で考えると特にわかりやすい)。
局所線形回帰(Local Linear Regression)
NWカーネル回帰推定量の統計的性質を改善する(バイアスを下げる)手法。前のスライドの2では、Y を定数項に回帰したが、これを線形関数に回帰して、
minc,a
n∑i=1
{Yi − c − a(Xi − x0)}2K (Xi − x0
h)
によって c , aを推定する。すると、それぞれm(x0), m′(x0)の推
定量になっている。理由は簡単で、Xi が x0に近い点なら、
Yi = m(Xi ) + ϵi
≈ m(x0) +m′(x0)(Xi − x0) + ϵi
= c + a (Xi − x0) + ϵi
となるからである。
LLRの図形的意味
図 : 局所線形回帰
U
T
T4
D2W D
2W
IÝ(T4)
NW推定量は、楕円で囲んだ範囲のデータについて Y の平均を取った(定数項のみに回帰)。LLR推定では、同じデータに対して直線をあてはめている(赤線)。
局所多項式回帰とその利点(バイアス)LLRを用いると、X のサポートの端の方で NW推定量よりもバイアスが小さくなることが知られている。また、LLRを拡張して p次多項式(p ≥ 2)で近似することによって、サポート全体でのバイアス改善が可能である。
minc,a1,··· ,ap
n∑i=1
{Yi − c − a1(Xi − x0)−· · ·− ap(Xi − x0)p}2K (
Xi − x0h
)
バイアスの式は▶ NW
E{mNW (x)} −m(x) = C0(x)h2 + o(h3)
▶ LLR
E{mLP(x)} −m(x) =
{C1(x)h
p+1 + o(hp+1) , pが奇数
C2(x)hp+2 + o(hp+2) , pが偶数
C0(x), C1(x), C2(x)はm(x), f (x), K (u)に依存する関数である。
ノンパラ法の使い道(1)特定化検定
ノンパラメトリック推定は、推定モデルの特定化の過誤から生ずる問題を起こしにくい。しかし、推定結果が関数(曲線、曲面)であるため、計量経済学で用いるにはあまり便利でないかもしれない。ノンパラメトリック法の一つの重要な使い方は、特定化の検定である。たとえば、
Yi = β′Xi + ui
というモデルを使ってよいかどうかを知りたいときに、ˆ
{m(x)− β′x}2dx
が大きいかどうかを調べればよい。そのようなタイプの検定法は数多く提案されている。
ノンパラ法の使い道(2)セミパラ推定
セミパラメトリックモデルとは、パラメトリックな部分とノンパラメトリックな部分の両方を含むモデルである。たとえば、g(·)を未知の関数として
Yi = β′Xi + g(Zi ) + ϵi
Yi = g(β′Xi ) + ϵi
というようなモデルである。推定の対象は βであり、g(·)は局外パラメータであることが多い。前者は部分線形回帰モデル、後者はシングルインデックスモデルと呼ばれる。
▶ g(·)の関数形を誤って特定してパラメトリック推定を行うと、βの推定値もその悪影響を被る。しかし、ノンパラメトリック関数として扱えば、問題が生じない。
セミパラメトリックモデルの推定
例えば部分整形モデルは以下のように推定される。
Yi = β′Xi + g(Zi ) + ϵi
両辺を Zi を条件として期待値を取ると
E (Yi |Zi ) = β′E (Xi |Zi ) + g(Zi )
これらの差をとると
Yi − E (Yi |Zi ) = β′{Xi − E (Xi |Zi )}+ ϵi
ここで、E (Yi |Zi ), E (Xi |Zi )をカーネル法によって推定し、代入したものに対してOLSを適用し、βを推定する。
▶ βの推定量の収束はパラメトリックオーダー n−1/2で、ノンパラメトリック推定量よりも速い!
結語
▶ 計量経済分析では、変数間の線形性や誤差項の分布等に仮定をおいてパラメトリックモデルに基づいた推定が行われることが多い。しかし、それらの仮定が間違っている場合には推定結果に深刻な悪影響が出る可能性がある。
▶ ノンパラ法では想定の間違いから生じる推定の誤りを減らすことができるけれども、推定効率が低くなってしまう。
▶ データ数が十分にあって推定効率の低下が問題にならない場合には、ノンパラメトリック法を用いるのが安全(大規模ミクロ、大規模パネルデータ)
▶ ノンパラメトリック回帰で得られる結果は関数であるため、例えば限界効果を計算すると、また関数になってしまい、パラメトリック法と比べると結果の含意が不明瞭になりがち
パラメトリック法、ノンパラメトリック法のどちらにも優れた点、苦手な点があるため、一概に優劣を言うことはできず、利点・欠点を理解しつつ状況に応じて補完的にうまく使い分けるのが賢い経済実証分析のあり方であろう。