カーネル密度推定のソースを表示
←
カーネル密度推定
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[ファイル:Kernel density.svg|thumb|250px|[[正規分布]]の100個の[[乱数]]と異なる平滑化帯域幅によるカーネル密度推定。]] '''カーネル密度推定'''(カーネルみつどすいてい、{{lang-en-short|kernel density estimation}})は、[[統計学]]において、[[確率変数]]の[[確率密度関数]]を[[密度推定|推定]]する[[ノンパラメトリック手法]]のひとつ。{{仮リンク|エマニュエル・パルツェン|en|Emanuel Parzen}}の名をとって'''パルツェン窓'''({{lang-en-short|Parzen window}})とも。大まかに言えば、ある[[母集団]]の[[標本 (統計学)|標本]]のデータが与えられたとき、カーネル密度推定を使えばその母集団のデータを[[外挿]]できる。 [[ヒストグラム]]は、一様な[[カーネル関数]]によるカーネル密度推定量と見ることもできる。 == 定義 == ''x''<sub>1</sub>, ''x''<sub>2</sub>, ..., ''x''<sub>''n''</sub> を(未知の)[[確率密度関数]] ƒ を持つ[[独立同分布]]からの[[標本]]とする。[[カーネル関数]] ''K''、バンド幅(平滑化パラメータ)''h'' の'''カーネル密度推定量'''({{lang-en-short|kernel density estimator}})とは {{Indent|<math>\hat{f}_h(x)=\frac{1}{nh}\sum_{i=1}^n K\left(\frac{x-x_i}{h}\right)</math>}} のことである{{sfn|Silverman|1986|loc={{google books quote|id=e-xsrjsL7WkC|page=15|(2.2a)}}}}。カーネル関数としては、標準[[ガウス関数]]([[平均]]がゼロで[[分散 (確率論)|分散]]が1) {{Indent|<math>K(x) = {1 \over \sqrt{2\pi} }\,e^{-x^2/2}</math>}} を採用することが多い。 == 直観的説明 == あまり平滑でない推定器(例えばヒストグラム密度推定器)は漸近的に一致させられるが、他の推定器は不連続であるか、カーネル密度推定より収束が遅い。カーネル密度推定器は、標本を一定幅の箱に入れて数えるのではなく、カーネル関数から決定されたコブを各標本に与えるものと見ることができる。つまり、「コブの総和」によって推定が形成されるため、結果として非常に滑らかになる(下図参照)。 [[ファイル:Parzen window illustration.svg|frame|center|6つのガウス曲線(赤)とそれらの総和(青)。パルツェン窓密度推定 f(''x'') は、この総和を6(元のガウス曲線の数)で割ることで得られる。ガウス関数の分散は 0.5 に設定されている。見ての通り、標本点が稠密にあるほど、密度推定値は大きくなる。]] == 特性 == 確率密度関数 ƒ の ''L''<sup>2</sup> [[リスク関数]]を <math>R(f,\hat f(x))</math> とする。確率密度関数 ƒ とカーネル関数 ''K'' に関する弱い仮定から次が得られる。 {{Indent|<math>R(f,\hat f(x)) \approx \frac{1}{4}\sigma_k^4h^4\int(f''(x))^2\,dx + \frac{\int K^2(x)\,dx}{nh}\quad\text{ where }\quad\sigma_K^2 = \int x^2K(x)\,dx</math>}} 理論的[[リスク関数]]を最小化することで、最適なバンド幅は以下のように示される。 {{Indent|<math>h^* = \frac{c_1^{-2/5}c_2^{1/5}c_3^{-1/5}}{n^{1/5}}</math>}} ここで {{Indent| <math>c_1 = \int x^2K(x)\,dx</math><br /> <math>c_2 = \int K(x)^2\,dx</math><br /> <math>c_3 = \int (f''(x))^2\,dx</math> }} である。最適なバンド幅を選択したとき、リスク関数は <math>R(f, \hat f(x)) \approx c_4 / n^{4/5}</math> であり ''c''<sub>4</sub> > 0 はある定数である。弱い仮定の下で、カーネル推定器より早く収束するノンパラメトリックな推定器は存在しないことが示される。なお、''n''<sup>−4/5</sup> という収束レートは、パラメトリックな手法での典型である ''n''<sup>−1</sup> という収束レートよりも遅い。 == 実装例 == * [[MATLAB]] - カーネル密度推定は <code>ksdensity</code> 関数で実装されている。 * [[Origin (グラフ作成ソフト)|Origin]] - 2Dカーネル密度プロットがユーザーインターフェースより作画できるほか、<code>Ksdensity</code>(1D用)と<code>Ks2density</code>(2D用)の両関数が[https://www.lightstone.co.jp/origin/labtalk/ LabTalk言語]、 [[Python]]、[[C言語]]からアクセス可能である。 * [http://folk.uio.no/ohammer/past/ PAST] - Plot項目の中のHistogramで,カーネル曲線が描ける。 * [[R言語]] - <code>density</code> 関数で実装されている。 * [[Stata]] - <code>kdensity</code> で実装されている。例えば、<code>histogram x, kdensity</code> * [[SAS Institute|SAS]] - <code> proc kde </code> は1変量または2変量のカーネル密度推定に使われる。 == 脚注 == {{脚注ヘルプ}} {{reflist}} == 参考文献 == * Duda, R. and Hart, P. (1973). ''Pattern Classification and Scene Analysis''. John Wiley & Sons. ISBN 0-471-22361-1. * Parzen E. (1962). ''On estimation of a probability density function and mode'', Ann. Math. Stat. '''33''', pp. 1065-1076. * {{cite book |last1 = Silverman |first1 = B. W. |year = 1986 |title = Density estimation for statistics and data analysis |series = Monographs on Statistics and Applied Probability |url = {{google books|e-xsrjsL7WkC|plainurl=yes}} |publisher = Chapman & Hall, London |isbn = 0-412-24620-1 |mr = 0848134 |zbl = 0617.62042 |ref = harv }} * Wasserman, L. (2005). ''All of Statistics: A Concise Course in Statistical Inference'', Springer Texts in Statistics. == 関連項目 == *[[ヒストグラム]] *[[カーネル関数]] *[[核 (代数学)]] == 外部リンク == * [http://www.mvstat.net/tduong/research/seminars/seminar-2001-05/ Introduction to kernel density estimation] * [http://2000.jukuin.keio.ac.jp/shimazaki/res/kernel.html Kernel Bandwidth Optimization] フリーウェブアプリ データを入力すれば最適化なカーネルバンド幅を計算してカーネル密度推定値を出力します。 * [http://www.wessa.net/rwasp_density.wasp Free Online Software (Calculator)] 任意のデータ列についてカーネル密度推定を行い描画する。カーネル関数としては、ガウス関数、Epanechnikov、Rectangular、Triangular、Biweight、Cosine、Optcosine がある。 * [http://www.umiacs.umd.edu/~morariu/figtree/ FIGTree] ガウスカーネルによるカーネル密度推定を計算するライブラリ。MATLAB と C/C++ 用インタフェースがある。 * [http://www.ton.scphys.kyoto-u.ac.jp/~shino/histograms/ 最適ヒストグラム・カーネル密度推定を作成するツールボックス] {{統計学}} {{DEFAULTSORT:かねるみつとすいてい}} [[Category:統計学]] [[Category:推計統計学]] [[Category:数学に関する記事]]
このページで使用されているテンプレート:
テンプレート:Cite book
(
ソースを閲覧
)
テンプレート:Indent
(
ソースを閲覧
)
テンプレート:Lang-en-short
(
ソースを閲覧
)
テンプレート:Reflist
(
ソースを閲覧
)
テンプレート:Sfn
(
ソースを閲覧
)
テンプレート:仮リンク
(
ソースを閲覧
)
テンプレート:統計学
(
ソースを閲覧
)
テンプレート:脚注ヘルプ
(
ソースを閲覧
)
カーネル密度推定
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報