ディラックデルタ分布をPythonで実装

A8バナー広告

この記事で書くこと

  • Dirac delta distributionを描く with Python

コード

さっさとコードを見せろや!ボケ、というあなたへ。

いろいろ書いておく

Dirac delta distributionという分布がある。簡潔にいうと、「Dirac delta functionが作る密度分布」。

不思議な動きをする関数で「積分すると1になる」という謎の挙動をする。

数学的には積分するのだけど、実装的には離散値で扱わないといけない。つまり、「以下の式を実装しなさい」と言われた時にどうするか?

ここでの操作は「m個のサンプルが手元にある。m個のサンプルからDirac deltaの経験分布を作る。さらに、Dirac delta 経験分布を作る(ついでに可視化する)」。

Dirac delta経験分布のイメージは次のビデオを見るといい。

急用でDirac delta経験分布を30分以内に可視化する作業した(なんやねん、その仕事と自己ツッコミ)。Dirac delta関数のことは知っていたが、「実装せよ」となると、とても困った。ドウスレバイイカワカラナイヨ。

“Dirac delta python"と調べても、ドンピシャの回答は出てこない(頭がスイーツ(笑)化した)。結局のところ、自力解決してなんとか作業も無事に終わった(がんばった。自己肯定。)

せっかくコードを作ったので、Dirac delta経験分布を可視化してみる。サンプルはμ=5, σ=3のガウス分布からサンプリングする。サンプルからDirac delta経験分布を作る。

サンプル数1で棒が一本たつ。

サンプル数=1

サンプル数3にすると、棒が増えた。

サンプル数=3

ヒストグラムの山が2つになった。

サンプル数=10

山と谷が成長した。

サンプル数=50

山が1つになった。正規分布をだいたい再現できるようになった。

サンプル数=500