科学の箱

科学・IT・登山の話題

機械学習

Pythonではじめる機械学習 – KDE

投稿日:

カーネル密度分布とは

カーネル密度分布とは一言でいうと滑らかなヒストグラムであり曲線になっている。標本データから確率密度を計算することにより標本がない部分についても確率密度を計算できる。
例えば犯罪の発生件数を地図上にプロットし、カーネル密度推定をすることで、データがない地域についても犯罪発生確率を計算できる。
カーネル密度分布は以下の利点がある。
  • 曲線つまり連続データとなっているために、Xに対するY を取得できる。この時Xに対するY(確率密度)を得る。
  • 曲線の形を見ることでサンプルの母集団の数を推測できる
  • 分布について多いところ、少ないところを視覚化できる

カーネル密度分布を生成する手順

  1. ヒストグラムを作成する。
    これが元データである。
  2. カーネル関数を決める。
    各標本点からの広がり方を決める。ガウス分布が基本、ほかにも一様分布、三角化を選べる
  3. バンドを指定→広がる幅
    各ヒストグラムの広がる大きさを指定する。小さすぎるとまとまらない。大きすぎると分析できないくらいに滑らかになる。

GMMとの比較

GMMはデータは正規分布から生成されている前提であった。これをパラメトリック推定と呼ぶ。しかし実際の現実においてはデータが特定の分布から
生成されているはわからないことが多い。このよう場合にはデータは特定の分布に依存しないという前提で推定する。これをノンパラメトリック推定と呼ぶ。カーネル密度推定はノンパラメトリックの一手法である。

実装

histの戻り値

pyplot.histは戻り値としてデータ、ビン、パッチを返す。

matplotlib.pyplot.hist — Matplotlib 3.1.1 documentation

ビンの幅を求める

bins[1:] – bins[:-1]によりbinsの幅を求めることができる。

bins[1:] - bins[:-1]
# array([0.39172292, 0.39172292, 0.39172292, 0.39172292, 0.39172292,
       0.39172292, 0.39172292, 0.39172292, 0.39172292, 0.39172292,
       0.39172292, 0.39172292, 0.39172292, 0.39172292, 0.39172292,
       0.39172292, 0.39172292, 0.39172292, 0.39172292, 0.39172292,
       0.39172292, 0.39172292, 0.39172292, 0.39172292, 0.39172292,
       0.39172292, 0.39172292, 0.39172292, 0.39172292, 0.39172292])

カーネル密度分布

Choice of bin size and location can lead to representations that have qualitatively different features.

This misalignment between points and their blocks is a potential cause of the poor histogram results seen here.

ビン幅およびその場所の選択の選択によってはヒストグラムの正当性に問題が生じる。ヒストグラムは□ブロックを積み上げたものである。ビン幅が広い場合には、本来データがない部分も、ヒストグラム上ではデータが存在することになる。

まずビンと実際のデータのずれを解消するために、データが存在する位置にブロックを積み上げる。これにより実際のデータを反映した形状になる。しかし形状としてはごつごつしているので取り扱いにくい

そこで各点における正規分布を計算し、グラフに表示することでなだらかな曲線を得ることができる。

これがカーネル密度分布の基本である。

 

 

メタ情報

inarticle



メタ情報

inarticle



-機械学習

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Core Concept in Data Analysis – Week 2

1D analysis summary ヒストグラム ヒストグラムのタイプ:gaussian/power law 中心極限定理 確率分布 ブートストラップによる検証 gaussian 測定誤差もしくは …

no image

前向き研究と後ろ向き研究

前向き研究と後ろ向き研究は疫学における用語である。 前向き研究で使われる研究手法にはコホートや無作為比較対照研究、ロジスティック分析がある。これらの研究ではサンプルをリスクファクター(危険要因)のある …

no image

Statistical Reasoning for Public Health

Module up to 3 SES – 社会経済的地位 Cognitive function – 認知機能 The authors used the graphic alon …

no image

数値項目の分析テンプレート

数値フィールド1 数値フィールド1 rate – 1 rate – 2 データ型 算術平均 中央値 分散 トップ3 ボトム3 足切 時系列分析 層別候補 ヒストグラム カウント …

no image

pythonのデータ分析ライブラリで遊んでみる。

こちらを参考にしてPythonのデータ分析用のライブラリをそろえてみた。 まずはお手軽にヒストグラムを書いてみる。コマンドラインからipythonを立ち上げる。 ipython –pylab &#8 …

2019年11月
« 10月   12月 »
 123
45678910
11121314151617
18192021222324
252627282930  

side bar top



アーカイブ

カテゴリー