Pythonで学ぶ確率の基礎
Alexander A. Ramírez M.
CEO @ Synergy Vision
…コイン投げで直感をつかむ

表か裏か

ベルヌーイ試行
from scipy.stats import bernoulli
bernoulli.rvs(p=0.5, size=1)
array([0])
もう一度
bernoulli.rvs(p=0.5, size=1)
array([1])
size を変えて回数を増やす
bernoulli.rvs(p=0.5, size=10)
array([0, 0, 0, 0, 0, 0, 1, 1, 0, 0])
表は何回?
sum(bernoulli.rvs(p=0.5, size=10))
5
もう一度試行…
sum(bernoulli.rvs(p=0.5, size=10))
2
二項乱数
from scipy.stats import binom
binom.rvs(n=10, p=0.5, size=1)
array([7])
多数の試行
binom.rvs(n=10, p=0.5, size=10)
array([6, 2, 3, 5, 5, 5, 5, 4, 6, 6])
偏りのあるコインの試行
binom.rvs(n=10, p=0.3, size=10)
array([3, 4, 3, 3, 2, 2, 2, 2, 3, 6])
rvs() の random_state 引数を使うfrom scipy.stats import binom
binom.rvs(n=10, p=0.5, size=1, random_state=42)
numpy.random.seed() を使うimport numpy as np
np.random.seed(42)
シード固定で公正なコインを10回投げる
from scipy.stats import binom
import numpy as np
np.random.seed(42)
binom.rvs(n=10, p=0.5, size=1)
array([4])
Pythonで学ぶ確率の基礎