6.5 局所尤度と他のモデル

天気予報は「全国版」より「地元版」の方が正確だ。 なぜなら、地元の過去のデータに基づいて予測しているから。

同じ発想で、どんな統計モデルも「地元版」にできる——これが局所尤度のアイデアだ。

このページでは、分類や予測のモデル(ロジスティック回帰・時系列モデルなど)を「局所化」して、 データの複雑な非線形パターンを捉える方法を学ぶ。

このページで学ぶこと:

  • 尤度とは何か——データのもっともらしさを測る考え方
  • 局所尤度の数式——カーネル重みを掛けるだけで局所化できる
  • 局所ロジスティック回帰——曲がった決定境界を学ぶ
  • 心臓病データへの適用——局所化が隠れたパターンを発見する
  • 時系列への拡張——過去のパターンに応じて変化するARモデル

「尤度」とは何か — データのもっともらしさを測る

まず、一つの問いから始めよう。

コインを5回投げて「表・表・裏・表・表」という結果を得た。このコインは公平か? それとも表が出やすいコインか?

あなたは直感的に「表が出やすそうだ」と感じるはずだ。でも、それはなぜだろう? 「表の確率が60%のコイン」のもとでこのデータが生じる確率は、 「表の確率が50%のコイン」より高いからだ。

この「あるパラメータのもとでデータが観測されるもっともらしさ」を数値化したものが尤度(likelihood)だ。 そして、データに対して最もありそうなパラメータを選ぶ手続きを最尤推定(Maximum Likelihood Estimation)という。

ロジスティック回帰や線形回帰のパラメータは、多くの場合この最尤推定で決まる。 重要なのは、最尤推定は「観測値に重みをつけて当てはめる」という形に書き換えられること。

この重みを変えてやれば——近くのデータを重視し、遠くのデータを軽視すれば——局所モデルが得られる。アニメーションで確認しよう。

全データを使うグローバルモデルと、x₀近傍だけを重視する局所モデルの対比
黄色の縦線がx₀(注目点)。近い点ほど大きく(重みが高い)、遠い点ほど小さく(重みが低い)なる。x₀が動くと重みも変化し、局所フィット線(緑)が追従する

データ点のサイズが変化するのを見てほしい。x₀の近くにある点は大きく(重みが高い)、 遠くにある点は小さく(重みが低い)なっている。この「重み付け」こそが局所化の本質だ。

x₀が右にスライドすると、重みが再分配されて局所フィット線の傾きも変わる。 これがモデルの「局所性」——場所によって異なる答えを返す、柔軟な推定だ。

局所尤度の数式 — 重みをかけるだけ

「局所化」を数式で表すのは、実はシンプルだ。

通常のグローバルモデルでは、全データの対数尤度を合計して最大化する。 各観測値 $i$ の寄与を足し合わせたものだ:

$$l(\beta) = \sum_{i=1}^{N} l(y_i,\, x_i^T \beta)$$

ここで $l(y_i, x_i^T\beta)$ は 「パラメータ $\beta$ のもとで 観測値 $y_i$ が得られるもっともらしさ」を表す項だ。 全データの寄与を均等に合計しているため、全体のトレンドにフィットする。

局所尤度では、これにカーネル重みを掛けるだけだ:

$$l(\beta(x_0)) = \sum_{i=1}^{N} K_\lambda(x_0,\, x_i)\, l(y_i,\, x_i^T \beta(x_0))$$

各項の意味を丁寧に読み解こう:

たった1行の変更——「カーネル重みを掛けること」——で、 どんな尤度ベースのモデルも局所化できる。 ロジスティック回帰でも、ポアソン回帰でも、生存分析モデルでも、何でもだ。

では、具体的なモデルで局所化の威力を確認してみよう。

局所ロジスティック回帰 — 曲がった境界を学ぶ

ここで不思議に思ってほしい。ロジスティック回帰の境界線は、なぜ直線に限定されるのか?

通常のロジスティック回帰は、 2つのクラスを分ける境界を直線として学習する。 (高次元では「超平面」と呼ばれるが、まず2次元の直線で考えよう。) データが散布図として与えられたとき、「右半分はクラスA、左半分はクラスB」のような分け方だ。

しかし、現実のデータで境界が複雑に曲がっていたら、直線では捉えられない。 局所ロジスティック回帰は、$x_0$ の周辺のデータだけに注目し、 その局所的な境界を推定する。$x_0$ が変わるごとに 別のモデルを当てはめるイメージだ。

グローバルロジスティック(直線境界)と局所ロジスティック(曲線境界)の対比
左:グローバルロジスティック回帰(直線境界)。右:局所ロジスティック回帰(曲線境界)。同じデータでも、局所化によって柔軟な分類境界が得られる

左パネルの直線境界は「全体的なトレンド」にフィットしているが、 右パネルの曲線境界は「局所的なパターン」を捉えている。 背景のグラデーションはクラス確率を表しており、 右パネルの方がより複雑な確率の地形を表現していることがわかる。

これを J 個のクラスに拡張したのが多クラス局所ロジスティック回帰だ。 各クラス j に対して確率を推定する式は:

$$\Pr(G = j \mid X = x) = \frac{e^{\beta_{j0} + \beta_j^T x}}{1 + \sum_{k=1}^{J-1} e^{\beta_{k0} + \beta_k^T x}}$$

各項の意味:

局所化すると、$x_0$ でのクラス j の確率推定値は:

$$\hat{\Pr}(G = j \mid X = x_0) = \frac{e^{\hat{\beta}_{j0}(x_0)}}{1 + \sum_{k=1}^{J-1} e^{\hat{\beta}_{k0}(x_0)}}$$

$\hat{\beta}_{j0}(x_0)$ の「ハット(^)」は「推定値」を意味し、$x_0$ 付近のデータから推定した局所パラメータの切片だ。 場所 $x_0$ によって値が変わる点が、 グローバルモデルとの本質的な違いだ。

心臓病データへの適用 — 隠れたパターンを発見する

「理論はわかった。でも、本当に役立つのか?」

南アフリカの心臓病(CHD)データを例に取ろう。 目標は「CHDの発症率が、血圧の高さの関数としてどう変化するか」を推定することだ。

直感的には「血圧が高い人ほど、心臓病になりやすい」と予想する。 グローバルなロジスティック回帰は確かにそのような単調増加の曲線を返す。

しかし、局所線形ロジスティック回帰を適用すると、予期せぬ発見がある。

バイナリデータへの局所フィット曲線と不確実性バンドが描かれる過程
縦軸は確率(0〜1)、横軸は血圧値。赤い点はバイナリデータ(0=健康、1=病気)。緑の曲線が局所フィット、黄色の帯が不確実性バンド。左端での「異常な上昇」に注目

低血圧の領域で発症率が下がるのではなく、むしろ上昇するという異常なパターンが現れる。 これは何を意味するのか?

このデータは「後ろ向き(retrospective)」データだ。 すでに心臓病と診断され、治療で血圧を下げた患者が、低血圧域に集まっているからだ。 つまり「低血圧 = 健康」ではなく「低血圧 = 治療済み患者」という意味を持っている。

グローバルモデルはこの構造を見落とすが、局所モデルは明確に検出する。 なぜなら、低血圧域のデータだけを集中的に分析することで、 その領域に固有のパターンを抽出できるからだ。

さらに、局所ロジスティック回帰では標準的なロジスティック回帰と同様に標準誤差バンドを計算できる(GIFの黄色の帯)。 推定がどれだけ不確かかを定量化できるわけだ。 データが少ない領域ではバンドが広がり、データが多い領域では狭くなる。

この例が示すのは、局所化が単なる「柔軟なフィッティング」ではなく、データに隠れた構造を発見する道具になりうるということだ。

時系列への拡張 — 過去のパターンに応じて変化するモデル

局所尤度の応用はロジスティック回帰に留まらない。

自己回帰(AR)時系列モデルを例に考えよう。 「過去の値から未来を予測する」モデルだ。 株価や気温のように、昨日の値が今日の値に影響するデータに使われる。

k 次自己回帰モデルの基本形:

$$y_t = \beta_0 + \beta_1 y_{t-1} + \beta_2 y_{t-2} + \cdots + \beta_k y_{t-k} + \varepsilon_t$$

ここで $y_{t-1}, y_{t-2}, \ldots, y_{t-k}$ は「過去 k 期分の観測値」(ラグセットと呼ぶ)、$\varepsilon_t$ は予測できない誤差項だ。 係数 $\beta_1, \ldots, \beta_k$ は固定されており、 過去のパターンに関わらず同じ予測をする——これがグローバルARモデルの限界だ。

このモデルをカーネル $K(z_0, z_t)$ を用いた局所最小二乗で当てはめれば、時系列の短期的な履歴のパターン($z_0$)に応じてモデルが変化するようになる。

時系列の上昇局面と下落局面で予測の振る舞いが変わる様子
青い区間が上昇局面、赤い区間が下落局面。黄色の縦線が現在位置。上昇中なら予測帯(緑)は上向きに、下落中なら下向きに変化する。同じ現在値でも、過去のパターンで予測が変わる

株価の例で言えば、相場が急上昇しているときと急落しているときとで、 次の動きの予測の仕方が変わる——そのような「状態依存性」を局所ARモデルは自然に表現できる。

重要なのは、これが「時刻によって窓を動かす動的線形モデル」とは本質的に異なる点だ。 局所ARモデルは時刻ではなく「過去の値のパターン」によって局所化する。 同じ時刻でも、過去1週間の動きが上昇トレンドだったか下落トレンドだったかで、 全く異なるモデルが使われる。

このアイデアはさらに一般化できる。 株価なら「急騰→暴落→横ばい」のような「相場の状態」をラグ空間で捉え、 それぞれの状態で異なる予測モデルを当てはめる—— これは隠れマルコフモデルや体制転換モデルと深く関係する発想だ。

まとめ:局所尤度の核心

観測値に重みをつけてパラメータを推定できるモデルなら、何でも局所化できる。 そのための操作は「カーネル重みを掛けること」——たった一行の変更だ。

モデル局所化すると
線形回帰局所線形回帰(第6章前半で学習済み)
ロジスティック回帰局所ロジスティック回帰(非線形な決定境界)
自己回帰モデル局所ARモデル(状態依存的な時系列予測)
その他すべての尤度モデル同じ操作で局所化可能

局所モデルが特に力を発揮するのは:

「一行の変更——カーネル重みを掛けること——が、あらゆるモデルを局所に変える。」