pymc3:Beta 分布 sd 与 sigma
pymc3: Beta Distribution sd vs sigma
我正在了解可爱的 pymc3 库,并想确保我理解正确。 Beta 分布的签名是 class pymc3.distributions.continuous.Beta(alpha=None, beta=None, mu=None, sigma=None, sd=None, *args, **kwargs)
。实际上,在模型中使用它时,您需要将第一个参数设为分布的字符串名称,但我没有看到这里提到的。更重要的是,文档似乎说明了除 'sd'.
之外的所有参数的用途
Parameters
alpha: float
alpha > 0.
beta: float
beta > 0.
mu: float
Alternative mean (0 < mu < 1).
sigma: float
Alternative standard deviation (0 < sigma < sqrt(mu * (1 - mu))).
看来我可以使用 alpha 和 beta、mu 和 sigma 或者 mu 和 sd 来定义 beta 分布。当我尝试使用 alpha 和 mu 定义 beta 分布时,我被告知 ValueError: Incompatible parameterization. Either use alpha and beta, or mu and sigma to specify distribution.
这似乎也忽略了 sd.
我的主要问题是,sigma 和 sd 有什么区别?当交替使用它们时,我看到了非常相似的结果。
感谢您的任何见解。
Looking at the source,可以看出sd
参数是sigma
的别名。请注意,如果您同时提供两者,sd
将优先。
至于命名,这是继承自the Distribution
class,这是层次结构中唯一真正定义了__new__()
方法的。正是这个基础 class 挑出了那个论点,其余的都传递给了 Beta.__init__()
方法。
我正在了解可爱的 pymc3 库,并想确保我理解正确。 Beta 分布的签名是 class pymc3.distributions.continuous.Beta(alpha=None, beta=None, mu=None, sigma=None, sd=None, *args, **kwargs)
。实际上,在模型中使用它时,您需要将第一个参数设为分布的字符串名称,但我没有看到这里提到的。更重要的是,文档似乎说明了除 'sd'.
Parameters
alpha: float
alpha > 0.
beta: float
beta > 0.
mu: float
Alternative mean (0 < mu < 1).
sigma: float
Alternative standard deviation (0 < sigma < sqrt(mu * (1 - mu))).
看来我可以使用 alpha 和 beta、mu 和 sigma 或者 mu 和 sd 来定义 beta 分布。当我尝试使用 alpha 和 mu 定义 beta 分布时,我被告知 ValueError: Incompatible parameterization. Either use alpha and beta, or mu and sigma to specify distribution.
这似乎也忽略了 sd.
我的主要问题是,sigma 和 sd 有什么区别?当交替使用它们时,我看到了非常相似的结果。
感谢您的任何见解。
Looking at the source,可以看出sd
参数是sigma
的别名。请注意,如果您同时提供两者,sd
将优先。
至于命名,这是继承自the Distribution
class,这是层次结构中唯一真正定义了__new__()
方法的。正是这个基础 class 挑出了那个论点,其余的都传递给了 Beta.__init__()
方法。