Skip to content

Continuous

Univariate continuous distributions over the real line, the positive half-line, or a bounded interval.

Normal(loc, scale, *, name)

Bases: TFPDistribution

Univariate normal (Gaussian) distribution.

Parameters:

Name Type Description Default
loc array - like

Mean of the distribution.

required
scale array - like

Standard deviation (> 0).

required
name str

Distribution name.

required
Source code in probpipe/distributions/continuous.py
def __init__(
    self,
    loc: ArrayLike,
    scale: ArrayLike,
    *,
    name: str,
):
    _, (self._loc, self._scale) = _promote_floats(loc, scale)
    self._tfp_dist = tfd.Normal(loc=self._loc, scale=self._scale)
    super().__init__(name=name)

Beta(alpha, beta, *, name)

Bases: TFPDistribution

Beta distribution on [0, 1].

Parameters:

Name Type Description Default
alpha array - like

First concentration parameter (> 0).

required
beta array - like

Second concentration parameter (> 0).

required
name str

Distribution name.

required
Source code in probpipe/distributions/continuous.py
def __init__(
    self,
    alpha: ArrayLike,
    beta: ArrayLike,
    *,
    name: str,
):
    _, (self._alpha, self._beta) = _promote_floats(alpha, beta)
    self._tfp_dist = tfd.Beta(concentration1=self._alpha, concentration0=self._beta)
    super().__init__(name=name)

Gamma(concentration, rate, *, name)

Bases: TFPDistribution

Gamma distribution.

Parameters:

Name Type Description Default
concentration array - like

Shape parameter (> 0).

required
rate array - like

Rate (inverse scale) parameter (> 0).

required
name str

Distribution name.

required
Source code in probpipe/distributions/continuous.py
def __init__(
    self,
    concentration: ArrayLike,
    rate: ArrayLike,
    *,
    name: str,
):
    _, (self._concentration, self._rate) = _promote_floats(concentration, rate)
    self._tfp_dist = tfd.Gamma(concentration=self._concentration, rate=self._rate)
    super().__init__(name=name)

InverseGamma(concentration, scale, *, name)

Bases: TFPDistribution

Inverse-gamma distribution.

Parameters:

Name Type Description Default
concentration array - like

Shape parameter (> 0).

required
scale array - like

Scale parameter (> 0).

required
name str

Distribution name.

required
Source code in probpipe/distributions/continuous.py
def __init__(
    self,
    concentration: ArrayLike,
    scale: ArrayLike,
    *,
    name: str,
):
    _, (self._concentration, self._scale) = _promote_floats(concentration, scale)
    self._tfp_dist = tfd.InverseGamma(
        concentration=self._concentration, scale=self._scale
    )
    super().__init__(name=name)

Exponential(rate, *, name)

Bases: TFPDistribution

Exponential distribution.

Parameters:

Name Type Description Default
rate array - like

Rate parameter (> 0).

required
name str

Distribution name.

required
Source code in probpipe/distributions/continuous.py
def __init__(
    self,
    rate: ArrayLike,
    *,
    name: str,
):
    self._rate = _as_float_array(rate)
    self._tfp_dist = tfd.Exponential(rate=self._rate)
    super().__init__(name=name)

LogNormal(loc, scale, *, name)

Bases: TFPDistribution

Log-normal distribution.

Parameters:

Name Type Description Default
loc array - like

Mean of the underlying normal distribution.

required
scale array - like

Standard deviation of the underlying normal distribution (> 0).

required
name str

Distribution name.

required
Source code in probpipe/distributions/continuous.py
def __init__(
    self,
    loc: ArrayLike,
    scale: ArrayLike,
    *,
    name: str,
):
    _, (self._loc, self._scale) = _promote_floats(loc, scale)
    self._tfp_dist = tfd.LogNormal(loc=self._loc, scale=self._scale)
    super().__init__(name=name)

StudentT(df, loc, scale, *, name)

Bases: TFPDistribution

Student's t-distribution.

Parameters:

Name Type Description Default
df array - like

Degrees of freedom (> 0).

required
loc array - like

Location parameter.

required
scale array - like

Scale parameter (> 0).

required
name str

Distribution name.

required
Source code in probpipe/distributions/continuous.py
def __init__(
    self,
    df: ArrayLike,
    loc: ArrayLike,
    scale: ArrayLike,
    *,
    name: str,
):
    _, (self._df, self._loc, self._scale) = _promote_floats(df, loc, scale)
    self._tfp_dist = tfd.StudentT(df=self._df, loc=self._loc, scale=self._scale)
    super().__init__(name=name)

Uniform(low, high, *, name)

Bases: TFPDistribution

Uniform distribution on [low, high].

Parameters:

Name Type Description Default
low array - like

Lower bound.

required
high array - like

Upper bound (> low).

required
name str

Distribution name.

required
Source code in probpipe/distributions/continuous.py
def __init__(
    self,
    low: ArrayLike,
    high: ArrayLike,
    *,
    name: str,
):
    _, (self._low, self._high) = _promote_floats(low, high)
    self._tfp_dist = tfd.Uniform(low=self._low, high=self._high)
    super().__init__(name=name)

Cauchy(loc, scale, *, name)

Bases: TFPDistribution

Cauchy distribution.

Parameters:

Name Type Description Default
loc array - like

Location parameter.

required
scale array - like

Scale parameter (> 0).

required
name str

Distribution name.

required
Source code in probpipe/distributions/continuous.py
def __init__(
    self,
    loc: ArrayLike,
    scale: ArrayLike,
    *,
    name: str,
):
    _, (self._loc, self._scale) = _promote_floats(loc, scale)
    self._tfp_dist = tfd.Cauchy(loc=self._loc, scale=self._scale)
    super().__init__(name=name)

Laplace(loc, scale, *, name)

Bases: TFPDistribution

Laplace distribution.

Parameters:

Name Type Description Default
loc array - like

Location parameter.

required
scale array - like

Scale parameter (> 0).

required
name str

Distribution name.

required
Source code in probpipe/distributions/continuous.py
def __init__(
    self,
    loc: ArrayLike,
    scale: ArrayLike,
    *,
    name: str,
):
    _, (self._loc, self._scale) = _promote_floats(loc, scale)
    self._tfp_dist = tfd.Laplace(loc=self._loc, scale=self._scale)
    super().__init__(name=name)

HalfNormal(scale, *, name)

Bases: TFPDistribution

Half-normal distribution (support on [0, inf)).

Parameters:

Name Type Description Default
scale array - like

Scale parameter (> 0).

required
name str

Distribution name.

required
Source code in probpipe/distributions/continuous.py
def __init__(
    self,
    scale: ArrayLike,
    *,
    name: str,
):
    self._scale = _as_float_array(scale)
    self._tfp_dist = tfd.HalfNormal(scale=self._scale)
    super().__init__(name=name)

HalfCauchy(loc, scale, *, name)

Bases: TFPDistribution

Half-Cauchy distribution (support on [loc, inf)).

Parameters:

Name Type Description Default
loc array - like

Location parameter.

required
scale array - like

Scale parameter (> 0).

required
name str

Distribution name.

required
Source code in probpipe/distributions/continuous.py
def __init__(
    self,
    loc: ArrayLike,
    scale: ArrayLike,
    *,
    name: str,
):
    _, (self._loc, self._scale) = _promote_floats(loc, scale)
    self._tfp_dist = tfd.HalfCauchy(loc=self._loc, scale=self._scale)
    super().__init__(name=name)

Pareto(concentration, scale, *, name)

Bases: TFPDistribution

Pareto distribution.

Parameters:

Name Type Description Default
concentration array - like

Tail index (shape parameter, > 0).

required
scale array - like

Minimum value (scale parameter, > 0).

required
name str

Distribution name.

required
Source code in probpipe/distributions/continuous.py
def __init__(
    self,
    concentration: ArrayLike,
    scale: ArrayLike,
    *,
    name: str,
):
    _, (self._concentration, self._scale) = _promote_floats(concentration, scale)
    self._tfp_dist = tfd.Pareto(
        concentration=self._concentration, scale=self._scale
    )
    super().__init__(name=name)

TruncatedNormal(loc, scale, low, high, *, name)

Bases: TFPDistribution

Truncated normal distribution on [low, high].

Parameters:

Name Type Description Default
loc array - like

Mean of the underlying normal distribution.

required
scale array - like

Standard deviation of the underlying normal distribution (> 0).

required
low array - like

Lower truncation bound.

required
high array - like

Upper truncation bound (> low).

required
name str

Distribution name.

required
Source code in probpipe/distributions/continuous.py
def __init__(
    self,
    loc: ArrayLike,
    scale: ArrayLike,
    low: ArrayLike,
    high: ArrayLike,
    *,
    name: str,
):
    _, (self._loc, self._scale, self._low, self._high) = _promote_floats(
        loc, scale, low, high
    )
    self._tfp_dist = tfd.TruncatedNormal(
        loc=self._loc, scale=self._scale, low=self._low, high=self._high
    )
    super().__init__(name=name)