在 Python 中使用 Skellam 发行版

Using the Skellam distribution in Python

提问人:Drankenkin 提问时间:11/6/2023 最后编辑:Davide FioccoDrankenkin 更新时间:11/7/2023 访问量:169

问:

Skellam 分布是两个独立的泊松分布变量差值的概率分布。所以 Skellam 是基于减法的。我以前从未使用过它。

考虑 和 是两个泊松公式的两个结果,精确 和 ,如何应用 Skellam 分布?XYX=21.75%Y=7.58%

#Calculate Poisson
mu_X = 2.6
X = ((mu_X ** 3) * 2.7182818284 ** (-mu_X)) / 6 * 100
X = 21.75%

mu_Y = 0.5
Y = ((mu_Y ** 2) * 2.7182818284 ** (-mu_Y)) / 2 * 100
Y = 7.58

我曾想过一个简单的,但它似乎太平庸了,简单,绝对不正确。

#Incorrect use of Skellam
Z = 21.75% - 7.58%
Z = 14.17%

如何正确使用 Skellam 发行版并将其与 Python 一起使用?我想将它与 或 一起使用。numpyscipy

蟒蛇 python-3.x numpy 数学 scipy

评论

0赞 Davide Fiocco 11/6/2023
你能澄清一下泊松公式是什么意思吗?泊松分布是概率分布,那么这些百分比是否是指位置分布变量在给定区间内的概率?就目前而言,这个问题对我来说不是很清楚!
0赞 Drankenkin 11/6/2023
@DavideFiocco我已经更新了我的问题。看看现在是否更清楚了,意大利:)

答:

2赞 Davide Fiocco 11/6/2023 #1

在您的问题中,您正在计算两个具有不同平均值的泊松变量的概率,并假设两个值分别为 3 和 2。你可以用mu_Xmu_Y

from scipy.stats import poisson

mu_X = 2.6
mu_Y = 0.5

# Calculate the Poisson PMF for k=3 with mean mu_X
prob_X = poisson.pmf(3, mu_X) # about 21%

# Calculate the Poisson PMF for k=2 with mean mu_Y
prob_Y = poisson.pmf(2, mu_Y) # about 7%

Skellam 分布回答了以下问题:“上述两个泊松变量之差等于给定值的概率是多少”?

要在 Python 中计算它,您将使用

from scipy.stats import skellam

# Create a Skellam distribution with the two mean values
dist = skellam(mu_X, mu_Y)

# Calculate the probability of getting 1, just as example
prob = dist.pmf(1) # trying 1 but one could try whatever integer value of the difference

在这两种情况下,都会为您提供您要查找的内容,即与给定输入值相对应的概率(前一种情况下为 Poisson,后一种情况下为 Skellam)。.pmf

在 Skellam 分布的情况下,您需要输入您想知道概率的差值。

评论

0赞 Drankenkin 11/6/2023
Scrivo in inglese per i lettori futuri.为什么 dist.pmf(1) 中的值是 1?关于您的“上述两个泊松变量之差为给定值(假设为 1)的概率是多少”?,为什么您设置了 1 而不是另一个数字?
0赞 Davide Fiocco 11/6/2023
只是一个例子,因为您已将变量设置为等于 3 和 2 :)它可以是任何整数值。
0赞 Drankenkin 11/6/2023
有些东西没有加起来,对不起。dist.pmf(1) 它是干什么用的?如何选择要插入 dist.pmf(?) 中的数字?如果我只需要 mu_X 和 mu_Y 之间的差值,那么 dist.pmf(1) 有什么用,如何选择数字?谢谢,对不起
0赞 Davide Fiocco 11/6/2023
由于两个泊松变量可以采用任何正整数值(实际上,您计算了它们假设您选择的某些值(即 2 和 3)的概率),因此它们的值可以采用任何整数值,并且具有给定的概率。调用会告诉您该概率的值是多少,作为该值的函数。P.S. 请注意,您不是在计算 和 之间的差:这只是两个数字 和 ,而不是分布!pmfmu_Xmu_Y2.60.5
0赞 Drankenkin 11/6/2023
让我们举个例子。我们认为prob_X是一支球队打进3球的概率。我们将 prob_Y 视为一支球队打进 2 球的概率。代码的结果为 0.22,即两个泊松变量之差的概率。dist.pmf(1) 是什么?就这里的价值而言,它是做什么用的?您能详细解释一下 dist.pmf(1) 中值的使用吗?这里的价值是什么?谢谢