For skewness in (-inf, inf) and tailweight in (0, inf), this transformation is a diffeomorphism of the real line (-inf, inf). The inverse transform is X = g^{-1}(Y) = Sinh( ArcSinh(Y) / tailweight - skewness ). The SinhArcsinh transformation of the Normal is described in Sinh-arcsinh distributions

tfb_sinh_arcsinh(
  skewness = NULL,
  tailweight = NULL,
  validate_args = FALSE,
  name = "SinhArcsinh"
)

Arguments

skewness

Skewness parameter. Float-type Tensor. Default is 0 of type float32.

tailweight

Tailweight parameter. Positive Tensor of same dtype as skewness and broadcastable shape. Default is 1 of type float32.

validate_args

Logical, default FALSE. Whether to validate input with asserts. If validate_args is FALSE, and the inputs are invalid, correct behavior is not guaranteed.

name

name prefixed to Ops created by this class.

Value

a bijector instance.

Details

This Bijector allows a similar transformation of any distribution supported on (-inf, inf).

Meaning of the parameters

  • If skewness = 0 and tailweight = 1, this transform is the identity.

  • Positive (negative) skewness leads to positive (negative) skew.

  • positive skew means, for unimodal X centered at zero, the mode of Y is "tilted" to the right.

  • positive skew means positive values of Y become more likely, and negative values become less likely.

  • Larger (smaller) tailweight leads to fatter (thinner) tails.

  • Fatter tails mean larger values of |Y| become more likely.

  • If X is a unit Normal, tailweight < 1 leads to a distribution that is "flat" around Y = 0, and a very steep drop-off in the tails.

  • If X is a unit Normal, tailweight > 1 leads to a distribution more peaked at the mode with heavier tails. To see the argument about the tails, note that for |X| >> 1 and |X| >> (|skewness| * tailweight)tailweight, we have Y approx 0.5 Xtailweight e**(sign(X) skewness * tailweight).

See also