tfd_joint_distribution_sequential {tfprobability} | R Documentation |
Joint distribution parameterized by distribution-making functions
Description
This distribution enables both sampling and joint probability computation from a single model specification.
Usage
tfd_joint_distribution_sequential(model, validate_args = FALSE, name = NULL)
Arguments
model |
list of either |
validate_args |
Logical, default FALSE. When TRUE distribution parameters are checked for validity despite possibly degrading runtime performance. When FALSE invalid inputs may silently render incorrect outputs. Default value: FALSE. |
name |
name prefixed to Ops created by this class. |
Details
A joint distribution is a collection of possibly interdependent distributions.
Like tf$keras$Sequential
, the JointDistributionSequential
can be specified
via a list
of functions (each responsible for making a
tfp$distributions$Distribution
-like instance). Unlike
tf$keras$Sequential
, each function can depend on the output of all previous
elements rather than only the immediately previous.
Mathematical Details
The JointDistributionSequential
implements the chain rule of probability.
That is, the probability function of a length-d
vector x
is,
p(x) = prod{ p(x[i] | x[:i]) : i = 0, ..., (d - 1) }
The JointDistributionSequential
is parameterized by a list
comprised of
either:
-
tfp$distributions$Distribution
-like instances or, -
callable
s which return atfp$distributions$Distribution
-like instance. Eachlist
element implements thei
-th full conditional distribution,p(x[i] | x[:i])
. The "conditioned on" elements are represented by thecallable
's required arguments. Directly providing aDistribution
-like nstance is a convenience and is semantically identical a zero argumentcallable
. Denote thei
-thcallable
s non-default arguments asargs[i]
. Since thecallable
is the conditional manifest,0 <= len(args[i]) <= i - 1
. Whenlen(args[i]) < i - 1
, thecallable
only depends on a subset of the previous distributions, specifically those at indexes:range(i - 1, i - 1 - num_args[i], -1)
.
Name resolution: The names of
JointDistributionSequentialcomponents are defined by explicit
name arguments passed to distributions (
tfd.Normal(0., 1., name='x')) and/or by the argument names in distribution-making functions (
lambda x: tfd.Normal(x., 1.)). Both approaches may be used in the same distribution, as long as they are consistent; referring to a single component by multiple names will raise a
ValueError'. Unnamed components will be assigned a dummy name.
Value
a distribution instance.
See Also
For usage examples see e.g. tfd_sample()
, tfd_log_prob()
, tfd_mean()
.
Other distributions:
tfd_autoregressive()
,
tfd_batch_reshape()
,
tfd_bates()
,
tfd_bernoulli()
,
tfd_beta_binomial()
,
tfd_beta()
,
tfd_binomial()
,
tfd_categorical()
,
tfd_cauchy()
,
tfd_chi2()
,
tfd_chi()
,
tfd_cholesky_lkj()
,
tfd_continuous_bernoulli()
,
tfd_deterministic()
,
tfd_dirichlet_multinomial()
,
tfd_dirichlet()
,
tfd_empirical()
,
tfd_exp_gamma()
,
tfd_exp_inverse_gamma()
,
tfd_exponential()
,
tfd_gamma_gamma()
,
tfd_gamma()
,
tfd_gaussian_process_regression_model()
,
tfd_gaussian_process()
,
tfd_generalized_normal()
,
tfd_geometric()
,
tfd_gumbel()
,
tfd_half_cauchy()
,
tfd_half_normal()
,
tfd_hidden_markov_model()
,
tfd_horseshoe()
,
tfd_independent()
,
tfd_inverse_gamma()
,
tfd_inverse_gaussian()
,
tfd_johnson_s_u()
,
tfd_joint_distribution_named_auto_batched()
,
tfd_joint_distribution_named()
,
tfd_joint_distribution_sequential_auto_batched()
,
tfd_kumaraswamy()
,
tfd_laplace()
,
tfd_linear_gaussian_state_space_model()
,
tfd_lkj()
,
tfd_log_logistic()
,
tfd_log_normal()
,
tfd_logistic()
,
tfd_mixture_same_family()
,
tfd_mixture()
,
tfd_multinomial()
,
tfd_multivariate_normal_diag_plus_low_rank()
,
tfd_multivariate_normal_diag()
,
tfd_multivariate_normal_full_covariance()
,
tfd_multivariate_normal_linear_operator()
,
tfd_multivariate_normal_tri_l()
,
tfd_multivariate_student_t_linear_operator()
,
tfd_negative_binomial()
,
tfd_normal()
,
tfd_one_hot_categorical()
,
tfd_pareto()
,
tfd_pixel_cnn()
,
tfd_poisson_log_normal_quadrature_compound()
,
tfd_poisson()
,
tfd_power_spherical()
,
tfd_probit_bernoulli()
,
tfd_quantized()
,
tfd_relaxed_bernoulli()
,
tfd_relaxed_one_hot_categorical()
,
tfd_sample_distribution()
,
tfd_sinh_arcsinh()
,
tfd_skellam()
,
tfd_spherical_uniform()
,
tfd_student_t_process()
,
tfd_student_t()
,
tfd_transformed_distribution()
,
tfd_triangular()
,
tfd_truncated_cauchy()
,
tfd_truncated_normal()
,
tfd_uniform()
,
tfd_variational_gaussian_process()
,
tfd_vector_diffeomixture()
,
tfd_vector_exponential_diag()
,
tfd_vector_exponential_linear_operator()
,
tfd_vector_laplace_diag()
,
tfd_vector_laplace_linear_operator()
,
tfd_vector_sinh_arcsinh_diag()
,
tfd_von_mises_fisher()
,
tfd_von_mises()
,
tfd_weibull()
,
tfd_wishart_linear_operator()
,
tfd_wishart_tri_l()
,
tfd_wishart()
,
tfd_zipf()