Nền tảng Xác suất trong Python
Alexander A. Ramírez M.
CEO @ Synergy Vision
Kỳ vọng: tổng các kết quả có thể, trọng số theo xác suất của chúng.
$$ E(X) = \sum_{i=1}^{k} x_ip_i = x_1p_1 + x_2p_2 + \cdots + x_kp_k $$
Kỳ vọng của biến ngẫu nhiên rời rạc là tổng các kết quả có thể, trọng số theo xác suất của chúng.
$$ E(X) = \sum_{i=1}^{k} x_ip_i = x_1p_1 + x_2p_2 + \cdots + x_kp_k $$
Với tung đồng xu, ta có:
$$ 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 $$
Kỳ vọng của biến ngẫu nhiên rời rạc là tổng các kết quả có thể, trọng số theo xác suất của chúng.
$$ E(X) = \sum_{i=1}^{k} x_ip_i = x_1p_1 + x_2p_2 + \cdots + x_kp_k $$
Với tung đồng xu, ta có:
$$ 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 $$
Mỗi $x_i$ là kết quả của một thí nghiệm (ví dụ: tung đồng xu, 0 hoặc 1).
$$ \bar{X} = \frac{1}{n}\sum_{i=1}^{n} x_i = \frac{1}{n}(x_1+x_2+\cdots +x_n) $$
Trong Python ta dùng hàm scipy.stats.describe() để lấy trung bình cộng.
from scipy.stats import describe
describe([0,1]).mean
0.5



Phương sai đo độ phân tán.
Đó là kỳ vọng của bình phương độ lệch so với kỳ vọng.
$$ Var(X) = E[(X - E(X))^2] = \sum_{i=1}^{n}p_i \times (x_i-E(X))^2 $$
Trong Python, ta dùng hàm scipy.stats.describe() để lấy phương sai mẫu.
describe([0,1]).variance
0.5
Với $X\sim Binomial(n, p)$
$$ E(X) = n \times p $$
$$ Var(X) = n \times p \times (1-p) $$
Ví dụ: $n=10$ và $p=0.5$
Trong Python ta dùng phương thức binom.stats() để lấy kỳ vọng và phương sai.
binom.stats(n=10, p=0.5)
(array(5.), array(2.5))
Kỳ vọng và phương sai cho một lần tung đồng xu công bằng là gì?
binom.stats(n=1, p=0.5)
(array(0.5), array(0.25))
Còn với một lần tung đồng xu lệch, xác suất thành công 30% thì sao?
binom.stats(n=1, p=0.3)
(array(0.3), array(0.21))
Kỳ vọng và phương sai cho 10 lần tung đồng xu công bằng là gì?
binom.stats(n=10, p=0.5)
(array(5.), array(2.5))
Nền tảng Xác suất trong Python