harv.stats package

Statistical utilities.

class harv.stats.MarginalizedLinear

Bases: Distribution

__init__(design_matrix, prior_distribution, data_distribution, *, validate_args=None)
arg_constraints: dict[str, Any] = {'design_matrix': Real()}
property batch_shape: tuple[int, ...]

Returns the shape over which the distribution parameters are batched.

Returns:

batch shape of the distribution.

Return type:

tuple[int, …]

cdf(value)

The cumulative distribution function of this distribution.

Parameters:

value (Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray) – samples from this distribution.

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

Returns:

output of the cumulative distribution function evaluated at value.

conditional(value=None)
property covariance_matrix
entropy()

Returns the entropy of the distribution.

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

enumerate_support(expand=True)

Returns an array with shape len(support) x batch_shape containing all values in the support.

Parameters:

expand (bool)

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

property event_dim: int

Number of dimensions of individual events. :rtype: int

Type:

return

property event_shape: tuple[int, ...]

Returns the shape of a single sample from the distribution without batching.

Returns:

event shape of the distribution.

Return type:

tuple[int, …]

expand(batch_shape)

Returns a new ExpandedDistribution instance with batch dimensions expanded to batch_shape.

Parameters:
  • batch_shape (tuple[int, ...]) – batch shape to expand to.

  • batch_shape

Returns:

an instance of ExpandedDistribution.

Return type:

ExpandedDistribution

expand_by(sample_shape)

Expands a distribution by adding sample_shape to the left side of its batch_shape. To expand internal dims of self.batch_shape from 1 to something larger, use expand() instead.

Parameters:
  • sample_shape (tuple[int, ...]) – The size of the iid batch to be drawn from the distribution.

  • sample_shape

Returns:

An expanded version of this distribution.

Return type:

ExpandedDistribution

classmethod gather_pytree_aux_fields()
Return type:

tuple[str, ...]

classmethod gather_pytree_data_fields()
Return type:

tuple[str, ...]

get_args()

Get arguments of the distribution.

Return type:

dict[str, Any]

has_enumerate_support: bool = False
property has_rsample: bool
icdf(q)

The inverse cumulative distribution function of this distribution.

Parameters:

q (Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray) – quantile values, should belong to [0, 1].

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

Returns:

the samples whose cdf values equals to q.

classmethod infer_shapes(*args, **kwargs)

Infers batch_shape and event_shape given shapes of args to __init__().

Note

This assumes distribution shape depends only on the shapes of tensor inputs, not in the data contained in those inputs.

Parameters:
  • *args (Any) – Positional args replacing each input arg with a tuple representing the sizes of each tensor input.

  • **kwargs (Any) – Keywords mapping name of input arg to tuple representing the sizes of each tensor input.

Returns:

A pair (batch_shape, event_shape) of the shapes of a distribution that would be created with input args of the given shapes.

Return type:

tuple

property is_discrete: bool
log_prob(value)

Evaluates the log probability density for a batch of samples given by value.

Parameters:

value – A batch of samples from the distribution.

Returns:

an array with shape value.shape[:-self.event_shape]

Return type:

ArrayLike

mask(mask)

Masks a distribution by a boolean or boolean-valued array that is broadcastable to the distributions Distribution.batch_shape .

Parameters:

mask (bool or jnp.ndarray) – A boolean or boolean valued array (True includes a site, False excludes a site).

Returns:

A masked copy of this distribution.

Return type:

MaskedDistribution

Example:

property mean

Mean of the distribution.

pytree_aux_fields: tuple[str, ...] = ('_batch_shape', '_event_shape')
pytree_data_fields: tuple[str, ...] = ()
reparametrized_params: list[str] = ['design_matrix']
rsample(key, sample_shape=())
Parameters:
Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

sample(key, sample_shape=())

Returns a sample from the distribution having shape given by sample_shape + batch_shape + event_shape. Note that when sample_shape is non-empty, leading dimensions (of size sample_shape) of the returned sample will be filled with iid draws from the distribution instance.

Parameters:
  • key (jax.random.key) – the rng_key key to be used for the distribution.

  • sample_shape (tuple) – the sample shape for the distribution.

Returns:

an array of shape sample_shape + batch_shape + event_shape

Return type:

ndarray

sample_with_intermediates(key, sample_shape=())

Same as sample except that any intermediate computations are returned (useful for TransformedDistribution).

Parameters:
  • key (jax.random.key) – the rng_key key to be used for the distribution.

  • sample_shape (tuple) – the sample shape for the distribution.

Returns:

an array of shape sample_shape + batch_shape + event_shape

Return type:

ndarray

static set_default_validate_args(value)
Parameters:

value (bool)

Return type:

None

shape(sample_shape=())

The tensor shape of samples from this distribution.

Samples are of shape:

d.shape(sample_shape) == sample_shape + d.batch_shape + d.event_shape
Parameters:
  • sample_shape (tuple[int, ...]) – the size of the iid batch to be drawn from the distribution.

  • sample_shape

Returns:

shape of samples.

Return type:

tuple

support = RealVector(Real(), 1)
Parameters:

value (NumLikeT)

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

to_event(reinterpreted_batch_ndims=None)

Interpret the rightmost reinterpreted_batch_ndims batch dimensions as dependent event dimensions.

Parameters:

reinterpreted_batch_ndims (int | None) – Number of rightmost batch dims to interpret as event dims.

Returns:

An instance of Independent distribution.

Return type:

Independent

tree_flatten()
classmethod tree_unflatten(aux_data, params)
validate_args(strict=True)

Validate the arguments of the distribution.

Parameters:

strict (bool) – Require strict validation, raising an error if the function is called inside jitted code.

Return type:

None

property variance: Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

Variance of the distribution.

Submodules

harv.stats.linear_op module

Vendored linear_op, formerly from numpyro-ext.

class harv.stats.linear_op.LinearOp

Bases: NamedTuple

LinearOp(loc, covariance, inverse, solve_tril, half_log_det)

loc: Callable[[], Array]

Alias for field number 0

covariance: Callable[[], Array]

Alias for field number 1

inverse: Callable[[], Array]

Alias for field number 2

solve_tril: Callable[[Array, bool], Array]

Alias for field number 3

half_log_det: Callable[[], Array]

Alias for field number 4

count(value, /)

Return number of occurrences of value.

index(value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

harv.stats.linear_op.to_linear_op(dist)
Return type:

LinearOp

harv.stats.numpyro_ext module

Vendored numpyro extensions, formerly from numpyro-ext.

class harv.stats.numpyro_ext.UnitDisk

Bases: Distribution

Two dimensional parameters constrained to live within the unit disk

support = UnitDiskConstraint()
__init__(*, validate_args=None)
sample(key, sample_shape=())

Returns a sample from the distribution having shape given by sample_shape + batch_shape + event_shape. Note that when sample_shape is non-empty, leading dimensions (of size sample_shape) of the returned sample will be filled with iid draws from the distribution instance.

Parameters:
  • key (jax.random.key) – the rng_key key to be used for the distribution.

  • sample_shape (tuple) – the sample shape for the distribution.

Returns:

an array of shape sample_shape + batch_shape + event_shape

Return type:

ndarray

log_prob(value)

Evaluates the log probability density for a batch of samples given by value.

Parameters:

value – A batch of samples from the distribution.

Returns:

an array with shape value.shape[:-self.event_shape]

Return type:

ArrayLike

property mean

Mean of the distribution.

property variance

Variance of the distribution.

arg_constraints: dict[str, Any] = {}
property batch_shape: tuple[int, ...]

Returns the shape over which the distribution parameters are batched.

Returns:

batch shape of the distribution.

Return type:

tuple[int, …]

cdf(value)

The cumulative distribution function of this distribution.

Parameters:

value (Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray) – samples from this distribution.

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

Returns:

output of the cumulative distribution function evaluated at value.

entropy()

Returns the entropy of the distribution.

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

enumerate_support(expand=True)

Returns an array with shape len(support) x batch_shape containing all values in the support.

Parameters:

expand (bool)

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

property event_dim: int

Number of dimensions of individual events. :rtype: int

Type:

return

property event_shape: tuple[int, ...]

Returns the shape of a single sample from the distribution without batching.

Returns:

event shape of the distribution.

Return type:

tuple[int, …]

expand(batch_shape)

Returns a new ExpandedDistribution instance with batch dimensions expanded to batch_shape.

Parameters:
  • batch_shape (tuple[int, ...]) – batch shape to expand to.

  • batch_shape

Returns:

an instance of ExpandedDistribution.

Return type:

ExpandedDistribution

expand_by(sample_shape)

Expands a distribution by adding sample_shape to the left side of its batch_shape. To expand internal dims of self.batch_shape from 1 to something larger, use expand() instead.

Parameters:
  • sample_shape (tuple[int, ...]) – The size of the iid batch to be drawn from the distribution.

  • sample_shape

Returns:

An expanded version of this distribution.

Return type:

ExpandedDistribution

classmethod gather_pytree_aux_fields()
Return type:

tuple[str, ...]

classmethod gather_pytree_data_fields()
Return type:

tuple[str, ...]

get_args()

Get arguments of the distribution.

Return type:

dict[str, Any]

has_enumerate_support: bool = False
property has_rsample: bool
icdf(q)

The inverse cumulative distribution function of this distribution.

Parameters:

q (Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray) – quantile values, should belong to [0, 1].

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

Returns:

the samples whose cdf values equals to q.

classmethod infer_shapes(*args, **kwargs)

Infers batch_shape and event_shape given shapes of args to __init__().

Note

This assumes distribution shape depends only on the shapes of tensor inputs, not in the data contained in those inputs.

Parameters:
  • *args (Any) – Positional args replacing each input arg with a tuple representing the sizes of each tensor input.

  • **kwargs (Any) – Keywords mapping name of input arg to tuple representing the sizes of each tensor input.

Returns:

A pair (batch_shape, event_shape) of the shapes of a distribution that would be created with input args of the given shapes.

Return type:

tuple

property is_discrete: bool
mask(mask)

Masks a distribution by a boolean or boolean-valued array that is broadcastable to the distributions Distribution.batch_shape .

Parameters:

mask (bool or jnp.ndarray) – A boolean or boolean valued array (True includes a site, False excludes a site).

Returns:

A masked copy of this distribution.

Return type:

MaskedDistribution

Example:

pytree_aux_fields: tuple[str, ...] = ('_batch_shape', '_event_shape')
pytree_data_fields: tuple[str, ...] = ()
reparametrized_params: list[str] = []
rsample(key, sample_shape=())
Parameters:
Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

sample_with_intermediates(key, sample_shape=())

Same as sample except that any intermediate computations are returned (useful for TransformedDistribution).

Parameters:
  • key (prng_key | None) – the rng_key key to be used for the distribution.

  • sample_shape (tuple[int, ...]) – the sample shape for the distribution.

  • key

  • sample_shape

Returns:

an array of shape sample_shape + batch_shape + event_shape

Return type:

ndarray

static set_default_validate_args(value)
Parameters:

value (bool)

Return type:

None

shape(sample_shape=())

The tensor shape of samples from this distribution.

Samples are of shape:

d.shape(sample_shape) == sample_shape + d.batch_shape + d.event_shape
Parameters:
  • sample_shape (tuple[int, ...]) – the size of the iid batch to be drawn from the distribution.

  • sample_shape

Returns:

shape of samples.

Return type:

tuple

to_event(reinterpreted_batch_ndims=None)

Interpret the rightmost reinterpreted_batch_ndims batch dimensions as dependent event dimensions.

Parameters:

reinterpreted_batch_ndims (int | None) – Number of rightmost batch dims to interpret as event dims.

Returns:

An instance of Independent distribution.

Return type:

Independent

tree_flatten()
Return type:

tuple[tuple[Any, ...], tuple[Any, ...]]

classmethod tree_unflatten(aux_data, params)
Parameters:
Return type:

Distribution

validate_args(strict=True)

Validate the arguments of the distribution.

Parameters:

strict (bool) – Require strict validation, raising an error if the function is called inside jitted code.

Return type:

None

class harv.stats.numpyro_ext.Angle

Bases: Distribution

An angle constrained to be in the range -pi to pi

The actual sampling is performed in the two dimensional vector space proportional to (sin(theta), cos(theta)) so that the sampler doesn’t see a discontinuity at pi.

The regularized parameter can be used to improve sampling performance when the value of the angle is well constrained. It removes prior mass near the origin in the sampling space, which can lead to bad geometry when the angle is poorly constrained, but better performance when it is. The default value of 10.0 is a good starting point.

__init__(*, regularized=10.0, validate_args=None)
property support

The support of this distribution. Subclasses can override this as a class attribute or as a property.

sample(key, sample_shape=())

Returns a sample from the distribution having shape given by sample_shape + batch_shape + event_shape. Note that when sample_shape is non-empty, leading dimensions (of size sample_shape) of the returned sample will be filled with iid draws from the distribution instance.

Parameters:
  • key (jax.random.key) – the rng_key key to be used for the distribution.

  • sample_shape (tuple) – the sample shape for the distribution.

Returns:

an array of shape sample_shape + batch_shape + event_shape

Return type:

ndarray

log_prob(value)

Evaluates the log probability density for a batch of samples given by value.

Parameters:

value – A batch of samples from the distribution.

Returns:

an array with shape value.shape[:-self.event_shape]

Return type:

ArrayLike

property mean

Mean of the distribution.

property variance

Variance of the distribution.

cdf(value)

The cumulative distribution function of this distribution.

Parameters:

value – samples from this distribution.

Returns:

output of the cumulative distribution function evaluated at value.

icdf(value)

The inverse cumulative distribution function of this distribution.

Parameters:

q – quantile values, should belong to [0, 1].

Returns:

the samples whose cdf values equals to q.

arg_constraints: dict[str, Any] = {}
property batch_shape: tuple[int, ...]

Returns the shape over which the distribution parameters are batched.

Returns:

batch shape of the distribution.

Return type:

tuple[int, …]

entropy()

Returns the entropy of the distribution.

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

enumerate_support(expand=True)

Returns an array with shape len(support) x batch_shape containing all values in the support.

Parameters:

expand (bool)

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

property event_dim: int

Number of dimensions of individual events. :rtype: int

Type:

return

property event_shape: tuple[int, ...]

Returns the shape of a single sample from the distribution without batching.

Returns:

event shape of the distribution.

Return type:

tuple[int, …]

expand(batch_shape)

Returns a new ExpandedDistribution instance with batch dimensions expanded to batch_shape.

Parameters:
  • batch_shape (tuple[int, ...]) – batch shape to expand to.

  • batch_shape

Returns:

an instance of ExpandedDistribution.

Return type:

ExpandedDistribution

expand_by(sample_shape)

Expands a distribution by adding sample_shape to the left side of its batch_shape. To expand internal dims of self.batch_shape from 1 to something larger, use expand() instead.

Parameters:
  • sample_shape (tuple[int, ...]) – The size of the iid batch to be drawn from the distribution.

  • sample_shape

Returns:

An expanded version of this distribution.

Return type:

ExpandedDistribution

classmethod gather_pytree_aux_fields()
Return type:

tuple[str, ...]

classmethod gather_pytree_data_fields()
Return type:

tuple[str, ...]

get_args()

Get arguments of the distribution.

Return type:

dict[str, Any]

has_enumerate_support: bool = False
property has_rsample: bool
classmethod infer_shapes(*args, **kwargs)

Infers batch_shape and event_shape given shapes of args to __init__().

Note

This assumes distribution shape depends only on the shapes of tensor inputs, not in the data contained in those inputs.

Parameters:
  • *args (Any) – Positional args replacing each input arg with a tuple representing the sizes of each tensor input.

  • **kwargs (Any) – Keywords mapping name of input arg to tuple representing the sizes of each tensor input.

Returns:

A pair (batch_shape, event_shape) of the shapes of a distribution that would be created with input args of the given shapes.

Return type:

tuple

property is_discrete: bool
mask(mask)

Masks a distribution by a boolean or boolean-valued array that is broadcastable to the distributions Distribution.batch_shape .

Parameters:

mask (bool or jnp.ndarray) – A boolean or boolean valued array (True includes a site, False excludes a site).

Returns:

A masked copy of this distribution.

Return type:

MaskedDistribution

Example:

pytree_aux_fields: tuple[str, ...] = ('_batch_shape', '_event_shape')
pytree_data_fields: tuple[str, ...] = ()
reparametrized_params: list[str] = []
rsample(key, sample_shape=())
Parameters:
Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

sample_with_intermediates(key, sample_shape=())

Same as sample except that any intermediate computations are returned (useful for TransformedDistribution).

Parameters:
  • key (prng_key | None) – the rng_key key to be used for the distribution.

  • sample_shape (tuple[int, ...]) – the sample shape for the distribution.

  • key

  • sample_shape

Returns:

an array of shape sample_shape + batch_shape + event_shape

Return type:

ndarray

static set_default_validate_args(value)
Parameters:

value (bool)

Return type:

None

shape(sample_shape=())

The tensor shape of samples from this distribution.

Samples are of shape:

d.shape(sample_shape) == sample_shape + d.batch_shape + d.event_shape
Parameters:
  • sample_shape (tuple[int, ...]) – the size of the iid batch to be drawn from the distribution.

  • sample_shape

Returns:

shape of samples.

Return type:

tuple

to_event(reinterpreted_batch_ndims=None)

Interpret the rightmost reinterpreted_batch_ndims batch dimensions as dependent event dimensions.

Parameters:

reinterpreted_batch_ndims (int | None) – Number of rightmost batch dims to interpret as event dims.

Returns:

An instance of Independent distribution.

Return type:

Independent

tree_flatten()
Return type:

tuple[tuple[Any, ...], tuple[Any, ...]]

classmethod tree_unflatten(aux_data, params)
Parameters:
Return type:

Distribution

validate_args(strict=True)

Validate the arguments of the distribution.

Parameters:

strict (bool) – Require strict validation, raising an error if the function is called inside jitted code.

Return type:

None

class harv.stats.numpyro_ext.MarginalizedLinear

Bases: Distribution

arg_constraints: dict[str, Any] = {'design_matrix': Real()}
support = RealVector(Real(), 1)
Parameters:

value (NumLikeT)

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

reparametrized_params: list[str] = ['design_matrix']
__init__(design_matrix, prior_distribution, data_distribution, *, validate_args=None)
sample_with_intermediates(key, sample_shape=())

Same as sample except that any intermediate computations are returned (useful for TransformedDistribution).

Parameters:
  • key (jax.random.key) – the rng_key key to be used for the distribution.

  • sample_shape (tuple) – the sample shape for the distribution.

Returns:

an array of shape sample_shape + batch_shape + event_shape

Return type:

ndarray

sample(key, sample_shape=())

Returns a sample from the distribution having shape given by sample_shape + batch_shape + event_shape. Note that when sample_shape is non-empty, leading dimensions (of size sample_shape) of the returned sample will be filled with iid draws from the distribution instance.

Parameters:
  • key (jax.random.key) – the rng_key key to be used for the distribution.

  • sample_shape (tuple) – the sample shape for the distribution.

Returns:

an array of shape sample_shape + batch_shape + event_shape

Return type:

ndarray

log_prob(value)

Evaluates the log probability density for a batch of samples given by value.

Parameters:

value – A batch of samples from the distribution.

Returns:

an array with shape value.shape[:-self.event_shape]

Return type:

ArrayLike

conditional(value=None)
tree_flatten()
classmethod tree_unflatten(aux_data, params)
property batch_shape: tuple[int, ...]

Returns the shape over which the distribution parameters are batched.

Returns:

batch shape of the distribution.

Return type:

tuple[int, …]

cdf(value)

The cumulative distribution function of this distribution.

Parameters:

value (Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray) – samples from this distribution.

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

Returns:

output of the cumulative distribution function evaluated at value.

entropy()

Returns the entropy of the distribution.

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

enumerate_support(expand=True)

Returns an array with shape len(support) x batch_shape containing all values in the support.

Parameters:

expand (bool)

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

property event_dim: int

Number of dimensions of individual events. :rtype: int

Type:

return

property event_shape: tuple[int, ...]

Returns the shape of a single sample from the distribution without batching.

Returns:

event shape of the distribution.

Return type:

tuple[int, …]

expand(batch_shape)

Returns a new ExpandedDistribution instance with batch dimensions expanded to batch_shape.

Parameters:
  • batch_shape (tuple[int, ...]) – batch shape to expand to.

  • batch_shape

Returns:

an instance of ExpandedDistribution.

Return type:

ExpandedDistribution

expand_by(sample_shape)

Expands a distribution by adding sample_shape to the left side of its batch_shape. To expand internal dims of self.batch_shape from 1 to something larger, use expand() instead.

Parameters:
  • sample_shape (tuple[int, ...]) – The size of the iid batch to be drawn from the distribution.

  • sample_shape

Returns:

An expanded version of this distribution.

Return type:

ExpandedDistribution

classmethod gather_pytree_aux_fields()
Return type:

tuple[str, ...]

classmethod gather_pytree_data_fields()
Return type:

tuple[str, ...]

get_args()

Get arguments of the distribution.

Return type:

dict[str, Any]

has_enumerate_support: bool = False
property has_rsample: bool
icdf(q)

The inverse cumulative distribution function of this distribution.

Parameters:

q (Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray) – quantile values, should belong to [0, 1].

Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

Returns:

the samples whose cdf values equals to q.

classmethod infer_shapes(*args, **kwargs)

Infers batch_shape and event_shape given shapes of args to __init__().

Note

This assumes distribution shape depends only on the shapes of tensor inputs, not in the data contained in those inputs.

Parameters:
  • *args (Any) – Positional args replacing each input arg with a tuple representing the sizes of each tensor input.

  • **kwargs (Any) – Keywords mapping name of input arg to tuple representing the sizes of each tensor input.

Returns:

A pair (batch_shape, event_shape) of the shapes of a distribution that would be created with input args of the given shapes.

Return type:

tuple

property is_discrete: bool
mask(mask)

Masks a distribution by a boolean or boolean-valued array that is broadcastable to the distributions Distribution.batch_shape .

Parameters:

mask (bool or jnp.ndarray) – A boolean or boolean valued array (True includes a site, False excludes a site).

Returns:

A masked copy of this distribution.

Return type:

MaskedDistribution

Example:

property mean

Mean of the distribution.

pytree_aux_fields: tuple[str, ...] = ('_batch_shape', '_event_shape')
pytree_data_fields: tuple[str, ...] = ()
rsample(key, sample_shape=())
Parameters:
Return type:

Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

static set_default_validate_args(value)
Parameters:

value (bool)

Return type:

None

shape(sample_shape=())

The tensor shape of samples from this distribution.

Samples are of shape:

d.shape(sample_shape) == sample_shape + d.batch_shape + d.event_shape
Parameters:
  • sample_shape (tuple[int, ...]) – the size of the iid batch to be drawn from the distribution.

  • sample_shape

Returns:

shape of samples.

Return type:

tuple

to_event(reinterpreted_batch_ndims=None)

Interpret the rightmost reinterpreted_batch_ndims batch dimensions as dependent event dimensions.

Parameters:

reinterpreted_batch_ndims (int | None) – Number of rightmost batch dims to interpret as event dims.

Returns:

An instance of Independent distribution.

Return type:

Independent

validate_args(strict=True)

Validate the arguments of the distribution.

Parameters:

strict (bool) – Require strict validation, raising an error if the function is called inside jitted code.

Return type:

None

property variance: Array | ndarray | bool | number | bool | int | float | complex | TypedNdArray

Variance of the distribution.

property covariance_matrix