pymc.HalfNormal#

class pymc.HalfNormal(name, *args, rng=None, dims=None, initval=None, observed=None, total_size=None, transform=UNSET, **kwargs)[源代码]#

半正态对数似然。

此分布的pdf是

\[ \begin{align}\begin{aligned}f(x \mid \tau) = \sqrt{\frac{2\tau}{\pi}} \exp\left(\frac{-x^2 \tau}{2}\right)\\f(x \mid \sigma) = \sqrt{\frac{2}{\pi\sigma^2}} \exp\left(\frac{-x^2}{2\sigma^2}\right)\end{aligned}\end{align} \]

备注

参数 sigma/tau (\(\sigma\)/\(\tau\)) 指的是展开的正态分布的标准差/精度,对于半正态分布的标准差,请参见下文。对于半正态分布,它们只是尺度参数的两种参数化形式 \(\sigma^2 \equiv \frac{1}{\tau}\)

(Source code, png, hires.png, pdf)

../../../_images/pymc-HalfNormal-1.png

支持

\(x \in [0, \infty)\)

均值

\(\sqrt{\dfrac{2}{\tau \pi}}\)\(\dfrac{\sigma \sqrt{2}}{\sqrt{\pi}}\)

方差

\(\dfrac{1}{\tau}\left(1 - \dfrac{2}{\pi}\right)\)\(\sigma^2\left(1 - \dfrac{2}{\pi}\right)\)

参数:
sigma : 类似张量float, 可选tensor_like 的 python:float, 可选

尺度参数 \(\sigma\) (sigma > 0)(仅在未指定 tau 时需要)。默认为 1。

tau : 类似张量float, 可选tensor_like 的 python:float, 可选

精度 \(\tau\) (tau > 0) (仅在未指定 sigma 时需要)。默认值为 1。

示例

with pm.Model():
    x = pm.HalfNormal('x', sigma=10)

with pm.Model():
    x = pm.HalfNormal('x', tau=1/15)

方法

HalfNormal.dist([sigma, tau])

创建一个与 cls 分布相对应的张量变量。