📅  最后修改于: 2023-12-03 15:34:25.852000             🧑  作者: Mango
sympy.stats.Logistic()
是一个 sympy 模块中的概率分布对象,它对应的是逻辑分布(Logistic Distribution),也称为 S 形函数(Sigmoid Function)分布。
逻辑分布的概率密度函数如下:
$$ f(x) = \frac{e^{-\frac{x-\mu}{s}}} {s,(1+e^{-\frac{x-\mu}{s}})^2} $$
其中 $\mu$ 为位置参数, $s$ 为形状参数,概率分布特征如下:
sympy.stats.Logistic()
可以用于生成逻辑分布的随机变量,语法如下:
from sympy.stats import Logistic
import sympy
mu, s = sympy.symbols('mu s', positive=True)
X = Logistic('X', mu, s)
# 生成逻辑分布的随机变量,rand_var 为 LogisticDistribution 类的一个实例
rand_var = X.as_random_variable()
# 获取符号表达式
expr = X.pdf(sympy.Symbol('x'))
# 求解期望
mean = X.mean()
# 求解方差
variance = X.variance()
# 求解标准差
std = X.std()
接下来,让我们通过一个小例子来使用逻辑分布的随机变量:
import matplotlib.pyplot as plt
samples = rand_var.rvs(size=1000) # 获取1000个样本
# 绘制样本分布的直方图
plt.hist(samples, bins=30, density=True)
# 绘制理论概率密度曲线
sympy.plot(expr.subs({mu: 0, s: 1}), (sympy.Symbol('x'), -5, 5), line_color='r')
plt.show()
sympy.stats.Logistic()
是一个 sympy 模块中的概率分布对象,它可以帮助我们生成逻辑分布的随机变量,并进行各种统计量的求解和分布形状的可视化。逻辑分布是一种较为特殊的连续概率分布,它在统计学、经济学和生物学等方面都有着广泛的应用。