| 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, -
callables which return atfp$distributions$Distribution-like instance. Eachlistelement 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-thcallables non-default arguments asargs[i]. Since thecallableis the conditional manifest,0 <= len(args[i]) <= i - 1. Whenlen(args[i]) < i - 1, thecallableonly 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 explicitname 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()