[mathjax]
線形単回帰で推定する回帰係数の精度を評価する方法を読んだのでまとめてみる。
当然、真の直線はわからないのだけれども、真の直線があると仮定した上で
推定した回帰係数との関係を考えることで、回帰係数の精度について話せるようになる。
回帰係数の導出
データポイントが(n)個ある状況。
( (x_1,y_1),(x_2,y_2),cdots,(x_n,y_n) )
回帰係数(hat{beta_0})と(hat{beta_1})を使って線形回帰したい。
begin{eqnarray}
hat{y} = hat{beta_0} + hat{beta_1} x
end{eqnarray}
データポイントと回帰直線の差を残差平方和(RSS,redisual sum of square)で表す。
データポイントは既に与えられているデータなので、(hat{beta_0},hat{beta_1})の関数。
begin{eqnarray}
f(hat{beta_0},hat{beta_1}) = (y_1 -hat{beta_0}-hat{beta_1}x_1)^2 + (y_2 - hat{beta_0}-hat{beta_1}x_2)^2 + cdots + (y_n - hat{beta_0}-hat{beta_1}x_n)^2
end{eqnarray}
RSSを最小にする(hat{beta_0})と(hat{beta_1})を求めるために、(hat{beta_0})、(hat{beta_1})それぞれで偏微分して(0)として解く。
なんでそれぞれ個別に偏微分して0と置いて良いかは、
RPML読もうとして力尽きたときに理解したので省略。
参考にした本に( hat{beta_0}),(hat{beta_1}),RSSの3次元の図があって、確かにそれで良さそうな予感。
begin{eqnarray}
frac{partial}{partial hat{beta_0}} f(hat{beta_0},hat{beta_1}) = 0 \\
frac{partial}{partial hat{beta_1}} f(hat{beta_0},hat{beta_1}) = 0 \\
end{eqnarray}
以下のようになるらしい。(bar{x})、(bar{y})はデータポイントの標本平均。
なので、データポイントがわかれば計算で求まる。
begin{eqnarray}
hat{beta_1} &=& frac{sum_{i=1}^n (x_i-bar{x}) (y_i-bar{y}) }{sum_{i=1}^n (x_i-bar{x})^2 }\\
hat{beta_0} &=& bar{y}-hat{beta_1}bar{x}
end{eqnarray}
母回帰直線の推定
データポイントが同じであれば(hat{beta_0}),(hat{beta_1})は同じになるけれども、
データポイントを取り直して異なるデータセットにすると、(hat{beta_0}),(hat{beta_1})は微妙に違う値になる。
じゃあ、データセットを大量に用意したとして、(hat{beta_0}),(hat{beta_1})を計算しまくると、
どこかに収束するんじゃなかろうか。
標本が大量にあると標本平均は母平均に収束する。標準偏差はより小さくなる。
つまりデータが大量にあると、母平均からのズレが小さくなっていく。
大数の弱法則、中心極限定理、ルートnの法則。
begin{eqnarray}
hat{sigma} &=& frac{sigma}{sqrt{n}} \\
hat{sigma}^2 &=& frac{sigma^2}{n}
end{eqnarray}
begin{eqnarray}
lim_{n rightarrow infty} hat{sigma}^2 = lim_{n rightarrow infty} frac{sigma^2}{n} = 0
end{eqnarray}
[clink url=\"https://ikuty.com/2018/07/17/sample_sigma/\"]
(hat{beta_0}),(hat{beta_1})は母回帰直線からどれくらいばらついているのか。
(hat{beta_0}),(hat{beta_1})の分散は以下を使うらしい。
両方に出てくる(sigma^2)は、母回帰直線と回帰直線の差となる項の散らばり度合い。
つまり、(Y=beta_0 + beta_1 X + epsilon )としたときの(epsilon)の分散。
begin{eqnarray}
sigma_{hat{beta_0}}^2 &=& sigma^2 Bigl[frac{1}{n} + frac{bar{x}^2}{sum_{i=1}^n (x_i-bar{x})^2} Bigr] \\
sigma_{hat{beta_1}}^2 &=& frac{sigma^2}{sum_{i=1}^n (x_i -bar{x})^2}
end{eqnarray}
(x_i)が散らばれば散らばるほど、(sigma_{hat{beta_1}}^2)は小さくなる。
データポイントの(x)成分が小さい方から大きい方まで含まれれば、傾き(beta_1)を推定しやすくなる。
そして、(bar{x}=0)であるならば、(hat{beta_0})の散らばりは、(hat{mu})の散らばりと等しくなる。
最終的に求めたいのは不明な(sigma^2)だが、(sigma^2)はデータから計算できる。
(sigma)の推定値(RSE,Resual Standard Error)はRSSから推定する。
begin{eqnarray}
sqrt{frac{f(hat{beta_0},hat{beta_1})}{(n-2)}}
end{eqnarray}
(hat{beta_1})の標準偏差がわかったので、95%信頼区間を求めることができる。
線形回帰における(hat{beta_1})の95%信頼区間は、
begin{eqnarray}
Bigl[ hat{beta_1} - 1.96 sigma_{hat{beta_1}},hat{beta_1} + 1.96 sigma_{hat{beta_1}} Bigr]
end{eqnarray}
同様に(hat{beta_0})の95%信頼区間は、
begin{eqnarray}
Bigl[ hat{beta_0} - 1.96 sigma_{hat{beta_0}},hat{beta_0} + 1.96 sigma_{hat{beta_0}} Bigr]
end{eqnarray}