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) |
バイアス-バリアンス・トレードオフの本質
バンド幅の選択には、自然なトレードオフが存在します。これは局所平均で最も分かりやすく理解できます。
窓が狭い(λ が小さい)とき
- $\hat{f}(x_0)$ は$x_0$ の近くの少数の$y_i$ の平均
- バリアンス(分散)が大きい:個々の $y_i$ のノイズに振り回される
- バイアス(偏り)は小さい:使う点が $x_0$ に近いので、$f(x_i) \approx f(x_0)$ が期待できる
窓が広い(λ が大きい)とき
- $\hat{f}(x_0)$ は多数の$y_i$ の平均
- バリアンス(分散)が小さい:平均化効果でノイズが相殺される
- バイアス(偏り)が大きい:遠くの $x_i$ では$f(x_i) \neq f(x_0)$ なので、真の値からずれる

これは「近くのデータは似ている」という仮定と、 「平均化で安定する」という統計的性質の葛藤です。
局所回帰推定量でも同様です:
- $\lambda \to 0$:訓練データをそのまま結んだ、ガタガタの区分線形関数に近づく
- $\lambda \to \infty$:全データを使ったグローバルな直線(または多項式)に近づく
バイアス-バリアンス・トレードオフ
| 窓の幅 | バリアンス | バイアス | 結果 |
|---|---|---|---|
| 狭い | 大(不安定) | 小(局所的) | ノイジー |
| 広い | 小(安定) | 大(平均化) | 滑らかすぎ |
固定幅 vs 適応的幅
バンド幅の設定には2つの主要なアプローチがあります。データの分布が均一でない場合、この選択は重要になります。
固定幅(Metric window width)
- どの位置 $x_0$ でも同じ幅$\lambda$ の窓を使う
- データが密な領域では多くの点が窓に入り、疎な領域では少ない点しか入らない
- バイアスを一定に保つ傾向がある
- バリアンスはデータの局所密度に反比例(密な領域では低く、疎な領域では高い)
適応的幅(k近傍)
- 窓の幅を「常に $k$ 個の点が入るように」自動調整
- データが密な領域では窓が狭く、疎な領域では広くなる
- バリアンスを一定に保つ傾向がある
- バイアスはデータの局所密度に反比例(疎な領域では高くなる)
ここで $x_{[k]}$ は$x_0$ に $k$ 番目に近い点です。 窓幅はデータ密度に応じて自動調整されます。

どちらが良いかは状況次第です。データ密度が均一なら固定幅、不均一なら適応的幅が有効なことが多いです。
固定幅 vs 適応的幅
| 方式 | バイアス | バリアンス |
|---|---|---|
| 固定幅 | 一定 | 密度に反比例 |
| 適応的(k-NN) | 密度に反比例 | 一定 |
有効自由度——複雑さの指標
バンド幅 $\lambda$ を選ぶには、 異なる $\lambda$ の影響を比較できる指標が必要です。
「$\lambda = 0.5$ と$\lambda = 1.0$ ではどちらが複雑なモデルか?」と聞かれたら、どう答えますか? あるいは「スムージングスプラインと局所回帰ではどちらが複雑?」——この問いに答えるのが有効自由度(effective degrees of freedom)です。
スムーザー行列
まず、前章で学んだ重要な事実を思い出しましょう。カーネル平滑化の推定値は、 すべての訓練データ $y_i$ の重み付き和として表せます:
ここで $s_{ji}$ は「データ点$x_i$ が、予測点$x_j$ にどれだけ影響するか」を表す重みです。
これを行列形式で書くと:
この $\mathbf{S}_\lambda$ をスムーザー行列と呼びます。バンド幅$\lambda$ を変えると、この行列も変わります。
有効自由度の定義
有効自由度は、スムーザー行列の対角成分の合計(トレース)として定義されます:
直感的には、$s_{ii}$ は 「点 $i$ が自分自身の推定にどれだけ影響するか」です。 全部足すと、モデルが実質的に使っている「パラメータ数」の指標になります:
- $\lambda$ が狭い(過学習気味):$\text{df} \approx N$(各点を独立に推定、補間に近い)
- $\lambda$ が広い(滑らかすぎ):$\text{df}$ は小さい(グローバルモデルに近い)

有効自由度を使えば、異なる平滑化法を「同じ複雑さ」で公平に比較できます。
バンド幅と有効自由度
| バンド幅 | 有効自由度 | 曲線の性質 |
|---|---|---|
| 狭い | 大(≈ N) | 補間に近い、ノイジー |
| 広い | 小(≈ 2) | 直線に近い、滑らかすぎ |
交差検証によるバンド幅選択
いよいよ実践的な問題です:どのバンド幅$\lambda$ を選べばいいのか?
答えの鍵は交差検証(cross-validation)です。
交差検証の考え方
私たちが本当に知りたいのは「新しいデータに対してどれだけうまく予測できるか」です。 しかし、手持ちのデータで学習も評価もすると、過学習を見逃してしまいます。
そこで、「データの一部を隠して学習し、隠した部分で評価する」というアイデアが生まれました。
Leave-One-Out 交差検証(LOOCV)
これは交差検証の極端なバージョンです:
- データ点 $i$ を1つだけ取り除く
- 残り $N-1$ 個のデータで曲線を推定
- 取り除いた点での予測誤差$(y_i - \hat{f}^{(-i)}(x_i))^2$ を計算
- すべての点について繰り返し、誤差を平均
この $\text{CV}(\lambda)$ が最小になる$\lambda$ を選びます。
効率的な計算式
「でも、$N$ 回もモデルを学習し直すのは大変では?」
実は、局所回帰には巧妙なショートカットがあります。スムーザー行列の対角成分$s_{ii}$ を使えば、一度の計算で済みます:
なぜこれが成り立つのでしょうか?直感的には:
- $s_{ii}$ は「点$i$ が自分自身の推定にどれだけ影響するか」
- $s_{ii}$ が大きいと、点$i$ を除いたときに推定値は大きく変わる
- 分母の $1 - s_{ii}$ で割ることで、 この「自分自身への依存」を補正している

他にも 一般化交差検証(GCV)、Cp 規準、k分割交差検証 なども使われますが、考え方は同じです。
スムージングスプラインとの比較
局所回帰とスムージングスプラインは、同じ「滑らかさ」を制御する異なるアプローチです。
等価カーネルの類似性
興味深いことに、両者を同じ有効自由度で比較すると、等価カーネル(各点への重み付けのパターン)が質的に非常に似ています。
図6.7(教科書)は、局所線形回帰(tri-cubeカーネル、スパン40%)とスムージングスプラインを、 同じ有効自由度(df=5.86)で比較しています。結果:両者の等価カーネルは質的にかなり似ている。

これは驚くべきことではありません。両者とも「近くのデータにより大きな重みを与える」という同じ原理に基づいているからです。
主な違いは実装方法
- 局所回帰:各点で個別に重み付き最小二乗を解く(メモリベース)
- スムージングスプライン:全体最適化問題を一度に解く(基底展開)
実用上、どちらを使うかは好みやソフトウェアの利用可能性によることが多いです。
有効自由度による比較
両手法を $\text{df} = \text{trace}(\mathbf{S}_\lambda)$ が等しくなるよう調整すると、 等価カーネルは質的に似た形状になります。
| 手法 | パラメータ | 実装 |
|---|---|---|
| 局所線形回帰 | スパン k/N | 各点で重み付き最小二乗 |
| スムージングスプライン | 滑らかさペナルティ λ | 全体最適化 |
まとめ
この章では、カーネルの幅(バンド幅)の選択について学びました。
バンド幅の意味
- どのカーネルでも、$\lambda$ は「どこまで近いと見なすか」を制御
- 固定幅と適応的幅(k近傍)の2つのアプローチがある
バイアス-バリアンス・トレードオフ
- 狭い窓:低バイアス、高バリアンス(ノイジー)
- 広い窓:高バイアス、低バリアンス(滑らかすぎ)
- 最適な幅はこのバランスが取れた点
有効自由度
- $\text{df} = \text{trace}(\mathbf{S}_\lambda)$
- モデルの「複雑さ」を定量化
- 異なる手法を同じ基準で比較可能
実践的な選択方法
- 交差検証(LOOCV、GCVなど)で最適な $\lambda$ を選ぶ
- 効率的な計算式が存在し、$N$ 回の再計算は不要
他の手法との関係
- スムージングスプラインと質的に類似
- 同じ有効自由度なら、等価カーネルは似た形状

次の章では、この1次元の手法を多次元に拡張し、高次元データでの課題と解決策を学びます。
カーネル平滑化のバンド幅選択フロー
- カーネルの形を選ぶ(Epanechnikov, ガウス, tri-cubeなど)
- 幅の種類を選ぶ(固定幅 or 適応的)
- 交差検証でバンド幅 λ を選択
- 有効自由度 df で他の手法と比較可能
| 選択項目 | 選択肢 | 備考 |
|---|---|---|
| カーネル | Epanechnikov, ガウス, tri-cube | 実用上の差は小さい |
| 幅の種類 | 固定幅, k-NN | データ密度の均一性による |
| 選択方法 | CV, GCV, Cp | 交差検証が標準的 |