R/bijectors.R
tfb_correlation_cholesky.Rd
This bijector is a mapping between R^{n}
and the n
-dimensional manifold of
Cholesky-space correlation matrices embedded in R^{m^2}
, where n
is the
(m - 1)
th triangular number; i.e. n = 1 + 2 + ... + (m - 1)
.
tfb_correlation_cholesky(validate_args = FALSE, name = "correlation_cholesky")
validate_args | Logical, default FALSE. Whether to validate input with asserts. If validate_args is FALSE, and the inputs are invalid, correct behavior is not guaranteed. |
---|---|
name | name prefixed to Ops created by this class. |
a bijector instance.
Mathematical Details
The image of unconstrained reals under the CorrelationCholesky
bijector is
the set of correlation matrices which are positive definite.
A correlation matrix
can be characterized as a symmetric positive semidefinite matrix with 1s on
the main diagonal. However, the correlation matrix is positive definite if no
component can be expressed as a linear combination of the other components.
For a lower triangular matrix L
to be a valid Cholesky-factor of a positive
definite correlation matrix, it is necessary and sufficient that each row of
L
have unit Euclidean norm. To see this, observe that if L_i
is the
i
th row of the Cholesky factor corresponding to the correlation matrix R
,
then the i
th diagonal entry of R
satisfies:
1 = R_i,i = L_i . L_i = ||L_i||^2
where '.' is the dot product of vectors and ||...||
denotes the Euclidean
norm. Furthermore, observe that R_i,j
lies in the interval [-1, 1]
. By the
Cauchy-Schwarz inequality:
|R_i,j| = |L_i . L_j| <= ||L_i|| ||L_j|| = 1
This is a consequence of the fact that R
is symmetric positive definite with
1s on the main diagonal.
The LKJ distribution with input_output_cholesky=TRUE
generates samples from
(and computes log-densities on) the set of Cholesky factors of positive
definite correlation matrices. The CorrelationCholesky
bijector provides
a bijective mapping from unconstrained reals to the support of the LKJ
distribution.
Stan Manual. Section 24.2. Cholesky LKJ Correlation Distribution.
Daniel Lewandowski, Dorota Kurowicka, and Harry Joe, "Generating random correlation matrices based on vines and extended onion method," Journal of Multivariate Analysis 100 (2009), pp 1989-2001.
For usage examples see tfb_forward()
, tfb_inverse()
, tfb_inverse_log_det_jacobian()
.
Other bijectors:
tfb_absolute_value()
,
tfb_affine_linear_operator()
,
tfb_affine_scalar()
,
tfb_affine()
,
tfb_ascending()
,
tfb_batch_normalization()
,
tfb_blockwise()
,
tfb_chain()
,
tfb_cholesky_outer_product()
,
tfb_cholesky_to_inv_cholesky()
,
tfb_cumsum()
,
tfb_discrete_cosine_transform()
,
tfb_expm1()
,
tfb_exp()
,
tfb_ffjord()
,
tfb_fill_scale_tri_l()
,
tfb_fill_triangular()
,
tfb_glow()
,
tfb_gompertz_cdf()
,
tfb_gumbel_cdf()
,
tfb_gumbel()
,
tfb_identity()
,
tfb_inline()
,
tfb_invert()
,
tfb_iterated_sigmoid_centered()
,
tfb_kumaraswamy_cdf()
,
tfb_kumaraswamy()
,
tfb_lambert_w_tail()
,
tfb_masked_autoregressive_default_template()
,
tfb_masked_autoregressive_flow()
,
tfb_masked_dense()
,
tfb_matrix_inverse_tri_l()
,
tfb_matvec_lu()
,
tfb_normal_cdf()
,
tfb_ordered()
,
tfb_pad()
,
tfb_permute()
,
tfb_power_transform()
,
tfb_rational_quadratic_spline()
,
tfb_rayleigh_cdf()
,
tfb_real_nvp_default_template()
,
tfb_real_nvp()
,
tfb_reciprocal()
,
tfb_reshape()
,
tfb_scale_matvec_diag()
,
tfb_scale_matvec_linear_operator()
,
tfb_scale_matvec_lu()
,
tfb_scale_matvec_tri_l()
,
tfb_scale_tri_l()
,
tfb_scale()
,
tfb_shifted_gompertz_cdf()
,
tfb_shift()
,
tfb_sigmoid()
,
tfb_sinh_arcsinh()
,
tfb_sinh()
,
tfb_softmax_centered()
,
tfb_softplus()
,
tfb_softsign()
,
tfb_split()
,
tfb_square()
,
tfb_tanh()
,
tfb_transform_diagonal()
,
tfb_transpose()
,
tfb_weibull_cdf()
,
tfb_weibull()