【问题标题】:pymc3: Beta Distribution sd vs sigmapymc3: Beta Distribution sd vs sigma
【发布时间】:2019-12-06 23:13:10
【问题描述】:

我开始了解可爱的 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 有什么区别?交替使用它们时,我看到了非常相似的结果。

感谢您提供任何见解。

【问题讨论】:

    标签: pymc3


    【解决方案1】:

    Looking at the source,可以看出sd参数是sigma的别名。请注意,如果您同时提供两者,sd 将优先。

    至于命名,这是继承自the Distribution class,这是层次结构中唯一真正定义了__new__() 方法的名称。正是这个基类选择了那个参数,其余的被传递给Beta.__init__() 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-14
      • 2021-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-22
      • 2022-11-23
      • 1970-01-01
      相关资源
      最近更新 更多