pymc.logprob.conditional_logp#
- pymc.logprob.conditional_logp(rv_values, warn_rvs=None, ir_rewriter=None, extra_rewrites=None, **kwargs)[源代码]#
创建一个变量与条件对数概率之间的映射,使得它们的和为其联合对数概率。
rv_values 字典指定了一个由随机变量对及其相应的测度空间输入参数定义的联合概率图
例如,考虑以下内容
import pytensor.tensor as pt sigma2_rv = pt.random.invgamma(0.5, 0.5) Y_rv = pt.random.normal(0, pt.sqrt(sigma2_rv))
Y_rv
的这个图等价于以下层次模型:\[\begin{split}\sigma^2 \sim& \operatorname{InvGamma}(0.5, 0.5) \\ Y \sim& \operatorname{N}(0, \sigma^2)\end{split}\]如果我们为
Y_rv
创建一个值变量,即y_vv = pt.scalar("y")
,那么conditional_logp({Y_rv: y_vv})
的图等价于条件对数概率 \(\log p_{Y \mid \sigma^2}(y \mid s^2)\),其中sigma2_rv
是随机的。如果我们为
sigma2_rv
指定一个值变量,即s2_vv = pt.scalar("s2")
,那么conditional_logp({Y_rv: y_vv, sigma2_rv: s2_vv})
将产生这两个变量的条件对数概率。这两个项的和给出了它们的联合对数概率。\[\log p_{Y, \sigma^2}(y, s^2) = \log p_{Y \mid \sigma^2}(y \mid s^2) + \log p_{\sigma^2}(s^2)\]- 参数:
- 返回:
- values_to_logps:
dict
一个
dict
,它将每个值变量映射到从相应 RandomVariable 派生的条件对数概率项。
- values_to_logps: