6.2 カーネルの幅の選択

前章でカーネル平滑化法を学びました。しかし、ひとつ重要な問いが残っています——「バンド幅 λ はどう選べばいいのか?」

例えば、同じデータに対して λ=0.1 と λ=1.0 を使うと、結果はまったく違います。 前者はノイズをそのまま拾ってガタガタな曲線になり、後者は滑らかすぎてデータの本当のパターンを見逃します。 どちらも「正解」ではありません。

具体的なシナリオで考えてみましょう。株価のトレンドを分析しているとします:

この「ちょうど良い」バンド幅を見つけることが、この章のテーマです。

バンド幅が制御するもの

カーネル $K_\lambda$ において、$\lambda$ はカーネルの「幅」を制御するパラメータです。

6.1章で見たいくつかのカーネルで、$\lambda$ が何を意味するか確認しましょう。

有限サポートのカーネル

Epanechnikov カーネルtri-cube カーネルでは、$\lambda$ はカーネルの重みがゼロになる境界までの距離(半径)を表します。

ガウスカーネル

$\lambda$ は標準偏差 $\sigma$ です。 裾野は無限に広がりますが、実質的な重みはほぼ $3\lambda$ 以内に収まります。

k近傍法

$\lambda$ は近傍のサイズ $k$ です。 よく全サンプル数 $N$ に対する割合$k/N$スパンと呼ばれる)として表現されます。

異なるカーネルでのバンド幅の意味を可視化

どの形式であれ、$\lambda$ は同じことを制御しています:どこまで「近い」と見なすか、つまり平均化の範囲です。

各カーネルでの λ の役割

カーネルλ の意味
Epanechnikov, tri-cubeサポートの半径(この距離を超えると重みゼロ)
ガウス標準偏差 σ
k近傍近傍サイズ k(またはスパン k/N)

バイアス-バリアンス・トレードオフの本質

バンド幅の選択には、自然なトレードオフが存在します。これは局所平均で最も分かりやすく理解できます。

窓が狭い(λ が小さい)とき

窓が広い(λ が大きい)とき

窓の幅とバイアス・バリアンスの関係を可視化

これは「近くのデータは似ている」という仮定と、 「平均化で安定する」という統計的性質の葛藤です。

局所回帰推定量でも同様です:

バイアス-バリアンス・トレードオフ

窓の幅バリアンスバイアス結果
狭い大(不安定)小(局所的)ノイジー
広い小(安定)大(平均化)滑らかすぎ

固定幅 vs 適応的幅

バンド幅の設定には2つの主要なアプローチがあります。データの分布が均一でない場合、この選択は重要になります。

固定幅(Metric window width)

$$h_\lambda(x_0) = \lambda \quad (\text{位置によらず一定})$$

適応的幅(k近傍)

$$h_k(x_0) = |x_0 - x_{[k]}|$$

ここで $x_{[k]}$$x_0$$k$ 番目に近い点です。 窓幅はデータ密度に応じて自動調整されます。

固定幅と適応的幅の違いを可視化

どちらが良いかは状況次第です。データ密度が均一なら固定幅、不均一なら適応的幅が有効なことが多いです。

固定幅 vs 適応的幅

方式バイアスバリアンス
固定幅一定密度に反比例
適応的(k-NN)密度に反比例一定

有効自由度——複雑さの指標

バンド幅 $\lambda$ を選ぶには、 異なる $\lambda$ の影響を比較できる指標が必要です。

$\lambda = 0.5$$\lambda = 1.0$ ではどちらが複雑なモデルか?」と聞かれたら、どう答えますか? あるいは「スムージングスプラインと局所回帰ではどちらが複雑?」——この問いに答えるのが有効自由度(effective degrees of freedom)です。

スムーザー行列

まず、前章で学んだ重要な事実を思い出しましょう。カーネル平滑化の推定値は、 すべての訓練データ $y_i$重み付き和として表せます:

$$\hat{f}(x_j) = \sum_{i=1}^{N} s_{ji} \cdot y_i$$

ここで $s_{ji}$ は「データ点$x_i$ が、予測点$x_j$ にどれだけ影響するか」を表す重みです。

これを行列形式で書くと:

$$\hat{\mathbf{f}} = \mathbf{S}_\lambda \mathbf{y}$$

この $\mathbf{S}_\lambda$スムーザー行列と呼びます。バンド幅$\lambda$ を変えると、この行列も変わります。

有効自由度の定義

有効自由度は、スムーザー行列の対角成分の合計(トレース)として定義されます:

$$\text{df} = \text{trace}(\mathbf{S}_\lambda) = \sum_{i=1}^{N} s_{ii}$$

直感的には、$s_{ii}$ は 「点 $i$自分自身の推定にどれだけ影響するか」です。 全部足すと、モデルが実質的に使っている「パラメータ数」の指標になります:

有効自由度とバンド幅の関係

有効自由度を使えば、異なる平滑化法を「同じ複雑さ」で公平に比較できます。

バンド幅と有効自由度

バンド幅有効自由度曲線の性質
狭い大(≈ N)補間に近い、ノイジー
広い小(≈ 2)直線に近い、滑らかすぎ

交差検証によるバンド幅選択

いよいよ実践的な問題です:どのバンド幅$\lambda$ を選べばいいのか?

答えの鍵は交差検証(cross-validation)です。

交差検証の考え方

私たちが本当に知りたいのは「新しいデータに対してどれだけうまく予測できるか」です。 しかし、手持ちのデータで学習も評価もすると、過学習を見逃してしまいます。

そこで、「データの一部を隠して学習し、隠した部分で評価する」というアイデアが生まれました。

Leave-One-Out 交差検証(LOOCV)

これは交差検証の極端なバージョンです:

  1. データ点 $i$ を1つだけ取り除く
  2. 残り $N-1$ 個のデータで曲線を推定
  3. 取り除いた点での予測誤差$(y_i - \hat{f}^{(-i)}(x_i))^2$ を計算
  4. すべての点について繰り返し、誤差を平均
$$\text{CV}(\lambda) = \frac{1}{N} \sum_{i=1}^{N} \left( y_i - \hat{f}_\lambda^{(-i)}(x_i) \right)^2$$

この $\text{CV}(\lambda)$ が最小になる$\lambda$ を選びます。

効率的な計算式

「でも、$N$ 回もモデルを学習し直すのは大変では?」

実は、局所回帰には巧妙なショートカットがあります。スムーザー行列の対角成分$s_{ii}$ を使えば、一度の計算で済みます

$$\text{CV}(\lambda) = \frac{1}{N} \sum_{i=1}^{N} \left( \frac{y_i - \hat{f}_\lambda(x_i)}{1 - s_{ii}} \right)^2$$

なぜこれが成り立つのでしょうか?直感的には:

交差検証によるバンド幅選択のプロセス

他にも 一般化交差検証(GCV)Cp 規準k分割交差検証 なども使われますが、考え方は同じです。

スムージングスプラインとの比較

局所回帰とスムージングスプラインは、同じ「滑らかさ」を制御する異なるアプローチです。

等価カーネルの類似性

興味深いことに、両者を同じ有効自由度で比較すると、等価カーネル(各点への重み付けのパターン)が質的に非常に似ています。

図6.7(教科書)は、局所線形回帰(tri-cubeカーネル、スパン40%)とスムージングスプラインを、 同じ有効自由度(df=5.86)で比較しています。結果:両者の等価カーネルは質的にかなり似ている

局所回帰とスムージングスプラインの等価カーネル比較

これは驚くべきことではありません。両者とも「近くのデータにより大きな重みを与える」という同じ原理に基づいているからです。

主な違いは実装方法

実用上、どちらを使うかは好みやソフトウェアの利用可能性によることが多いです。

有効自由度による比較

両手法を $\text{df} = \text{trace}(\mathbf{S}_\lambda)$ が等しくなるよう調整すると、 等価カーネルは質的に似た形状になります。

手法パラメータ実装
局所線形回帰スパン k/N各点で重み付き最小二乗
スムージングスプライン滑らかさペナルティ λ全体最適化

まとめ

この章では、カーネルの幅(バンド幅)の選択について学びました。

バンド幅の意味

バイアス-バリアンス・トレードオフ

有効自由度

実践的な選択方法

他の手法との関係

バンド幅選択のまとめ

次の章では、この1次元の手法を多次元に拡張し、高次元データでの課題と解決策を学びます。

カーネル平滑化のバンド幅選択フロー

  1. カーネルの形を選ぶ(Epanechnikov, ガウス, tri-cubeなど)
  2. 幅の種類を選ぶ(固定幅 or 適応的)
  3. 交差検証でバンド幅 λ を選択
  4. 有効自由度 df で他の手法と比較可能
選択項目選択肢備考
カーネルEpanechnikov, ガウス, tri-cube実用上の差は小さい
幅の種類固定幅, k-NNデータ密度の均一性による
選択方法CV, GCV, Cp交差検証が標準的