📅  最后修改于: 2023-12-03 15:34:25.860000             🧑  作者: Mango
在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)
创建偏斜正态分布的随机变量。