bf.dist.right_truncated_distribution: Samples from a right-truncated distribution.

View source: R/right_truncated_distribution.R

bf.dist.right_truncated_distributionR Documentation

Samples from a right-truncated distribution.

Description

A right-truncated distribution is a statistical distribution that arises when the possible values of a random variable are restricted to be below a certain specified value 'high'. In essence, the right tail of the original distribution is "cut off" at a particular point, and the remaining probability is redistributed among the allowable values. This type of distribution is common in various fields where there are inherent upper limits or observational constraints.

Usage

bf.dist.right_truncated_distribution(
  base_dist,
  high = 0,
  validate_args = py_none(),
  name = "x",
  obs = py_none(),
  mask = py_none(),
  sample = FALSE,
  seed = py_none(),
  shape = c(),
  event = 0,
  create_obj = FALSE,
  to_jax = TRUE
)

Arguments

base_dist

The base distribution to truncate. Must be a univariate distribution with real support.

high

(float, jnp.ndarray, optional): The upper truncation point. The support of the new distribution is (-\infty, \text{high}). Defaults to 0.0.

validate_args

Logical: Whether to validate parameter values. Defaults to 'reticulate::py_none()'.

name

A character string representing the name of the random variable within a model. This is used to uniquely identify the variable. Defaults to 'x'.

obs

A numeric vector or array of observed values. If provided, the random variable is conditioned on these values. If 'NULL', the variable is treated as a latent (unobserved) variable. Defaults to 'NULL'.

mask

An optional boolean vector to mask observations.

sample

A logical value that controls the function's behavior. If 'TRUE', the function will directly draw samples from the distribution. If 'FALSE', it will create a random variable within a model. Defaults to 'FALSE'.

seed

An integer used to set the random seed for reproducibility when 'sample = TRUE'. This argument has no effect when 'sample = FALSE', as randomness is handled by the model's inference engine. Defaults to 0.

shape

A numeric vector. When sample=FALSE (model building), this is used with ‘.expand(shape)' to set the distribution’s batch shape. When sample=TRUE (direct sampling), this is used as 'sample_shape' to draw a raw JAX array of the given shape.

event

The number of batch dimensions to reinterpret as event dimensions (used in model building).

create_obj

Logical. If 'TRUE', returns the raw BI distribution object instead of creating a sample site.

to_jax

Boolean. Indicates whether to return a JAX array or not.

Value

- When sample=FALSE, a BI right-truncated distribution object (for model building).

- When sample=TRUE, a JAX array of samples drawn from the right-truncated distribution (for direct sampling).

- When create_obj=TRUE, the raw BI distribution object (for advanced use cases).

Examples


library(BayesForge)
m=importBF(platform='cpu')
bf.dist.right_truncated_distribution(
base_dist = bf.dist.normal(0,1, create_obj = TRUE),
high = 10,
sample = TRUE)


BayesForge documentation built on June 9, 2026, 1:09 a.m.