セミ・ノンパラメトリック計量分析 練習問題1解答例

セミ・ノンパラメトリック計量分析 練習問題1解答例 1. (a) カーネルの j 次モーメントを κj とする。k(u) は 2 次オーダーカーネルなので、κ0 = 1
と κ1 = 0 より
(
)
∫
n ∫
1 ∑
Xi − x
xfˆ(x)dx =
xk
dx
nh i=1
h
n ∫
1∑
=
(Xi + hu)k(u)du
n i=1
1∑
1∑
Xi κ0 +
hκ1
n i=1
n i=1
n
=
n
¯
= X
を得る。
(b) まず、
∫
1 ∑
fˆ(x)dx =
nh i=1
n
(
∫
k
Xi − x
h
)
1∑
n i=1
n
dx =
∫
k(u)du = 1
が成り立つ。次に、(a) と同様にして
(
)
∫
n ∫
1 ∑
Xi − x
2ˆ
2
x f (x)dx =
x k
dx
nh i=1
h
n ∫
1∑
=
(Xi + hu)2 k(u)du
n
i=1
=
n
n
n
2∑
1∑ 2
1∑ 2
Xi κ0 +
Xi hκ1 +
h κ2
n i=1
n i=1
n i=1
=
1∑ 2
X + h2 κ2
n i=1 i
n
が成り立つ。従って、κ2 > 0 より
∫
(x − µ
ˆ)2 fˆ(x)dx =
(∫
∫
x fˆ(x)dx −
2
)2
xfˆ(x)dx
= σ
ˆ 2 + h2 κ2
≥ σ
ˆ2
を得る。
2. 推定結果は図 1 のとおり。カーネルは Gaussian kernel を用いて、バンド幅は Silverman の
rule of thumb で求めた(が、他の洗練された方法で求めたほうがより良い)。実線はデータ
を発生するのに用いた真の GDP を表し、破線がカーネル密度推定量を表している。解答の
最後に GAUSS のコードを付けている。
3. (a)
(
)
n
1 ∑ ′ Xi − x
d ˆ
f (x) = − 2
fˆ′ (x) =
k
dx
nh i=1
h
1
図 1: カーネル密度推定量
d
である。ここで、 dz
k
( z−x )
h
= h1 k ′
( z−x )
h
より、部分積分を使うと
(
)
1
z−x
′
− 2
k
f (z)dz
h
h
)
∫ (
1
z−x
=
k
f ′ (z)dz
h
h
∫
1
=
k(u)f ′ (x + hu)du
h
1
= f ′ (x) + f (3) (x)h2 κ2 + O(h4 )
2
∫
E[fˆ′ (x)] =
となる。一方、分散は
Var[fˆ′ (x)] =
=
=
=
[ (
)]
1
Xi − x
′
Var k
nh4
h
[ (
[
(
)2 ]
)]2
1
X
−
x
1
1 ′ Xi − x
i
′
E k
− E 2k
nh4
h
n
h
h
( )
∫
1
1
k ′ (u)2 f (x + hu)du + O
nh3
n
( )
f (x)R(k ′ )
1
+
O
nh3
n
となる。従って、IMSE は漸近的に
IMSE =
R(k ′ )
h4
R(f (3) )κ22 +
4
nh3
と表される。
2
(b) (a) より、f ′ (x) の推定に最適なバンド幅は
(
h=
3R(k ′ )
R(f (3) )κ22
)1/7
n−1/7
となり、そのオーダーは O(n−1/7 ) である。一方、f (x) を推定するための最適なバンド
幅のオーダーは O(n−1/5 ) なので、f ′ (x) の推定には f (x) の場合よりも遅いレートでバ
ンド幅を 0 に近づけなければならない。この例のように、一般に推定する対象が異なれ
ば、最適なバンド幅も異なる。
4. (a) (もう少し良い解き方があるかもしれません。) local linear 推定量は
min
n
∑
β0 ,β1
(
2
(Yi − β0 − β1 (Xi − x)) k
i=1
Xi − x
h
)
を解くことで得られる。最小化問題の解は
βˆ0
¯ k − x)
= Y¯k − βˆ1 (X
∑n
¯
¯
i=1 ki (Yi − Yk )(Xi − Xk )
∑n
=
¯ 2
i=1 ki (Xi − Xk )
βˆ1
となる。ただし、
(
ki
Y¯k
¯k
X
)
Xi − x
= k
h
∑n
ki Y i
∑i=1
=
n
ki
∑ni=1
k
i=1 i Xi
∑
=
n
i=1 ki
¯k → X
¯ である。よって、
である。h → ∞ のとき、ki → k(0) なので、Y¯k → Y¯ 、X
βˆ1 → α
ˆ1
¯ +α
βˆ0 → Y¯ − α
ˆ1X
ˆ1x = α
ˆ0 + α
ˆ1x
となり、求める結果を得る。
(b) Zi = (1, Xi − x)′ 、e = (1, 0)′ とする。local linear 推定量は
n
∑
Wni (x)Yi
i=1
と表される。ただし、
Wni (x) = e′
( n
∑
)−1
ki Zi Zi′
ki Zi
i=1
である。g(x) = α0 + α1 x のとき
(
g(Xi ) = g(x) + α1 (Xi − x) =
3
Zi′
g(x)
α1
)
が成り立つので、
n
∑
Wni (x)g(Xi ) =
e
′
i=1
( n
∑
(
)−1
ki Zi Zi′
i=1
= e′
g(x)
)
n
∑
(
ki Zi Zi′
i=1
g(x)
)
α1
α1
= g(x)
が任意の x について成り立つ。従って、
[ n
]
∑
E [ˆ
g (x)] = E
Wni (x) (g(Xi ) + ui )
i=1
= g(x) +
n
∑
E [Wni (x)E [ui |X1 , . . . , Xn ]]
i=1
= g(x)
を得る。
5. gˆ−1 (x) は (Y2 , X2 ), . . . , (Yn , Xn ) の関数なので、
E[u1 (g(X1 ) − gˆ−1 (X1 ))] =
E [E[u1 (g(X1 ) − gˆ−1 (X1 ))|X1 , X2 , . . . , Xn , Y2 , . . . , Yn ]]
= E [E[u1 |X1 , X1 , X2 , . . . , Xn , Y2 , . . . , Yn ](g(X1 ) − gˆ−1 (X1 ))]
= E [E[u1 |X1 ](g(X1 ) − gˆ−1 (X1 ))]
= 0
である。
4
new;
cls;
n=500;
load x[n,1]= c:/data/data1.dat;
est = zeros(6000,1);
fn binormal(x)= 1/2*pdfn(x) + 1/2* pdfn(x-3); @true DGP@
j=1;
do while j <=6000;
est[j]= gkernel(-5+0.0025*j);
j=j+1;
endo;
proc gkernel(y);
local h, fhat;
h = 1.06 * stdc(x)*n^(-1/5); @Silverman's rule of thumb@
fhat
= sumc(pdfn((x-y)/h))/(n*h);
retp(fhat);
endp;
points =seqa(-5,0.0025,6000);
library pgraph;
graphset;
_plegctl=1;
_pdate ="";
_plegstr="True¥000Kernel estimator";
xy(points, binormal(points)~est);