Pythonで学ぶ確率の基礎
Alexander A. Ramírez M.
CEO @ Synergy Vision
期待値: 各結果に確率を重みとして掛けた総和。
$$ E(X) = \sum_{i=1}^{k} x_ip_i = x_1p_1 + x_2p_2 + \cdots + x_kp_k $$
離散確率変数の期待値は、各結果に確率を掛けた総和です。
$$ E(X) = \sum_{i=1}^{k} x_ip_i = x_1p_1 + x_2p_2 + \cdots + x_kp_k $$
コイン投げでは次のとおり。
$$ E(X) = \sum_{i=1}^{2} x_ip_i = x_1p_1 + x_2p_2 = \color{red}{0\times (1-p)} + 1\times p = p $$
離散確率変数の期待値は、各結果に確率を掛けた総和です。
$$ E(X) = \sum_{i=1}^{k} x_ip_i = x_1p_1 + x_2p_2 + \cdots + x_kp_k $$
コイン投げでは次のとおり。
$$ E(X) = \sum_{i=1}^{2} x_ip_i = x_1p_1 + x_2p_2 = 0\times (1-p) + \color{red}{1\times p} = p $$
各 $x_i$ は1回の試行(例: コイン投げ。0 または 1)の結果です。
$$ \bar{X} = \frac{1}{n}\sum_{i=1}^{n} x_i = \frac{1}{n}(x_1+x_2+\cdots +x_n) $$
Python では、算術平均は scipy.stats.describe() を使います。
from scipy.stats import describe
describe([0,1]).mean
0.5



分散は散らばりの尺度です。
期待値からの偏差の二乗の期待値です。
$$ Var(X) = E[(X - E(X))^2] = \sum_{i=1}^{n}p_i \times (x_i-E(X))^2 $$
Python では、標本分散は scipy.stats.describe() を使います。
describe([0,1]).variance
0.5
$X\sim Binomial(n, p)$ のとき
$$ E(X) = n \times p $$
$$ Var(X) = n \times p \times (1-p) $$
例: $n=10$, $p=0.5$
Python では、binom.stats() で期待値と分散を求めます。
binom.stats(n=10, p=0.5)
(array(5.), array(2.5))
公平なコイン1回の期待値と分散は?
binom.stats(n=1, p=0.5)
(array(0.5), array(0.25))
成功確率30%の偏ったコイン1回では?
binom.stats(n=1, p=0.3)
(array(0.3), array(0.21))
公平なコイン10回の期待値と分散は?
binom.stats(n=10, p=0.5)
(array(5.), array(2.5))
Pythonで学ぶ確率の基礎