医療職からデータサイエンティストへ医療職からデータサイエンティストへ統計学、機械学習に関する記事をまとめています。前回はR関数を実行して、抽出されたサンプルから母集団の確率密度を推定しました。今回は、Rの関数を使わずにカーネル密度推定を行いたいと思います。medi-data.hatenablog.com出来るだけグラフィカルにまとめてみます。ヒストグラム密度推定カーネル密度推定をする前に、まずはヒストグラム密度推定という簡単な方法で確率密度を推定してみましょう。0.8)Rで実行したデフォルトのヒストグラムはこんな感じでした。density関数で推定した密度とデフォルトヒストグラムの密度も描画してあります。今度はヒストグラムの幅を変えてやってみます。幅が小さすぎるとギザギザになりすぎて、一つ一つの値に影響されすぎています。逆に幅が大きすぎると、密度をうまく推定できていないことが分かります。ヒストグラムでは、値が離散的になるので断続的な推定値になります。この課題を解決するのがカーネル密度推定になります!カーネル密度推定(ガウスカーネル)それでは、カーネル密度推定をやってみましょう。実はカーネル密度推定には種類があって、離散的な密度推定を行う方法もあるのですが、今回は正規分布を使った連続的な密度推定を行います。カーネル密度推定の数学的な式はこのような感じになります。このシグマの後ろにあるkがカーネル関数といって、このkを変化させることで色々な種類の推定ができるようになります。今回はこのkに以下のようなガウスカーネルを設定します。正規分布から求めたサンプル数N個の確率密度の平均値という意味になります。確率密度をN分の1にしたN個の正規分布の足し合わせとも解釈できますね。グラフのイメージはこんな感じです。0の時の確率密度を求めてみましょう!Rの関数densityを使って求めた値も出しておきます。0.8)おお!ほとんどぴったり重なっています。次に、標準偏差hを今回は勝手に0.3としましたが、これを変えるとどうなるかみて見ましょう。hが小さすぎると一つ一つの値に影響されすぎて、逆にhが大きすぎると、なだらかになりすぎています。これはヒストグラム推定の時と似ていますね。確率密度がうまく推定されるhを見つける必要がありそうです。0.3532170.35ぐらいになっているようです。やって求めているのでしょう...サンプルサイズを大きくしてみる次にサンプルサイズを大きくしてみるとどうなるか確認して見ましょう。1000個ぐらいのサンプルにしてみます。サンプルサイズが大きい場合はhが小さくても、ある程度正確な推定ができるようです。分布を変えてみる次は分布を変えてやって見ましょう。今回は異なる平均をもつ二つの正規分布を足し合わせた分布から100個の乱数を生成します。0.8)こんな二峰性の確率密度です。同じようにhを変えてグラフ化してみると...標準偏差hが2と大きくなると二峰性の形をうまく推定できていないことが分かります。まとめ今回はカーネル密度推定について、出来るだけグラフィカルにまとめて見ました。1)}#グラフイメージ#分かりやすくするために、確率密度の値を大きめにしてあります。学んだこと、日々の所感をまとめていきます。※本ブログは筆者が個人的に学んだこと感じたことをまとめたブログになります。所属する組織の意見・見解とは無関係です。medi_data0826引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。