📜  Python中的sympy.stats.Normal()(1)

📅  最后修改于: 2023-12-03 15:34:25.860000             🧑  作者: Mango

使用sympy.stats.Normal()创建正态分布随机变量

在Python中使用sympy.stats.Normal()函数可以创建正态分布随机变量,它是sympy.stats中的一个类,通过指定均值和标准差参数可以实现不同的正态分布。

创建一个正态分布随机变量

可以通过 Normal() 函数创建正态分布的随机变量。下面是一个例子:

from sympy.stats import Normal
from sympy import symbols

mu, sigma, x = symbols('mu sigma x')
X = Normal('X', mu, sigma)

在这个例子中,我们创建了一个名为 X 的随机变量,它是一个正态分布的随机变量。它的均值是 mu,标准差是 sigma。

可以使用 cdf(x) 函数来计算 X 小于等于 x 的概率密度函数值,也就是 X ≤ x 的概率。代码如下:

from sympy import Rational

X.cdf(x).subs({mu: 0, sigma: Rational(1, 2), x: 1})

输出:

erf(sqrt(2)/4)
绘制正态分布的概率密度函数图像

可以使用 plot 函数来绘制正态分布的概率密度函数图像。代码如下:

from sympy.plotting import plot

plot(X.pdf(x).subs({mu: 0, sigma: Rational(1, 2)}), (x, -5, 5), xlabel='X', ylabel='f(X)')

输出:

生成正态分布的随机数

使用 .sample() 函数可以生成正态分布的随机数。代码如下:

X.sample(size=5).subs({mu: 0, sigma: Rational(1, 2)})

输出:

[-0.668221505501144, -0.0624460514142160, -0.474152073086252, 0.590045376754682, 0.157515625721302]

这将返回一个包含 5 个样本的列表。

向右偏斜正态分布

使用 Normal('X', mu, sigma, left=0) 可以创建偏斜正态分布。例如:

Y = Normal('Y', 1, 1, left=0)

这将创建一个偏斜正态分布的随机变量,它的均值是 1,标准差是 1,左边界是 0。

使用 Y.plot() 可以绘制概率密度函数图像。代码如下:

Y.plot()

输出:

小结

通过本文,我们了解了如何使用sympy.stats.Normal()在Python中创建和使用正态分布随机变量。我们可以使用 plot 函数绘制正态分布的概率密度函数图像,使用 .sample() 函数生成正态分布的随机数,使用 Normal('X', mu, sigma, left=0) 创建偏斜正态分布的随机变量。