正态分布积累分布函数+python
时间: 2024-09-06 10:07:16 浏览: 56
正态分布,也称为高斯分布,是一种非常重要的连续概率分布,在自然界和社会科学领域中广泛存在。其概率密度函数(probability density function, PDF)的数学表达式为:
\[ f(x|\mu,\sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right) \]
其中,\(\mu\) 是分布的均值,\(\sigma^2\) 是方差。
正态分布的累积分布函数(cumulative distribution function, CDF)是指随机变量小于或等于某个值的概率,对于正态分布,CDF没有一个简单的封闭形式的表达式,但它可以通过误差函数(error function, erf)来表达:
\[ F(x|\mu,\sigma^2) = \frac{1}{2} \left[1 + \text{erf}\left(\frac{x-\mu}{\sigma\sqrt{2}}\right)\right] \]
其中,\(\text{erf}(x)\) 是误差函数,定义为:
\[ \text{erf}(x) = \frac{2}{\sqrt{\pi}} \int_0^x e^{-t^2} dt \]
在Python中,我们可以使用`scipy`库中的`norm.cdf`函数来计算正态分布的累积分布函数。下面是一个简单的例子:
```python
import numpy as np
from scipy.stats import norm
# 设置均值和标准差
mu, sigma = 0, 1
# 生成一些数据点
x = np.linspace(-3, 3, 100)
# 计算这些点的累积分布函数值
cdf_values = norm.cdf(x, mu, sigma)
# 打印结果
print(cdf_values)
```
这段代码首先导入了`numpy`和`scipy.stats`中的`norm`类,然后设置均值`mu`为0,标准差`sigma`为1,并生成了一个从-3到3的等差数列。接着使用`norm.cdf`函数计算了这个数列中每个点的CDF值,并打印出来。
阅读全文