Computes the KL divergence \(D_{KL}(p^* \| p_{a,b})\) between a target PMF and the induced marginal PMF of \(K_J\) under \(\alpha \sim Gamma(a, b)\).
Arguments
- target_pmf
Numeric vector; target PMF for K_J. Can have length J (support k=1,...,J) or J+1 (support k=0,...,J, where k=0 is ignored).
- a
Numeric; shape parameter of Gamma hyperprior (a > 0).
- b
Numeric; rate parameter of Gamma hyperprior (b > 0).
- J
Integer; sample size.
- M
Integer; number of quadrature nodes. Default: 80.
Examples
J <- 50
target <- rep(1/J, J) # uniform target over k=1,...,J
kl_divergence_K(target, a = 2, b = 1, J = J)
#> [1] 10.49288