確率とは何か
測度・確率・ルベーグ積分 応用への最短コース (KS理工学専門書)によれば、「確率とは何か。この深遠な問題に対する完全な解答を我々は持っていないが、この問題から相当の部分を捨象した数学的定義としては、20世紀に入ってコルモゴロフ(Kolmogorov, Al.L., 1903-1987)によって与えられた、公理に基づく確率空間と確率の定義が、現状では理論と応用の両面で最も成功している」とのことです。
そのため本ブログでも公理的確率論を解説します。公理的確率論とは、確率とはこうであると定義するのではなく(それだと、こういうものは確率なのかと様々な疑問が出る)、こういう性質を持つものを確率と呼ぶと、公理から出発する方法論です。これにより、公理、つまり正しいと認めたものから出発するため、疑いようのないものになります。
確率論の準備としてσ加法族の定義から始めます。
σ加法族の定義
空でない集合Sの、様々な部分集合Enを元とする集合族Bが、次の3つの条件を満たすとき、Bをσ加法族(もしくはσ-field、σ-algebra)と呼ぶ。
- ∅∈B
- E∈B⇒Ec∈B
- En∈B(n=1,2,...)⇒∞⋃n=1En∈B
また、Sの部分集合でσ加法族Bに属するEをB可測であるという。さらに、(S,B)のペアを可測空間と呼ぶ。
無限の記号∞があることより判りますが、σ加法族の元は可算無限個です。
生成されたσ加法族
空でない集合Sの、様々な部分集合Enを元とする集合族B0に対して、このB0を含むようなσ加法族のうち最小のものが存在する。これをσ[B0]と書き、B0から生成されたσ加法族と呼ぶ。
実例
σ加法族が抽象的で分かりにくいので、具体例で見てみます。σ加法族は頭で考えても書き下せるものの、往々にして抜け漏れが出ます。そのため、プログラムで確認することにします。確認には以下のpythonプログラムを使用しました。
https://qiita.com/ktsysd/items/97f75330f9492e727799
from sympy import FiniteSet, EmptySet
from itertools import combinations
def is_sigma_algebra(Om, FF):
return (Om in FF) \
and (all(Om - e in FF for e in FF)) \
and (all(l + r in FF for l, r in combinations(FF, 2)))
def append_complements(Om, F):
return sum((FiniteSet(Om - e) for e in F), F)
def append_unions(F):
return sum((FiniteSet(l + r) for l, r in combinations(F, 2)), F)
def generate_sigma_algebra(Om, F):
cur_F = F + FiniteSet(Om)
prev_F = EmptySet()
while prev_F != cur_F:
prev_F = cur_F
cur_F = append_complements(Om, cur_F)
cur_F = append_unions(cur_F)
assert is_sigma_algebra(Om, cur_F)
return cur_F
これをJupyter Notebookに入力して、(有限ですが)σ加法族の生成を行ってみます。まず、集合SがS={1,2,3,4}であるときを考えます。集合Sは数の集合でなくても良いので、例えばサイコロの目の集合S={,,,}でも構いませんし、確率の議論ではむしろその方が良く出てきます。ですが、Jupyter Notebookで扱うためには数値でなければならないので、数値に置き換えます。
まず簡単なほうから。E1={1,2}、E2={3,4}とします。これらを元とするB0={E1,E2}によって生成されるσ[B0]=σ[{E1,E2}]は、
generate_sigma_algebra(FiniteSet(1, 2, 3, 4), FiniteSet({1, 2},{3,4}))
{∅,{1,2},{3,4},{1,2,3,4}}
生成された集合はσ加法族構造を持ち、上記の公理を満足しています。
次にE1={1,2}、E2={1,3}のように変えると、次の例のように生成される元の数が非常に多くなります。同じくこれらを元とするB1={E1,E2}によって生成されるσ[B1]=σ[{E1,E2}]は、
generate_sigma_algebra(FiniteSet(1, 2, 3, 4), FiniteSet({1, 2},{1,3}))
{∅,{1},{2},{3},{4},{1,2},{1,3},{1,4},{2,3},{2,4},{3,4},{1,2,3},{1,2,4},{1,3,4},{2,3,4},{1,2,3,4}}
len(generate_sigma_algebra(FiniteSet(1, 2, 3, 4), FiniteSet({1, 2},{1,3})))
16
元の数が24=16であることから、これはSのべき集合2Sであることが判ります。
前のブログ
次のブログ