単回帰モデルの信頼区間

投稿者: | 2019-07-21

誤差項が独立同一な正規分布に従う場合、「単回帰係数が従う確率分布」の結果から信頼区間(Confidence Interval)を構成することができます。

信頼区間の意味や解釈の仕方、予測区間との違いがややこしく誤解しやすいので丁寧に説明していきます。

なお、PythonスクリプトをGitHub上にあげているのでそちらも参照し、記事の内容と実行結果を合わせて見ていただくと理解しやすいと思います。

確率モデル

ここでは目的変数[math]Y_i[/math]と説明変数[math]x_i[/math]の間に

[math]
Y_i = \beta_0 + \beta_1 x_i + \varepsilon_i,\quad i=1,\dots,N
[/math]

の関係があり誤差項[math]\varepsilon_i[/math]は独立で同一の正規分布[math]\mathcal{N}(0, \sigma^2)[/math]に従うと仮定します。

確率変数[math]Y_i[/math]の観測値を[math]y_i[/math]とします。確率モデルは何が確率変数で何が確定値なのかわかりにくいので改めてまとめると

  • [math]x_i,\ y_i[/math]: 既知の確定値
  • [math]\beta_0,\ \beta_1,\ \sigma^2[/math]: 未知の確定値
  • [math]Y_i,\ \varepsilon_i[/math]: 確率変数

になります。

最小二乗推定量[math]\hat{\beta}_0, \hat{\beta}_1[/math]が従う確率分布

単回帰係数が従う確率分布」の結果から最小二乗推定量[math]\hat{\beta}_0, \hat{\beta}_1[/math]は

  • [math]\hat{\beta}_0[/math]: 平均[math]\beta_0[/math], 分散[math]\left(\dfrac{\bar{x^2}}{S_{xx}}\right)\sigma^2[/math]の正規分布
  • [math]\hat{\beta}_1[/math]: 平均[math]\beta_1[/math], 分散[math]\dfrac{\sigma^2}{S_{xx}}[/math]の正規分布

に従います。また、分散[math]\sigma^2[/math]の不偏推定量[math]S^2=\frac{1}{N-2}\sum_{i=1}^N\left(Y_i – \hat{\beta}_0 – \hat{\beta}_1 x_i\right)^2[/math]に対して[math]\left(\hat{\beta}_0, \hat{\beta}_1\right)[/math]と[math]S^2[/math]は独立であり[math]\frac{(N-2)S^2}{\sigma^2}[/math]は自由度[math](N-2)[/math]の[math]\chi^2_{N-2}[/math]分布に従います。

推定値[math]\hat{y}[/math]が従う確率分布

ここからは説明変数を[math]x=x_0[/math]と任意に固定して考えます。[math]x=x_0[/math]での推定値[math]\hat{y}_0=\hat{\beta}_0+\hat{\beta}_1x_0[/math]は[math]Y_i[/math]の線形和でかけるので正規分布に従います。期待値を求めると

[math]

E\left[\hat{y}_0\right] = \beta_0 + \beta_1 x_0
[/math]

であり分散を求めると

[math]

V\left[\hat{y}_0\right] = V\left[\hat{\beta}_0\right] + x_0^2V\left[\hat{\beta}_1\right] + 2x_0Cov\left(\hat{\beta}_0, \hat{\beta}_1\right)
[/math]

であり[math]Cov\left(\hat{\beta}_0, \hat{\beta}_1\right)[/math]を求めると

[math]
\begin{eqnarray}

&& Cov\left(\hat{\beta}_0, \hat{\beta}_1\right) \\
&=& Cov\left(\sum_{i=1}^N\left(\dfrac{1}{N} – \dfrac{(x_i-\bar{x})\bar{x}}{S_{xx}}\right) Y_i, \sum_{i=1}^N \dfrac{x_i-\bar{x}}{S_{xx}}Y_i\right) \\
&=& \sum_{i=1}^N \left(\dfrac{1}{N} – \dfrac{(x_i-\bar{x})\bar{x}}{S_{xx}}\right)\cdot \dfrac{x_i-\bar{x}}{S_{xx}}\sigma^2 \\
&=& -\dfrac{\bar{x}\sigma^2}{S_{xx}}
\end{eqnarray}
[/math]

となるので整理すると

[math]


V\left[\hat{y}_0\right] = \sigma^2\left(\dfrac{1}{N} + \dfrac{(x_0 – \bar{x})^2}{S_{xx}}\right)
[/math]

を得ます。これより推定値[math]\hat{y}_0=\hat{\beta}_0+\hat{\beta}_1x_0[/math]は

  • 平均[math]\beta_0 + \beta_1 x_0[/math], 分散[math]\sigma^2\left(\frac{1}{N} + \frac{(x_0 – \bar{x})^2}{S_{xx}}\right)[/math]の正規分布

に従います。さらに[math]\hat{\beta}_0+\hat{\beta}_1x_0[/math]は[math]S^2[/math]と独立なので統計量[math]T[/math]は

[math]
\begin{eqnarray}

T &=& \dfrac{\frac{\hat{\beta}_0+\hat{\beta}_1x_0 – (\beta_0 + \beta_1 x_0)}{\sqrt{V\left[\hat{y}_0\right]}}}{\sqrt{\frac{(N-2)S^2}{\sigma^2}\cdot \frac{1}{N-2}}} \\
&=& \dfrac{\hat{\beta}_0+\hat{\beta}_1x_0 – (\beta_0 + \beta_1 x_0)}{S\sqrt{\frac{1}{N} + \frac{(x_0 – \bar{x})^2}{S_{xx}}}}\sim t_{N-2}
\end{eqnarray}
[/math]

自由度[math]N-2[/math]の[math]t[/math]分布に従うことが分かります。この結果から信頼区間を構成します。

単回帰モデルの信頼区間

信頼区間

統計量[math]T[/math]が自由度[math]N-2[/math]の[math]t[/math]分布に従うことから信頼度[math](1-\alpha)[/math]の信頼区間は[math]C_{lb}(x_0)[/math]とし

[math]

\hat{\beta}_0+\hat{\beta}_1x_0 – t_{N-2,\alpha/2}S\sqrt{\frac{1}{N} + \frac{(x_0 – \bar{x})^2}{S_{xx}}}
[/math]

とし[math]C_{ub}(x_0)[/math]を

[math]

\hat{\beta}_0+\hat{\beta}_1x_0 + t_{N-2,\alpha/2}S\sqrt{\frac{1}{N} + \frac{(x_0 – \bar{x})^2}{S_{xx}}}
[/math]

として

[math]


C_{lb}(x_0) \leq \beta_0 + \beta_1 x_0 \leq 

C_{ub}(x_0)
[/math]

で与えられます。慣習的に信頼度は[math]95\%, 99\%[/math]をとることが多いです。

信頼区間の意味

単回帰モデルでの信頼区間の意味を考えてみましょう。以下の手続きを「実験」と呼ぶことにします。

  1. 確率モデル[math]Y_i = \beta_0 + \beta_1 x_i + \varepsilon_i[/math]から[math]N[/math]個の値[math](x_i, y_i)[/math]を取得
  2. 取得した値から回帰係数[math]\hat{\beta}_0, \hat{\beta}_1[/math]を算出
  3. 説明変数[math]x[/math]を[math]x_0[/math]([math]x_0[/math]は任意)に固定
  4. 信頼区間[math]\left[C_{lb}(x_0), C_{ub}(x_0)\right][/math]を計算


実験ごとに異なる信頼区間[math]\left[C_{lb}(x_0), C_{ub}(x_0)\right][/math]が得られることに注意します。各実験で

信頼区間[math]\left[C_{lb}(x_0), C_{ub}(x_0)\right][/math]に「真の値[math]\beta_0 + \beta_1 x_0[/math]」が含まれる

という主張は「正しい」か「誤り」のいずれかです。この実験を多数繰り返し

  • 実験1回目: 正しい
  • 実験2回目: 誤り
  •      :

  • 実験[math]M[/math]回目: 正しい

結果を集計した時に「正しい」割合が[math](1-\alpha)[/math]になることを信頼区間は意味しています。

以下では信頼区間に関するよくある3つの誤解について説明します。

  1. 信頼区間に真の値が含まれる確率…?
  2. 信頼区間の信頼限界が真の回帰直線を含む…?
  3. 信頼区間に観測値が含まれる…?

誤解: 信頼区間に真の値が含まれる確率…?

よくある誤解の1つが

実験で求めた信頼区間[math]\left[C_{lb}(x_0), C_{ub}(x_0)\right][/math]に真の値が含まれる確率が[math]1-\alpha[/math]

と考えることです。

各実験で求めた信頼区間は真の値を「含む」か「含まない」のどちらかです。信頼区間は多数の実験をした際に「区間が真の値を含む割合」を保証しているにすぎません[1] … Continue reading

イメージとしては以下のカードの山があるとします。

  • 全体の[math]100(1-\alpha)\%[/math]のカード: 「真の値が区間に入る」に対応する「○」が記入
  • 残りのカード: 「真の値が区間に入らない」に対応する「×」が記入

1回の実験から信頼区間を求めることはカードの山からカードを裏向きに引くことに対応します。引いた時点で「○」か「×」かは確定し確率的な要素は含んでいません。

誤解: 信頼区間の信頼限界が真の回帰直線を含む…?

信頼区間の上下限を信頼限界と呼び、回帰直線の上下に放物線状の曲線を描きます。

実験ごとの主張を

信頼限界内に真の回帰直線が含まれる

と捉えてしまう誤解もよくあります。

今回求めた信頼区間は説明変数を[math]x=x_0[/math]に固定して考えています。そのため

信頼限界内に真の回帰直線が含まれる
[math]\Rightarrow[/math]信頼区間[math]\left[C_{lb}(x_0), C_{ub}(x_0)\right][/math]に真の値[math]\beta_0 + \beta_1 x_0[/math]が含まれる

は正しいですが、他の[math]x=x_1(\ne x_0)[/math]での信頼区間に真の値が含まれない可能性があるため、逆は成立せず実験を多数繰り返した際に

信頼限界内に真の回帰直線が含まれる

という主張が正しい割合は[math]1-\alpha[/math]より低くなります。

誤解: 信頼区間に観測値が含まれる…?

信頼区間に関する主張を

信頼区間[math]\left[C_{lb}(x_0), C_{ub}(x_0)\right][/math]に「観測値」が含まれる

と誤解してしまう例もよくあります。信頼区間の場合、区間に

「観測値」ではなく「真の値

が含まれるかどうかを議論していることに注意しましょう。観測値が含まれるかどうかを議論する場合は予測区間を用います。

よく誤用されるので信頼区間や予測区間を利用する前に実際にグラフで描画することをおすすめします。

上の例では21個のサンプルから回帰直線と[math]95\%[/math]信頼限界を表示しています。

もし、これを観測値の[math]95\%[/math]が含まれる範囲として考えている場合、全体の[math]5\%[/math](1, 2個程度)しか区間外のサンプルがないはずです。しかし、図では5個以上のサンプルが外れており予測区間としてはおかしいと気づくと思います。

参考文献

  • Casella, G and Berger, R.L.(1990), Statistical Inference(Second Edition): Section 11.3.5 Estimation and Prediction at a Specified [math]x=x_0[/math]

シリーズ記事

機械学習」の「教師あり学習手法」の中で最も基本的な手法として「単回帰」の性質を紹介しています。

ここでは誤差項が「独立同一な正規分布」に従うと仮定すると導ける性質として

  • 最尤推定量: 最尤推定量は最小二乗推定量と一致
  • 誤差の正規性チェック
  • 回帰係数の有意性: 最小二乗推定量の確率分布と有意性検定を導出
  • 信頼区間(本記事): 真の値の推定値が従う確率分布から信頼区間を導出
  • 予測区間: 観測値が従う確率分布から予測区間を導出

を解説しています。

また単回帰を拡張した「重回帰」でも同様の性質を示せるのでそちらも参照ください。

脚注

脚注
1 もちろん、実験を繰り返すのが難しい状況では主張が間違っているリスクを受容し、信頼区間に真の値が入っているものとして考察、意思決定を行うこともあります。

スポンサーリンク


コメントを残す

メールアドレスが公開されることはありません。