EViews によるモンテカルロ実験

EViews によるモンテカルロ実験
実験の枠組み
次の線形回帰モデルを考える。
y i   0   1 x i  u i , i  1,2,  n .
ただし、
 0  1.0  1  0.75
n :標本の大きさ
u i :標準正規分布に従う互いに独立な誤差項
x i は平均が 2、分散が 1 の正規分布にしたがう互いに独立な確率変数
次の実験を行う。
Step1) N(2,1)から xi (i  1,2,  , n) を生成する。
Step 2) N(0,1)から u i (i  1,2,  , n) を生成する。
Step 3) step 1) step 2) から得た xi , u i (i  1,2,  , n) に基づき、 y i  1.0  0.75 x i  u i の関係から
y i (i  1,2,  , n) をえる。
Step 4)
Step 5)
x i , y i (i  1,2,  , n) に対して(標本大きさがn)最小二乗法を応用し、 ˆ 0 , ˆ1 を得る。
step1) から step 5)を m 回くりかえすことにより、m 組の ˆ , ˆ を得る(実験の繰り
返しが m 回、つまり、標本数が m)。
EViews での実行
以下では、 ˆ1 に焦点を当て、以上のプロセスを EViews で実行する。
まず、「File」→「New」→「Program」を選択する。
次の画面が表示されるので、プログラムを入力する。
0
1
次のコマンドをここに入力する。
workfile monte u 1 1000
標本数(繰り返しの回数)に対応する。
!series =10
標本の大きさが 10(n=10)
!draws =1000
標本数が 1000(m=1000)
smpl 1 !series
series x =2+nrnd
xは平均2分散1の正規分布にしたがう
!beta0 = 1
β0=1
!beta1 = 0.75
β1=0.75
vector(!draws) betavec =0
注:betavec の前に一ますあけること!
for !n=1 to !draws
series u=nrnd
series y=!beta0+!beta1*x+u
equation eq1.ls y c x
betavec(!n)=@coefs(2)
next
smpl 1 !draws
series beta1hat =0
mtos(betavec, beta1hat)
beta1hat.hist
最小二乗法の実行
注) 「nrnd」:標準正規分布に従う乱数を発生させるコマンド
「Run」を実行すると次の画面が表示されるので、
「OK」を選択する。
次の結果が得られる。
120
Series: BETA1HAT
Sample 1 1000
Observations 1000
100
Mean
Median
Maximum
Minimum
Std. Dev.
Skewness
Kurtosis
80
60
40
0.756549
0.765071
2.084101
-0.622395
0.399252
-0.076268
2.948591
Jarque-Bera 1.079597
Probability
0.582866
20
0
-0.5
0.0
0.5
1.0
1.5
2.0
これが、標本の大きさが「10」の時のβの最小自乗推定値のヒストグラムである。平均が0.
757、標準偏差が0.399ある。
次に、標本の大きさを「100」に変更して、同じことを繰り返すと、次の結果が得られる。
(2
行目の「!series =10」を「!series =100」と変更する)
120
Series: BETA1HAT
Sample 1 1000
Observations 1000
100
Mean
Median
Maximum
Minimum
Std. Dev.
Skewness
Kurtosis
80
60
40
0.751123
0.753686
1.049189
0.369415
0.102503
-0.008483
3.016128
Jarque-Bera 0.022831
Probability
0.988649
20
0
0.4
0.5
0.6
0.7
0.8
0.9
1.0
これが、標本の大きさが100の時のβの最小自乗推定値のヒストグラムである。平均が0.7
51、標準偏差が0.103である。
同様に、次に、標本の大きさを「1000」に変更して、同じことを繰り返すと、次の結果が得
られる。
(2行目の「!series =10」を「!series =1000」と変更する)
140
Series: BETA1HAT
Sample 1 1000
Observations 1000
120
100
Mean
Median
Maximum
Minimum
Std. Dev.
Skewness
Kurtosis
80
60
40
0.749755
0.749140
0.838453
0.620473
0.031721
-0.036532
3.055772
Jarque-Bera 0.352028
Probability
0.838606
20
0
0.62
0.64
0.66
0.68
0.70
0.72
0.74
0.76
0.78
0.80
0.82
0.84
これが、標本の大きさが1000の時のβの最小自乗推定値のヒストグラムである。平均が0.
750、標準偏差が0.032である。
以上の結果より、標本の大きさを増やしていくと、推定値の平均がどんどんと真の値に近づき、
標準偏差がどんどんと小さくなっていくことがわかる。
参考:
2つの係数に関して同時に同様の実験を行いたい場合には、次のようなプログラムを書けばよい。
workfile monte u 1 1000
標本数(繰り返しの回数)に対応する。
!series =10
標本の大きさが 10(n=10)
!draws =1000
標本数が 1000(m=1000)
smpl 1 !series
series x =2+nrnd
xは平均2分散1の正規分布にしたがう
!beta0 = 1
β0=1
!beta1 = 0.75
β1=0.75
vector(!draws) betavec0 =0
注:betavec の前に一ますあけること!
vector(!draws) betavec1 =0
for !n=1 to !draws
series u=nrnd
series y=!beta0+!beta1*x+u
equation eq1.ls y c x
最小二乗法の実行
betavec0(!n)=@coefs(1)
betavec1(!n)=@coefs(2)
next
smpl 1 !draws
series beta0hat =0
mtos(betavec0,beta0hat)
series beta1hat =0
mtos(betavec1, beta1hat)
beta0hat.hist
β0のグラフ
beta1hat.hist
β1のグラフ
参考文献
北岡孝義・高橋晴天・矢野順治編著(2008)『EViews で学ぶ実証分析入門:基礎編』日本
評論社