Scipy - Stats - 概率分布参数的含义

bea*_*ito 6 python numpy scipy

Scipy docs将指数使用的分布形式表示为:

expon.pdf(x) = lambda * exp(- lambda*x)
Run Code Online (Sandbox Code Playgroud)

然而,拟合函数需要:

fit(data, loc=0, scale=1)
Run Code Online (Sandbox Code Playgroud)

而rvs函数需要:

rvs(loc=0, scale=1, size=1)
Run Code Online (Sandbox Code Playgroud)

问题1:为什么无关的位置变量?我知道指数只是更一般分布(伽玛)的特定形式,但为什么要包括不需要的信息呢?甚至gamma也没有位置参数.

问题2:拟合(...)的输出是否与输入变量的顺序相同.我的意思是,如果我这样做:

t = fit([....]) , t will have the form t[0], t[1]
Run Code Online (Sandbox Code Playgroud)

我应该将t [0]解释为形状,将t 1解释为比例.

这适用于所有发行版吗?

伽玛怎么样:

fit(data, a, loc=0, scale=1)
Run Code Online (Sandbox Code Playgroud)

Rob*_*ern 5

  1. 每个单变量概率分布,无论其通常的公式是什么,都可以扩展到包括位置和尺度参数。有时,这需要将分布的支持从正/非负实数扩展到整个实数轴,当 PDF 值低于该loc值时,PDF 值为 0。scipy.stats这样做是为了将所有处理转移locscale所有发行版共享的通用方法。有人建议删除它,并制作类似gamma loc-less 的发行版以遵循其规范公式。然而,事实证明,loc如果我没记错的话,有些人确实使用具有非零参数的“移位伽玛”分布来模拟太阳黑子的大小,并且当前的行为对scipy.stats他们来说是完美的。所以我们保留它。

  2. 如果存在形状参数,则该方法的输出fit()是以下形式的元组。对于没有形状参数的正态分布,它将仅返回。对于有一个伽玛分布,它将返回。多个形状参数的顺序将与您为分布上的每个其他方法指定的顺序相同。这适用于所有发行版。(shape0, shape1, ..., shapeN, loc, scale)N(loc, scale)(shape, loc, scale)

  • 您还应该注意,如果您需要正确拟合您的函数(没有指数的无关参数 loc),您应该给参数 floc(固定位置)等于 0(您想要修复的位置的值)。 (3认同)