提交 01c4a55f authored 作者: Rémi Louf's avatar Rémi Louf 提交者: Brandon T. Willard

Add docstring for the `GammaRV` Op

上级 7f4e0ab4
......@@ -160,6 +160,19 @@ lognormal = LogNormalRV()
class GammaRV(ScipyRandomVariable):
r"""A gamma continuous random variable.
The probability density function for `gamma` in terms of `shape = alpha` and `rate = beta` is:
.. math::
f(x, \alpha, \beta) = \frac{\beta^\alpha}{\Gamma(\alpha)}x^{\alpha-1}e^{-\beta x}
for :math:`x \geq 0`, :math:`\alpha > 0` and :math:`\beta > 0`. `gamma`
takes ``shape`` as a shape parameter for :math:`\alpha` and ``rate`` as a
rate parameter for :math:`\beta`.
"""
name = "gamma"
ndim_supp = 0
ndims_params = [0, 0]
......@@ -167,6 +180,22 @@ class GammaRV(ScipyRandomVariable):
_print_name = ("Gamma", "\\operatorname{Gamma}")
def __call__(self, shape, rate, size=None, **kwargs):
"""Return gamma-distributed random variables.
Parameters
----------
shape
The shape of the gamma distribution. Must be positive.
rate
The rate of the gamma distribution. Must be positive.
size
Sample shape. If the given size is, e.g. `(m, n, k)` then `m * n * k`
independent, identically distributed random variables are
returned. Default is `None` in which case a single random variable
is returned.
"""
return super().__call__(shape, 1.0 / rate, size=size, **kwargs)
@classmethod
......
......@@ -43,3 +43,11 @@ Reference
:class:`Op` that draws random numbers from a :class:`numpy.random.RandomState` object.
This :class:`Op` is parameterized to draw numbers from many possible
distributions.
Distributions
==============
Aesara can produce :class:`RandomVariable`\s that draw samples from many different statistical distributions, using the following :class:`Op`\s.
.. autoclass:: aesara.tensor.random.basic.GammaRV
:members: __call__
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论