統計学は面白い(その3) - R Statistics Global

統計学は面白い(その3)
小原 堯
(その1)において日経平均株価 (x) と A 社の株価 (y) の相関を 1 次関数
y = a + bx
(1)
を使って調べた.その結果,この回帰式は現実のデータと大きく離れている部
分があることが分かった.このデータに 1 次の回帰式を使うとこのような結果
になる.それではどの様な式を使えば良いだろうか.2次式, 3次式,指数関数,
etc. これらの内どれを選ぶかが問題である.そこで,次のように考える.回帰
式を一般に y = f (x) として次のように置く:
y = f (x) + e.
(2)
e は誤差である.回帰式がデータに一致しない部分をこの e が埋め合わせてく
れる.(f (x), y, e) はすべて時刻 t の関数である.
(その1)では f (x) = a + bx
の場合を考察した.R の関数 lm(y˜x) で作られる結果を result と置いた:
result = lm(y˜x).
(3)
関数 fitted を使うと,y の推定値 yˆ が得られる.それを yhat と書く
yhat = fitted(result).
1
(4)
y と yˆ の差を取る事により e の推定値(残差 といい,eˆ と表す)が得られる.
これを R 上では ehat と表す:
ehat = y − yˆ.
(5)
次に,ehat の分布を調べる.それは,ヒストグラムを作ることである.R では
関数 hist である:
hist(ehat).
(6)
出力結果は図 1 である.ヒストグラムのヒストとは短冊状のものを指す.ヒス
15
10
0
5
Density
20
25
Histogram of ehat
−0.04
0.00
0.02
0.04
0.06
ehat
図 1: 残差のヒストグラム
トグラムでなく線でこの分布を表すには,density という関数を使う.これは,
2
確率密度関数 (pd) を作ってくれる:
pd = density(ehat).
(7)
pd のグラフを (6) のグラフに重ねがきをすると図 2 の様になる.残差 eˆ の分布
15
10
0
5
Density
20
25
Histogram of ehat
−0.04
0.00
0.02
0.04
0.06
ehat
図 2: eˆ の分布と密度関数
が density で良く見える(緑の曲線が density である).この形状が推定方法の
良し悪しを決める.eˆ の分布が,その平均値(0)の周りに多数集中し,0 の外
ヘは広がらない事が望ましい.推定式 y = f (x) が線形であれ,非線形であれ,
残差の分散が小さい推定方法が良い推定方法である.
この方法で,f (x) に色々な関数を仮定して,残差の分散を調べる事は面白い
事である.
3