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
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 X**tailweight e**(sign(X) skewness * tailweight).
Args
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
Python bool indicating whether arguments should be
checked for correctness.
name
Python str name given to ops managed by this object.
Attributes
dtype
dtype of Tensors transformable by this distribution.
forward_min_event_ndims
Returns the minimal number of dimensions bijector.forward operates on.
graph_parents
Returns this Bijector's graph_parents as a Python list.
inverse_min_event_ndims
Returns the minimal number of dimensions bijector.inverse operates on.
is_constant_jacobian
Returns true iff the Jacobian matrix is not a function of x.
name
Returns the string name of this Bijector.
skewness
The skewness in: Y = Sinh((Arcsinh(X) + skewness) * tailweight).
tailweight
The tailweight in: Y = Sinh((Arcsinh(X) + skewness) * tailweight).
validate_args
Returns True if Tensor arguments will be validated.
Tensor. The input to the "forward" Jacobian determinant evaluation.
event_ndims
Number of dimensions in the probabilistic events being
transformed. Must be greater than or equal to
self.forward_min_event_ndims. The result is summed over the final
dimensions to produce a scalar Jacobian determinant for each event,
i.e. it has shape x.shape.ndims - event_ndims dimensions.
name
The name to give this op.
Returns
Tensor, if this bijector is injective.
If not injective this is not implemented.
Raises
TypeError
if self.dtype is specified and y.dtype is not
self.dtype.
NotImplementedError
if neither _forward_log_det_jacobian
nor {_inverse, _inverse_log_det_jacobian} are implemented, or
this is a non-injective bijector.
Note that forward_log_det_jacobian is the negative of this function,
evaluated at g^{-1}(y).
Args
y
Tensor. The input to the "inverse" Jacobian determinant evaluation.
event_ndims
Number of dimensions in the probabilistic events being
transformed. Must be greater than or equal to
self.inverse_min_event_ndims. The result is summed over the final
dimensions to produce a scalar Jacobian determinant for each event,
i.e. it has shape y.shape.ndims - event_ndims dimensions.
name
The name to give this op.
Returns
Tensor, if this bijector is injective.
If not injective, returns the tuple of local log det
Jacobians, log(det(Dg_i^{-1}(y))), where g_i is the restriction
of g to the ith partition Di.
Raises
TypeError
if self.dtype is specified and y.dtype is not
self.dtype.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2020-10-01 UTC."],[],[]]