glearn.priors.Prior.log_pdf_jacobian#
- Prior.log_pdf_jacobian(hyperparam)#
Jacobian of the logarithm of the probability density function of the prior distribution.
- Parameters:
- xfloat or array_like[float]
Input hyperparameter or an array of hyperparameters.
- Returns:
- jacfloat or array_like[float]
The Jacobian of the logarithm of probability density function of the input hyperparameter(s).
Notes
Multiple hyperparameters:
Given an array of hyperparameters \(\boldsymbol{\theta} = (\theta_, \dots, \theta_n)\), this function returns the Jacobian vector \(\boldsymbol{J}\) with the components \(J_i\) as
\[J_i= \frac{\partial}{\partial \theta_i} \log p(\theta_i) = \frac{1}{p(\theta_i)} \frac{\partial p(\theta_i)}{\partial \theta_i}.\]Using Log Scale:
If the attribute
use_log_scale
is True, it is assumed that the input argument \(\theta\) is the log of the hyperparameter, so to convert back to the original hyperparameter, the transformation below is performed\[\theta \gets 10^{\theta}.\]As a result, the Jacobian is transformed by
\[J_i \gets \log_e(10) \theta_i J_i.\]Examples
Create the inverse Gamma distribution with the shape parameter \(\alpha=4\) and rate parameter \(\beta=2\).
>>> from glearn import priors >>> prior = priors.InverseGamma(4, 2) >>> # Evaluate the Jacobian of the log-PDF >>> prior.log_pdf_jacobian(t) array([ -6.90775528, -10.05664278, -11.05240845])