このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

経験分布って、なんだそれ?

一週間ほど前に、「経験分布」という言葉を聞いたのですが、これがよく分からない。経験分布は標本に対して定義されるらしいのですが、「標本」と「分布」といえば、“意味不明な用語の四天王”のなかの二つじゃないですか。こりゃ意味不明になるわな。

 a_1, \cdots, a_n がn個の標本のとき、その経験分布〈empirical distribution〉は、ディラックデルタ関数を用いて、

{\displaystyle \frac{1}{n}\sum_{i = 1}^n  \delta(x - a_i) }

と定義できる -- -- -- って、サッパリ定義されてねーよ。

まず、X = (X, ΣX) を可測空間とします。ここで既に記号の乱用をしてますが、文字'X'は可測空間とその台集合〈underlying set〉の意味にオーバーロードします。X上の確率測度の全体からなる集合を G(X) とします。文字'G'を使ったのは、X \mapsto G(X) が、ジリィモナド〈Giry monad〉の台関手になるからです。

ちなみに、集合 G(X) の要素を何と呼ぶかというと(正規表現使って):

  1. {確率的}?状態
  2. 確率{測度}?
  3. {確率}?分布
  4. ランダム{要素 | 元 | 点 | etc.}

曰く言い難しのニュアンスを無視すれば、これらは完全に同義語です。

Xがベクトル空間とは限らないので、 \delta(x - a_i) の引き算は意味ないです。 \delta(x - a) という書き方で、台〈support〉が点aであるデルタ関数を表しているだけです。なので、台が点aであるデルタ関数は引き算なしで  \delta_a と書き直します。それでも、そもそもデルタ関数の定義が難しいので、デルタ測度〈ディラック測度〉として解釈します。


\mbox{For given } A \in \Sigma_X, \\
\:\: \delta_a(A) := (\mbox{if } a\in A \mbox{ then } 1 \mbox{ else } 0)

次に、意味不明語「標本」の解釈。 a_1, \cdots, a_n がn個の“標本”と言われても何のことだか分かりません。ひとつの解釈は、 a_1, \cdots, a_n がIID〈independent and identically distributed〉な確率変数の列だと思うことですが、僕が聞いたときの文脈ではそうではありませんでした。 a_1, \cdots, a_n \in X です。

 a_1, \cdots, a_n \in X なら話は簡単、紛れなく意味はクリア -- と思うでしょ。「標本」という言葉を使われちゃうと、そうでもない、まだよく分からない。

 a_1, \cdots, a_n が、集合Xから選んだ“サイズnの有限コレクション”なのは確かでしょう。よく使われる有限コレクションには次の三種があります。

  1. Xの要素を項目とする長さ有限のリスト
  2. Xの要素を項目とする有限バッグ〈マルチセット〉
  3. Xの有限部分集合

コレクションの種類によって、後々の議論が違ってきたりします(大差ないこともあるけど)。今の場合、選んだ要素〈項目〉の順番は関係ないけど、重複は関係ある状況なので、 a_1, \cdots, a_n は有限バッグと解釈するのが妥当そうです。

Xの要素を項目とする有限バッグ全体の集合を Bag(X) とし、今のこの文脈では、Bag(X) の要素を「標本」と呼びます。G(X) の要素は「分布」です。このローカル・セッティングのもとで、標本にその経験分布を対応させる写像を ε:Bag(X)→G(X) とすると:


\mbox{For given }a\in \mathrm{Bag}(X), \\
\:\: {\displaystyle \varepsilon(a) := \frac{1}{n}\sum_{i = 1}^n  \delta_{a_i} }
\:\: \mbox{where } n = \mathrm{length}(a)

ん? 今気づいたのですが、 \delta_{a_i} って、添字の添字になって見にくいですね。だから引き算にしたのかな? 下付き添字をブラケットで代用することはよくあるから、 \delta[a_i] とすればいいでしょう。