4.3. 二项分布与二点分布#
在二项分布中,伯努利试验是一个重要的概念。
- 两个实验独立性
设有两个试验 \(E_1\) 和 \(E_2\) 。假如试验 \(E_1\) 的任一结果(事件)与试验 \(E_2\) 的任一结果(事件)都是相互独立的事件,则称这两个试验相互独立的。
\(n\) 个实验独立性
如果 \(E_1\) 的任一结果, \(E_2\) 的任一结果, \(\cdots\) , \(E_n\) 的任一结果都是相互独立的事件,则称试验 \(E_1,E_2,\cdots,E_n\) 相互独立。
\(n\) 重独立重复试验
如果这 \(n\) 个独立试验还是相同的,则称为 \(n\) 重独立重复试验。
- 伯努利试验
如果在 \(n\) 重独立重复试验中,每次试验的可能结果有两个( \(A\) 和 \(\overline{A}\) ),则称这种试验为 \(n\) 重伯努利试验。
Remark 4.3
\(n\) 次抛一枚硬币是一种典型的伯努利试验。
- 二项分布
假定伯努利试验中成功(事件 \(A\) )概率为 \(p\) 。记 \(X\) 为 \(n\) 重伯努利试验中成功的次数,其分布列为:
\[
P(X=k) = C_n^k p^k (1-p)^{(n-k)}, k=0,1,2,\cdots,n.
\]
称这个分布为二项分布。记 \(X\sim b(n,p)\) 。
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import comb
def prompt_int(message: str, *, min_value: int = None, max_value: int = None) -> int:
while True:
try:
value = int(input(message))
except ValueError:
print("请输入有效的整数。")
continue
if min_value is not None and value < min_value:
print(f"数值必须 >= {min_value}。")
continue
if max_value is not None and value > max_value:
print(f"数值必须 <= {max_value}。")
continue
return value
def prompt_probability(message: str) -> float:
while True:
try:
value = float(input(message))
except ValueError:
print("请输入有效的小数。")
continue
if not (0 < value < 1):
print("概率需要在 0 和 1 之间(不含端点)。")
continue
return value
def read_parameters():
print("Binomial Distribution Visualizer")
n = prompt_int("请输入试验次数 n(>=1,例如 10): ", min_value=1)
p = prompt_probability("请输入成功概率 p(0-1 之间,例如 0.5): ")
return n, p
def plot_binomial_distribution(n: int, p: float) -> None:
k_values = np.arange(0, n + 1)
probabilities = comb(n, k_values) * (p ** k_values) * ((1 - p) ** (n - k_values))
plt.figure(figsize=(10, 6))
plt.bar(k_values, probabilities, color="skyblue")
plt.xlabel("Number of successes k")
plt.ylabel("Probability P(X = k)")
plt.title(f"Binomial Distribution: n={n}, p={p}")
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()
def main():
n, p = read_parameters()
plot_binomial_distribution(n, p)
if __name__ == "__main__":
main()
- 二点分布
假定伯努利试验中成功(事件 \(A\) )概率为 \(p\) 。记 \(X\) 为一次伯努利试验中成功的次数,其分布列为:
\[\begin{split}
P(X=k) = p^k (1-p)^{(1-k)} = \left\{
\begin{aligned}
& p,& k=1\\
&1-p ,& k=0.
\end{aligned}\right., k=0,1.
\end{split}\]
称这个分布为二点分布(或伯努利分布)。记 \(X\sim b(1,p)\) 。
Remark 4.4
二项分布与二点分布之间的关系是很紧密的。
二点分布是二项分布的一种特例,即 \(n=1\) ;
服从二项分布的随机变量可分解为 \(n\) 个独立同为二点分布的随机变量之和,设 \(X\sim b(n,p)\) 且:
\[
X_i \overset{\text{i.i.d}}{\sim} b(1,p),i=1,2,\cdots,n
\]
于是有 \(X=\sum_{i=1}^n X_i\) 。