📅  最后修改于: 2023-12-03 15:34:24.488000             🧑  作者: Mango
sympy.stats.YuleSimon()
是一个用于生成Yule-Simon分布的符号随机变量的方法,其表示一个具有形式参数“n”的参数的离散概率分布,它在“1”到正无穷大的正整数上采用值。它通常用于描述马尔可夫链的时间,其中链更有可能到达新状态而不是停留在此状态。
首先,我们需要从sympy.stats
导入所需要的函数和变量:
from sympy.stats import YuleSimon, P, E, variance
from sympy import Symbol
接下来,我们需要定义我们的符号变量:
n = Symbol('n', integer=True)
p = Symbol('p', positive=True)
然后,我们可以通过调用以下函数来创建符号随机变量:
X = YuleSimon('x', p, n)
这将创建一个名为“x”的符号变量,它具有Yule-Simon分布,并具有指定的形式参数p
和n
。
接下来,我们可以对此分布执行各种语句,例如求其概率分布函数、期望值、方差等:
P(X > 2).simplify()
E(X).simplify()
variance(X).simplify()
假设我们想要生成一个形式参数为1.5的Yule-Simon分布,并且我们想要计算该分布的概率密度函数,我们可以执行以下代码:
from sympy.stats import YuleSimon, density
from sympy import Symbol
n = Symbol('n', integer=True)
p = Symbol('p', positive=True)
X = YuleSimon('x', p, n)
pdf = density(X)
pdf
这将输出以下markdown格式:
$$p_{_{\text{x}}}\left(n\right) = \frac{p^{n-1}}{\left(n-1\right)!\left(n+p\right)}$$
这样我们可以了解到Yule-Simon分布的概率密度函数是什么样子的。
接下来,我们可以计算该分布的概率分布函数、期望值、方差等:
from sympy.stats import YuleSimon, P, E, variance
from sympy import Symbol
n = Symbol('n', integer=True)
p = Symbol('p', positive=True)
X = YuleSimon('x', p, n)
P(X > 2).simplify()
E(X).simplify()
variance(X).simplify()
这将输出以下markdown格式:
$$P\left(X > 2\right) = \frac{p^2}{2 p + 3}$$
$$E\left(X\right) = \frac{p}{p-1}$$
$$\operatorname{Var}\left(X\right) = \frac{p}{\left(p-1\right)^2\left(p-2\right)}$$
我们可以看到,形式参数p
越大,该分布越接近泊松分布,而当p
越接近1时,该分布越集中在1的附近。