This distribution is useful for regarding a collection of independent, non-identical distributions as a single random variable. For example, the Independent distribution composed of a collection of Bernoulli distributions might define a distribution over an image (where each Bernoulli is a distribution over each pixel).

tfd_independent(distribution, reinterpreted_batch_ndims = NULL,
validate_args = FALSE, name = paste0("Independent",

## Value

a distribution instance.

## Details

More precisely, a collection of B (independent) E-variate random variables (rv) {X_1, ..., X_B}, can be regarded as a [B, E]-variate random variable (X_1, ..., X_B) with probability p(x_1, ..., x_B) = p_1(x_1) * ... * p_B(x_B) where p_b(X_b) is the probability of the b-th rv. More generally B, E can be arbitrary shapes. Similarly, the Independent distribution specifies a distribution over [B, E]-shaped events. It operates by reinterpreting the rightmost batch dims as part of the event dimensions. The reinterpreted_batch_ndims parameter controls the number of batch dims which are absorbed as event dims; reinterpreted_batch_ndims <= len(batch_shape). For example, the log_prob function entails a reduce_sum over the rightmost reinterpreted_batch_ndims after calling the base distribution's log_prob. In other words, since the batch dimension(s) index independent distributions, the resultant multivariate will have independent components.

Mathematical Details

The probability function is,

prob(x; reinterpreted_batch_ndims) =
tf.reduce_prod(dist.prob(x), axis=-1-range(reinterpreted_batch_ndims))


For usage examples see e.g. tfd_sample(), tfd_log_prob(), tfd_mean().
Other distributions: tfd_autoregressive, tfd_batch_reshape, tfd_bernoulli, tfd_beta, tfd_binomial, tfd_categorical, tfd_cauchy, tfd_chi2, tfd_chi, tfd_cholesky_lkj, tfd_deterministic, tfd_dirichlet_multinomial, tfd_dirichlet, tfd_empirical, tfd_exponential, tfd_gamma_gamma, tfd_gamma, tfd_gaussian_process_regression_model, tfd_gaussian_process, tfd_geometric, tfd_gumbel, tfd_half_cauchy, tfd_half_normal, tfd_hidden_markov_model, tfd_horseshoe, tfd_inverse_gamma, tfd_inverse_gaussian, tfd_joint_distribution_named, tfd_joint_distribution_sequential, tfd_kumaraswamy, tfd_laplace, tfd_linear_gaussian_state_space_model, tfd_lkj, 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_probit_bernoulli, tfd_quantized, tfd_relaxed_bernoulli, tfd_relaxed_one_hot_categorical, tfd_sample_distribution, tfd_sinh_arcsinh, tfd_student_t_process, tfd_student_t, tfd_transformed_distribution, tfd_triangular, 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_wishart_linear_operator, tfd_wishart_tri_l, tfd_wishart, tfd_zipf