gluonts.mx.distribution.bijection 模块#

class gluonts.mx.distribution.bijection.AffineTransformation(loc: Optional[Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]] = None, scale: Optional[Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]] = None)[source]#

基类: gluonts.mx.distribution.bijection.Bijection

包含缩放和平移的仿射变换。

如果指定了平移参数 loc,缩放参数为 scale,则此变换计算 y = scale * x + loc,其中所有操作都是按元素进行的。

参数
  • loc – 平移参数。如果未指定或为 None,则为零。

  • scale – 缩放参数。如果未指定或为 None,则为一。

property event_dim: int#
f(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

正向变换 x -> y。

f_inv(y: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

逆向变换 y -> x。

log_abs_det_jac(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], y: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

接收 (x, y) 并返回 Jacobian 行列式绝对值的对数。

\[\log |dy/dx|\]

请注意,这是正向变换 x -> y 的 Jacobian 行列式。

property sign: Union[float, mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]#

返回 Jacobian 行列式的符号。

class gluonts.mx.distribution.bijection.Bijection[source]#

基类: object

双射变换。

通过正向变换(由 f 方法计算)和逆向变换(f_inv)来定义。

property event_dim: int#
f(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

正向变换 x -> y。

f_inv(y: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

逆向变换 y -> x。

inverse_bijection() gluonts.mx.distribution.bijection.Bijection[source]#

返回表示此变换逆向的 Bijection 实例。

log_abs_det_jac(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], y: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

接收 (x, y) 并返回 Jacobian 行列式绝对值的对数。

\[\log |dy/dx|\]

请注意,这是正向变换 x -> y 的 Jacobian 行列式。

property sign: Union[float, mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]#

返回 Jacobian 行列式的符号。

class gluonts.mx.distribution.bijection.BijectionHybridBlock(prefix=None, params=None)[source]#

基类: mxnet.gluon.block.HybridBlock, gluonts.mx.distribution.bijection.Bijection

允许 Bijection 具有参数。

class gluonts.mx.distribution.bijection.ComposedBijection(bijections: Optional[List[gluonts.mx.distribution.bijection.Bijection]] = None)[source]#

基类: gluonts.mx.distribution.bijection.Bijection

封装一系列双射,并实现与其组合相关的功能。

property event_dim#
property event_shape#
f(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

计算双射组合的正向变换。

参数

x – 用于正向变换的输入 Tensor。

返回值

x 通过双射正向组合的变换结果

返回值类型

Tensor

f_inv(y: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

计算双射组合的逆向变换。

参数

y – 用于逆向函数的输入 Tensor。

返回值

y 通过双射逆向组合的变换结果

返回值类型

Tensor

log_abs_det_jac(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], y: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

对应于组合双射的 Jacobian 行列式绝对值的对数。

参数
  • x – 正向变换的输入或逆向变换的输出

  • y – 正向变换的输出或逆向变换的输入

返回值

当 x 作为输入或 y 作为输出时计算的 Jacobian

返回值类型

Tensor

class gluonts.mx.distribution.bijection.ComposedBijectionHybridBlock(bij_blocks: Optional[List[gluonts.mx.distribution.bijection.Bijection]] = None, *args, **kwargs)[source]#

基类: gluonts.mx.distribution.bijection.BijectionHybridBlock, gluonts.mx.distribution.bijection.ComposedBijection

允许 ComposedBijection 对象具有参数。

class gluonts.mx.distribution.bijection.InverseBijection(bijection: gluonts.mx.distribution.bijection.Bijection)[source]#

基类: gluonts.mx.distribution.bijection.Bijection

给定变换的逆向。

这是一个围绕双射变换的包装器,它反转了 ff_inv 的作用,并相应地修改了其他相关方法。

参数

bijection – 要进行逆向变换的变换。

property event_dim: int#
f(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

正向变换 x -> y。

f_inv(y: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

逆向变换 y -> x。

inverse_bijection() gluonts.mx.distribution.bijection.Bijection[source]#

返回表示此变换逆向的 Bijection 实例。

log_abs_det_jac(x: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], y: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

接收 (x, y) 并返回 Jacobian 行列式绝对值的对数。

\[\log |dy/dx|\]

请注意,这是正向变换 x -> y 的 Jacobian 行列式。

property sign: Union[float, mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]#

返回 Jacobian 行列式的符号。