8.1 モデル推論とブートストラップ

モデルをデータに当てはめたとき、「この予測はどれくらい信頼できるのか?」という問いが生まれます。 Chapter 8では、その問いに答えるための2つの強力なアプローチ——最大尤度法ブートストラップ——を学びます。

この2つは表向きは全く異なる手法ですが、実は深いところでつながっています。 そのつながりを発見する旅を、一緒に始めましょう。

予測の不確かさとは何か

機械学習でモデルを学習させたとき、「この予測はどれくらい信頼できるのか?」という疑問は自然に生まれます。

モデルが出す予測値——それは「答え」ではなく、「推測」です。 データが違えば、違うモデルができあがっていたはずです。 このブレこそが、予測の不確かさの本質です。

1本のフィット曲線と、データが変わった場合に生じる複数の曲線のブレを示すアニメーション

たとえば、50個のデータ点になめらかな曲線(スプライン)を当てはめるとします。 当てはまりの良い曲線が1本得られます。 しかし問うべきは「この曲線はどれほど信頼できるか?」です。 データを少し変えたら、曲線はどのくらい変わるのでしょうか?

アニメーションで見たように、1本のオレンジの曲線の背後には、 データのわずかな違いによって生まれうる無数の「代替曲線」が隠れています。 この「ばらつきの幅」が不確かさです。

この不確かさを定量化することが、統計的推論の核心です。 Chapter 8では、その問いに答えるための2つの強力なアプローチを学びます。

$$\mu(x) = \sum_{j=1}^{7} \beta_j h_j(x)$$

これは「7種類の基本的な波形を重ね合わせて、なめらかな曲線を作る」という意味です。$h_j(x)$ が各基本波形、$\beta_j$ がその組み合わせの重みです。 データが変わると $\beta_j$ の推定値が変わり、 曲線の形が変わります。この変動が「不確かさ」として現れます。

ブートストラップ——データを何度も「再利用」する

予測の不確かさを測る方法の一つがブートストラップです。

アイデアはシンプルです。「もし別のデータを集められたら、モデルはどう変わるか?」を知りたい。 でも、現実には新しいデータは手に入りません。

そこで、手持ちのデータを「元の母集団」の代わりとして使います。 元のN個のデータから、置換ありで(同じデータを重複選択してもよく)N個を抽出—— これを何百回も繰り返します。

元のデータセットから置換ありリサンプリングを繰り返す様子。左の青いグリッドから矢印を通じて右のグリッドへ、毎回異なるパターンが現れる

アニメーションが示すように、同じN個のデータから毎回異なるサンプルが生まれます。 黄色のマスは「複数回選ばれた」データ点、暗いマスは「今回は選ばれなかった」データ点です。 各回の「ブートストラップサンプル」にモデルを当てはめると、 少しずつ異なるモデルが得られます。 この「ばらつき」が予測の不確かさの推定値になります。

考えてみると不思議です。同じデータを使い回すだけで、 新しいデータを集めたのと似た情報が得られるのです。 なぜこれがうまくいくのか?それは次のセクションで探っていきましょう。

ブートストラップ信頼区間の計算

B=200回のブートストラップを実行すると、200本の曲線が得られます。 各x点について、200個の予測値が集まります。

200本のブートストラップ曲線から信頼区間が帯状の緑の領域として浮かび上がるアニメーション

この200個の値を小さい順に並べ、下位2.5%(5番目)と上位2.5%(195番目)を取り出す—— これが95%信頼区間です。

数式で書けばシンプルですが、その本質は「データの自然なばらつきから区間を作る」という考え方です。 正規分布を仮定する必要はありません。 モデルの形に依存しません。 データが語りかけることを、そのまま聞き取るのです。

実は、このブートストラップ信頼区間は、理論的な信頼区間—— 次のセクションで学ぶ最大尤度法から導かれる区間——と驚くほどよく一致します。 なぜでしょうか?それを探っていきましょう。

最大尤度法——「もっともらしさ」を最大化する

Section 3で立てた問い——「なぜブートストラップは理論的な区間と一致するのか?」——に答えるために、 別の角度からのアプローチを見てみましょう。 それが最大尤度法(Maximum Likelihood Estimation, MLE)です。

考え方はこうです。「観測されたデータが実際に起こった」という事実を出発点にします。 パラメータ $\theta$ が与えられたとき、 このデータが起こる確率(尤度)をできるだけ大きくするパラメータを探します。

パラメータ空間での尤度の等高線と、外側から内側(最大値)へ探索点が移動するアニメーション

アニメーションが示すように、パラメータ空間上に「尤度の山」が広がっています。 等高線の中心ほど尤度が高い——つまり「このパラメータならば観測データが最ももっともらしく生まれる」 ということです。最大尤度推定量 $\hat{\theta}$ は、 この山の頂上にあたります。

$$L(\theta; \mathbf{Z}) = \prod_{i=1}^{N} g_\theta(z_i)$$

$g_\theta(z_i)$ は 「パラメータ $\theta$ のもとで、 データ $z_i$ が出現する確率(確率密度)」です。$\prod$ はN個のデータすべての確率を掛け合わせることを意味します—— つまり「すべてのデータが同時に起こる確率」です。

積より対数の和の方が計算しやすいので:

$$\ell(\theta; \mathbf{Z}) = \sum_{i=1}^{N} \log g_\theta(z_i)$$

この対数尤度を最大にする $\hat{\theta}$最大尤度推定量です。

線形回帰の場合、これは残差の二乗和を最小化することと等価です—— つまり、最小二乗法と最大尤度法は 実は同じことを言っているのです。 この驚くべき等価性が、2つの手法を結びつける橋です。

情報行列と不確かさの定量化

最大尤度推定量 $\hat{\theta}$ が分かったとき、 その不確かさはどう測ればよいでしょうか?

鍵は「尤度面の曲がり具合」です。ざっくりいうと:

左に急カーブの放物線(狭い不確かさ)、右になだらかな放物線(広い不確かさ)を対比するアニメーション

アニメーションが示すように、同じ最大値を持つ2つの尤度面でも、 形が異なれば不確かさも全く異なります。 左の急峻な山は「推定値がほぼ確定的」、右のなだらかな山は「推定値に幅がある」ことを意味します。

この「曲がり具合」を数学的に定量化したものがFisher情報行列と呼ばれています (「情報」という名前は、データがパラメータについてどれだけ情報を持っているかを表すためです)。

サンプルサイズが十分大きいとき、最大尤度推定量は次の正規分布に従うことが知られています:

$$\hat{\theta} \approx N\left(\theta_0, \mathbf{I}(\theta)^{-1}\right)$$

$\mathbf{I}(\theta)$ が情報行列、$\mathbf{I}(\theta)^{-1}$ はその逆行列 (曲率が大きければ逆数は小さい=不確かさが小さい)です。 この式から理論的な信頼区間が計算できます。

データが多いほど情報行列の値は大きくなり、逆行列は小さくなります—— つまり、データが増えるほど推定の不確かさは小さくなります。 これは直感と一致しますね。

ブートストラップと最大尤度の深い関係

ここで、Section 3で立てた問いの答えを明かしましょう。 「なぜブートストラップ信頼区間は、最大尤度法から導かれる理論的な区間と一致するのか?」

ブートストラップには2種類あります:

後者のパラメトリックブートストラップでは:

$$y_i^* = \hat{\mu}(x_i) + \varepsilon_i^*, \quad \varepsilon_i^* \sim N(0, \hat{\sigma}^2)$$

「推定したモデルが真のモデルだと仮定して、新しい観測を想像する」という行為です。

3つの手法(ノンパラメトリックブートストラップ、パラメトリックブートストラップ、最大尤度法)が中央の楕円へ収束するフロー図

実は、この2種類のブートストラップと、最大尤度法から導かれる信頼区間は、 同じ「不確かさ」を異なる角度から推定していることが数学的に示せます。

ベイズの言葉で言えば、3者は同じ事後分布から情報を引き出しています—— 詳細は次章のベイズの節で学びます。

3つのアプローチが同じ答えに収束する——この統一性が、第8章全体のテーマです。 表向きには全く異なるように見える手法が、実は同じ数学的構造を持っているということ。 これが統計的推論の美しさです。

この章のまとめ

  • ブートストラップ:データを再利用してモデルのばらつきを直接推定する
  • 最大尤度法:尤度関数と情報行列から理論的に不確かさを計算する
  • 統一性:この2つは深いところでつながっており、同じ不確かさを測っている

第8章ではさらに、ベイズ法、EMアルゴリズム、MCMCへとこの理解を発展させていきます。