View source: R/multi_variate_student_t.R
| bf.dist.multivariate_student_t | R Documentation |
The Multivariate Student's t distribution is a generalization of the Student's t distribution to multiple dimensions. It is a heavy-tailed distribution that is often used to model data that is not normally distributed. The PDF of the multivariate Student's t-distribution for a random vector
x \in R^d
is given by:
f(x) = \frac{\Gamma\left(\frac{\nu + d}{2}\right)}{\Gamma\left(\frac{\nu}{2}\right) \nu^{d/2} \pi^{d/2} | \Sigma|^{1/2}}
\left(1 + \frac{1}{\nu} (x - \mu)^T \Sigma^{-1} (x - \mu)\right)^{-(\nu + d)/2}
where: *
\Gamma(\cdot)
is the Gamma function. *
\mu
is the mean vector. *
\Sigma
is the scale (covariance) matrix. *
\nu
is the degrees of freedom. *
d
is the dimensionality of
\mathbf{x}
.
bf.dist.multivariate_student_t(
df,
loc = 0,
scale_tril = py_none(),
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
)
df |
A numeric vector representing degrees of freedom, must be positive. |
loc |
A numeric vector representing the location vector (mean) of the distribution. |
scale_tril |
A numeric matrix defining the scale (lower triangular matrix). |
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 |
A logical vector. Optional boolean array 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 |
An integer representing the number of batch dimensions to reinterpret as event dimensions (used in model building). |
create_obj |
A logical value. 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. |
- When sample=FALSE, a BI Multivariate Student's t distribution object (for model building).
- When sample=TRUE, a JAX array of samples drawn from the Multivariate Student's t distribution (for direct sampling).
- When create_obj=TRUE, the raw BI distribution object (for advanced use cases).
https://num.pyro.ai/en/stable/distributions.html#multivariatestudentt
library(BayesForge)
m=importBF(platform='cpu')
bf.dist.multivariate_student_t(
df = 2,
loc = c(1.0, 0.0, -2.0),
scale_tril = chol(
matrix(c( 2.0, 0.7, -0.3, 0.7, 1.0, 0.5, -0.3, 0.5, 1.5),
nrow = 3, byrow = TRUE)),
sample = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.