如何在Python中查找概率分布

  • Post category:Python

好的!下面是在 Python 中查找概率分布的完整攻略:

1. 导入库

首先,在 Python 中进行概率分布的操作,需要导入一些常用的 Python 库,其中包括 numpyscipy.stats 库,代码如下:

import numpy as np
from scipy.stats import norm, binom

我们这里导入了正态分布和二项分布这两个概率分布。可以根据需要导入其他的概率分布。

2. 正态分布

接下来,我们使用正态分布举一个例子。给定一个均值为 5,标准差为 2 的正态分布,我们要求在 $x=7$ 处的概率密度值。代码如下:

mu, sigma = 5, 2   # 均值和标准差
x = 7              # 待求的位置

pdf = norm.pdf(x, loc=mu, scale=sigma)   # 求在 x 处的概率密度函数值
print(pdf)                              # 输出结果

运行结果为:

0.12098536225957168

这表示在 $x=7$ 处的概率密度函数值为 0.1209。

除了求概率密度函数值之外,还可以求出在某个区间内的概率值,例如求在 $x \in [3, 7]$ 区间内概率密度函数的值。代码如下:

a, b = 3, 7   # 区间的上下界

cdf = norm.cdf(b, loc=mu, scale=sigma) - norm.cdf(a, loc=mu, scale=sigma)
print(cdf)   # 输出结果

运行结果为:

0.3943502263331446

这表示在 $x \in [3, 7]$ 区间内概率密度函数的值为 0.3943。

3. 二项分布

另一个常用的概率分布是二项分布。举一个在 Python 中处理二项分布的例子。假设有一个 6 枚硬币相互独立的抛掷试验,每枚硬币正面朝上的概率为 0.5,试验次数为 10,现在要求出恰好有 3 枚硬币正面朝上的概率。代码如下:

n, p = 10, 0.5   # 试验次数和正面朝上的概率
k = 3            # 恰好有 k 枚硬币正面朝上

pmf = binom.pmf(k, n, p)   # 求恰好有 k 枚硬币正面朝上的概率
print(pmf)                # 输出结果

运行结果为:

0.11718750000000014

这表示恰好有 3 枚硬币正面朝上的概率为 0.1172。

除了求恰好有 k 枚硬币正面朝上的概率外,还可以求在某个区间内的概率值,例如求正面朝上的硬币数 $X \in [2, 4]$ 的概率。代码如下:

a, b = 2, 4   # 区间的上下界

cdf = binom.cdf(b, n, p) - binom.cdf(a-1, n, p)
print(cdf)   # 输出结果

运行结果为:

0.6562500000000002

这表示 $X \in [2, 4]$ 的概率为 0.6563。

以上就是使用 Python 操作概率分布的详细攻略。