📅  最后修改于: 2023-12-03 15:10:17.823000             🧑  作者: Mango
在概率论与数理统计中,二项式分布(Binomial Distribution)是一种离散型概率分布,用于描述一次实验中成功的次数。它是一类常见的二项试验的离散概率分布。
一个二项试验是指,重复进行固定次数的独立同分布的伯努利试验,在每次试验中,只有两种可能的结果:成功或失败。成功的概率是相同的,并且在每次试验中保持不变。
在二项分布中,n 表示试验的次数,p 表示每次试验中成功的概率,x 表示试验中成功的次数,则二项分布的概率质量函数可以表示为:
$$ P(X = x) = {n \choose x}p^x(1-p)^{n-x} $$
其中,${n \choose x}$ 表示从 n 次试验中取出 x 个成功的组合数。
二项分布在实际问题中应用十分广泛,例如在制造业中检验产品出货数量是否符合规定要求,或者在市场调查中统计产品销量等等。
在 Python 中,可以使用 scipy
库的 binom
类来进行二项分布的计算和模拟。
from scipy.stats import binom
# 求 P(X = x)
n = 10 # 试验次数
p = 0.5 # 成功概率
x = 3 # 成功次数
probability = binom.pmf(x, n, p)
print("P(X = {}): {:.4f}".format(x, probability))
# 模拟生成样本数据
samples = binom.rvs(n, p, size=1000)
以上代码演示了如何求解二项分布的概率质量函数和生成样本数据。
可以使用 matplotlib
库对二项分布进行可视化,例如绘制概率质量函数和累计分布函数的图像。
import matplotlib.pyplot as plt
# 绘制概率质量函数图像
x = range(n+1)
pmf = binom.pmf(x, n, p)
plt.stem(x, pmf, use_line_collection=True)
plt.title("Binomial Distribution (n={}, p={})".format(n, p))
plt.xlabel("Number of successes")
plt.ylabel("Probability")
plt.show()
# 绘制累计分布函数图像
x = range(n+1)
cdf = binom.cdf(x, n, p)
plt.plot(x, cdf)
plt.title("Cumulative Distribution Function")
plt.xlabel("Number of successes")
plt.ylabel("Probability")
plt.show()
以上代码将生成概率质量函数和累计分布函数的图像。
概率质量函数:
累计分布函数:
本文介绍了二项分布的基本概念、概率质量函数、实现方法和可视化技巧。二项分布是一种常见的概率分布,可以用于描述独立同分布的伯努利试验的结果。掌握二项分布的基本原理和计算技巧,可以提高程序员在实际问题中的数据分析和建模能力。