OLSのロバスト標準誤差#
単回帰モデルの場合#
推定量#
ここで、
であるため、
となり、OLS推定量
推定量の誤差#
と、
誤差項
古典的線形回帰モデルの場合#
古典的な線形回帰モデルの仮定のうち、
母分散が均一:
というものが関わってくる
推定量の分散#
最後の等式は
よって
条件付き分散#
不均一分散#
条件付き分散#
不均一分散のもとで、OLS推定量の条件付き分散は
と、均一分散の場合より複雑になる
漸近分散#
OLSは漸近正規推定量になる
Whiteの標準誤差#
よく使われる推定量は、ホワイトの頑健な分散推定量
その平方根はホワイトの標準誤差として知られる
重回帰モデルの場合#
という線形モデルを考える
推定量の誤差#
OLS推定量
を真値+αの形式にすると、
と表すことができる。
推定量の一致性#
線形回帰モデルの外生性の仮定
であるから、誤差の項
漸近正規性#
OLS推定量
を整理して以下の形にする
なので、中心極限定理により
となる。
一致性のときに導出した
を使うと、スルツキーの定理を用いて
となる。
スルツキーの定理
確率変数の行列
とする。
このとき、以下の結果が成り立ち、これを スルツキーの定理 という
ただし、
漸近分散の推定量#
{estimatr}パッケージでの呼び名 |
分散の推定量 |
notes |
---|---|---|
|
||
|
||
|
Eicker-Huber-Whiteの分散推定量などと呼ばれる |
|
|
||
|
は推定量の次元数
出所:estimatrパッケージのドキュメント
参考#
鹿野繁樹. (2015). 新しい計量経済学: データで因果関係に迫る.
実験(WIP)#
import numpy as np
import matplotlib.pyplot as plt
n = 100
np.random.seed(0)
x1 = np.random.uniform(0, 5, size=(n, 1))
x0 = np.ones(shape=(n, 1))
X = np.append(x0, x1, axis=1)
beta = np.array([3, 5])
# 均一分散の場合
e = np.random.normal(loc=0, scale=1, size=n)
y = X @ beta + e
# plot
fig, ax = plt.subplots()
ax.scatter(x1, y)
<matplotlib.collections.PathCollection at 0x7f3c942bce80>

beta_hat = np.linalg.inv(X.T @ X) @ X.T @ y
beta_hat
array([3.22215108, 4.987387 ])
X.T @ X
array([[100. , 236.39691976],
[236.39691976, 766.62957534]])
(X[0, ] @ X[0,].T)**(-1)
0.11723457858134044