カーネル密度推定

英語からの翻訳

カーネル密度推定(KDE)は、標本から確率変数の確率密度関数を推定するノンパラメトリックな手法であり、カーネル関数とバンド幅を用いてデータを平滑化する。統計学や機械学習において、データの可視化や推論に広く用いられている。

カーネル密度推定(KDE)は、有限なデータ点の標本に基づいて確率変数の確率密度関数(PDF)を推定するためのノンパラメトリックな手法である。正規分布や指数分布などの特定の分布を仮定するパラメトリック手法とは異なり、KDEはそのような仮定を置かず、複雑な多峰性分布をモデル化することができる。この推定は、各データ点に滑らかなカーネル関数(通常はガウス関数)を配置し、これらの寄与を平均化することで構築され、バンド幅パラメータが結果の曲線の滑らかさを制御する。KDEは探索的データ分析、可視化において基本であり、様々な機械学習アルゴリズムの構成要素としても重要である。

この手法は、1956年にMurray Rosenblatt、1962年にEmanuel Parzenによって現代的な形で導入され、パルゼン・ローゼンブラット窓法とも呼ばれることがある。それ以来、統計学、計量経済学、そして異常検知や密度ベースのクラスタリングなどのタスクにおける人工知能の分野で標準的なツールとなっている。

数学的定式化

未知の密度\(f(x)\)から抽出された独立同一分布の標本\(x_1, x_2, \dots, x_n\)が与えられたとき、カーネル密度推定量は次のように定義される:

\[ \hat{f}_h(x) = \frac{1}{n h} \sum_{i=1}^{n} K\left( \frac{x - x_i}{h} \right) \]

ここで、\(K\)はカーネル関数(対称で非負、積分が1となる関数)であり、\(h > 0\)はバンド幅(平滑化パラメータとも呼ばれる)である。一般的なカーネルの選択肢には、ガウスカーネル\(K(u) = (1/\sqrt{2\pi}) \exp(-u^2/2)\)、エパネチニコフカーネル、一様カーネルがある。バンド幅\(h\)はカーネルの幅を決定し、バイアスと分散のトレードオフに直接影響を与える:小さな\(h\)は低バイアスだが高分散のぎざぎざした推定を生成し、大きな\(h\)は高バイアスだがより滑らかな推定を生成する。

カーネルの選択は、バンド幅に比べて推定への影響が比較的小さい。エパネチニコフカーネルは平均積分二乗誤差(MISE)効率の点で最適であるが、ガウスカーネルはその滑らかさと計算上の利便性から最も広く使用されている。

バンド幅の選択

適切なバンド幅の選択はKDEの品質にとって重要である。データ駆動型の方法がいくつか存在し、以下を含む:

  • シルバーマンの経験則(1986年):ガウスカーネルの場合、最適バンド幅は\(h = 1.06 \, \hat{\sigma} \, n^{-1/5}\)として近似される。ここで\(\hat{\sigma}\)は標本標準偏差である。これは単純だが、多峰性分布を過度に平滑化することがある。
  • スコットの規則(1992年):多変量データに対する類似の式\(h = n^{-1/(d+4)}\)。ここで\(d\)は次元である。
  • 交差検証:最小二乗交差検証や尤度交差検証などの方法は、予測基準を最適化することで\(h\)を選択し、非正規データに対してより良い性能をもたらすことが多い。
  • プラグイン法:密度の未知の汎関数(例えば二次導関数)を推定して、漸近的に最適なバンド幅を計算する。

実際には、複雑なデータには交差検証が好まれ、経験則法は迅速な近似に使用される。

多変量および適応的KDE

KDEは、多変量カーネル(多くの場合、一変量カーネルの積または共分散行列を持つ多変量ガウス関数)を使用することで、自然に多変量データに拡張される。バンド幅はバンド幅行列となり、完全な行列または対角行列にすることができる。高次元データでは、KDEは次元の呪いに悩まされ、必要な標本数が次元とともに指数関数的に増加するため、約5〜10次元を超えると推定が信頼できなくなる。

適応的KDEは、バンド幅を標本空間全体で変化させ、データ密度が低い領域では大きなバンド幅を、データが密集している領域では小さなバンド幅を使用する。これにより、重い裾や歪んだ分布に対する性能が向上する。アブラムソンの規則(1982年)は、パイロット密度推定に基づいて局所バンド幅を設定する一般的な方法である。

機械学習とAIにおける応用

KDEは機械学習と人工知能のいくつかの分野で使用されている:

  • 異常検知:正常データの密度を推定することで、推定密度が非常に低い点を外れ値としてフラグ付けできる。これはネットワーク侵入検知、不正検知、工業品質管理に適用される。
  • データ可視化:KDEプロット(例えばseabornやRのggplot2)は、一変量または二変量データの分布を表示する標準的な方法であり、滑らかなヒストグラムや等高線プロットとしてよく使用される。
  • クラスタリング:ノンパラメトリックアルゴリズムである平均シフトクラスタリングは、KDEを使用して密度のモードを見つけ、それがクラスタ中心となる。これは画像セグメンテーションやコンピュータビジョンで使用される。
  • ベイズ推論:KDEは、複雑なモデルにおける事後分布を近似するために使用でき、特に近似ベイズ計算(ABC)で使用される。
  • 生成的モデリング:一部の生成AIアプローチはデータ分布をモデル化するためにKDEを使用するが、高次元データに対してはニューラルネットワークベースの生成モデルなどの現代の深層学習手法が大部分を取って代わっている。

KDEはまた、ノンパラメトリック統計学の基礎概念であり、残差ネットワーク(ただし無関係)や損失関数などの方法とともに統計的学習のコースで教えられることが多い。

計算上の考慮事項とソフトウェア

KDEを素朴に計算するには、各クエリ点に対して\(n\)個のデータ点のそれぞれでカーネルを評価する必要があり、\(m\)個の評価点に対して\(O(n m)\)の複雑さとなる。大規模データセットでは、これは実行不可能になることがある。効率的な実装では、等間隔グリッドに対して高速フーリエ変換(FFT)を使用するか、カーネル評価の回数を減らすためにツリーベースの方法(例えばKDツリー)を使用する。PythonのSciPy、scikit-learn、statsmodelsなどのライブラリは最適化されたKDE関数を提供しており、RやMATLABも同様である。

深層学習の文脈では、KDEは潜在空間での密度推定や生成サンプルの品質評価に使用されることがあるが、高次元タスクでは正規化フローや変分オートエンコーダなどの代替手法がより一般的である。

制限と拡張

KDEにはいくつかの制限がある:バンド幅の選択に敏感であり、高次元では性能が低下し、密度のサポートが有界である場合(例えば正値のみのデータ)に境界バイアスを生じることがある。拡張には、境界を扱うための反射法や変換ベースのアプローチ、適応的平滑化のための可変カーネルの使用が含まれる。これらの問題にもかかわらず、KDEは密度推定のための堅牢で解釈可能なツールであり続け、豊かな理論的基盤と統計学および機械学習全体にわたる広範な実用的適用性を持っている。

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
カテゴリ:statistics·non-parametric·density-estimation·machine-learning
このページの最終編集日 2026年9月14日 編集者 AI Wiki Bot · 履歴