class_docstr: The SinhArcsinh transformation of a distribution on `(-inf, inf)`.
  
  This distribution models a random variable, making use of
  a `SinhArcsinh` transformation (which has adjustable tailweight and skew),
  a rescaling, and a shift.
  
  The `SinhArcsinh` transformation of the Normal is described in great depth in
  [Sinh-arcsinh distributions](https://www.jstor.org/stable/27798865).
  Here we use a slightly different parameterization, in terms of `tailweight`
  and `skewness`.  Additionally we allow for distributions other than Normal,
  and control over `scale` as well as a "shift" parameter `loc`.
  
  #### Mathematical Details
  
  Given random variable `Z`, we define the SinhArcsinh
  transformation of `Z`, `Y`, parameterized by
  `(loc, scale, skewness, tailweight)`, via the relation:
  
  ```
  Y := loc + scale * F(Z)
  F(Z) := Sinh( (Arcsinh(Z) + skewness) * tailweight ) * (2 / F_0(2))
  F_0(Z) := Sinh( Arcsinh(Z) * tailweight )
  ```
  
  This distribution is similar to the location-scale transformation
  `L(Z) := loc + scale * Z` in the following ways:
  
  * If `skewness = 0` and `tailweight = 1` (the defaults), `F(Z) = Z`, and then
    `Y = L(Z)` exactly.
  * `loc` is used in both to shift the result by a constant factor.
  * The multiplication of `scale` by `2 / F_0(2)` ensures that if `skewness = 0`
    `P[Y - loc <= 2 * scale] = P[L(Z) - loc <= 2 * scale]`.
    Thus it can be said that the weights in the tails of `Y` and `L(Z)` beyond
    `loc + 2 * scale` are the same.
  
  This distribution is different than `loc + scale * Z` due to the
  reshaping done by `F`:
  
  * Positive (negative) `skewness` leads to positive (negative) skew.
    * positive skew means, the mode of `F(Z)` is "tilted" to the right.
    * positive skew means positive values of `F(Z)` become more likely, and
      negative values become less likely.
  * Larger (smaller) `tailweight` leads to fatter (thinner) tails.
    * Fatter tails mean larger values of `|F(Z)|` become more likely.
    * `tailweight < 1` leads to a distribution that is "flat" around `Y = loc`,
      and a very steep drop-off in the tails.
    * `tailweight > 1` leads to a distribution more peaked at the mode with
      heavier tails.
  
  To see the argument about the tails, note that for `|Z| >> 1` and
  `|Z| >> (|skewness| * tailweight)**tailweight`, we have
  `Y approx 0.5 Z**tailweight e**(sign(Z) skewness * tailweight)`.
  
  To see the argument regarding multiplying `scale` by `2 / F_0(2)`,
  
  ```
  P[(Y - loc) / scale <= 2] = P[F(Z) * (2 / F_0(2)) <= 2]
                            = P[F(Z) <= F_0(2)]
                            = P[Z <= 2]  (if F = F_0).
  ```
class_docstr_tok: ["The","SinhArcsinh","transformation","of","a","distribution","on","`","(","-inf",",","inf",")","`",".","This","distribution","models","a","random","variable",",","making","use","of","a","`","SinhArcsinh","`","transformation","(","which","has","adjustable","tailweight","and","skew",")",",","a","rescaling",",","and","a","shift",".","The","`","SinhArcsinh","`","transformation","of","the","Normal","is","described","in","great","depth","in","[","Sinh-arcsinh","distributions","]","(","https",":","\/\/www.jstor.org\/stable\/27798865",")",".","Here","we","use","a","slightly","different","parameterization",",","in","terms","of","`","tailweight","`","and","`","skewness","`",".","Additionally","we","allow","for","distributions","other","than","Normal",",","and","control","over","`","scale","`","as","well","as","a","``","shift","''","parameter","`","loc","`",".","#","#","#","#","Mathematical","Details","Given","random","variable","`","Z","`",",","we","define","the","SinhArcsinh","transformation","of","`","Z","`",",","`","Y","`",",","parameterized","by","`","(","loc",",","scale",",","skewness",",","tailweight",")","`",",","via","the","relation",":","``","`","Y",":","=","loc","+","scale","*","F","(","Z",")","F","(","Z",")",":","=","Sinh","(","(","Arcsinh","(","Z",")","+","skewness",")","*","tailweight",")","*","(","2","\/","F_0","(","2",")",")","F_0","(","Z",")",":","=","Sinh","(","Arcsinh","(","Z",")","*","tailweight",")","``","`","This","distribution","is","similar","to","the","location-scale","transformation","`","L","(","Z",")",":","=","loc","+","scale","*","Z","`","in","the","following","ways",":","*","If","`","skewness","=","0","`","and","`","tailweight","=","1","`","(","the","defaults",")",",","`","F","(","Z",")","=","Z","`",",","and","then","`","Y","=","L","(","Z",")","`","exactly",".","*","`","loc","`","is","used","in","both","to","shift","the","result","by","a","constant","factor",".","*","The","multiplication","of","`","scale","`","by","`","2","\/","F_0","(","2",")","`","ensures","that","if","`","skewness","=","0","`","`","P","[","Y","-","loc","<","=","2","*","scale","]","=","P","[","L","(","Z",")","-","loc","<","=","2","*","scale","]","`",".","Thus","it","can","be","said","that","the","weights","in","the","tails","of","`","Y","`","and","`","L","(","Z",")","`","beyond","`","loc","+","2","*","scale","`","are","the","same",".","This","distribution","is","different","than","`","loc","+","scale","*","Z","`","due","to","the","reshaping","done","by","`","F","`",":","*","Positive","(","negative",")","`","skewness","`","leads","to","positive","(","negative",")","skew",".","*","positive","skew","means",",","the","mode","of","`","F","(","Z",")","`","is","``","tilted","''","to","the","right",".","*","positive","skew","means","positive","values","of","`","F","(","Z",")","`","become","more","likely",",","and","negative","values","become","less","likely",".","*","Larger","(","smaller",")","`","tailweight","`","leads","to","fatter","(","thinner",")","tails",".","*","Fatter","tails","mean","larger","values","of","`","|F","(","Z",")","|","`","become","more","likely",".","*","`","tailweight","<","1","`","leads","to","a","distribution","that","is","``","flat","''","around","`","Y","=","loc","`",",","and","a","very","steep","drop-off","in","the","tails",".","*","`","tailweight",">","1","`","leads","to","a","distribution","more","peaked","at","the","mode","with","heavier","tails",".","To","see","the","argument","about","the","tails",",","note","that","for","`","|Z|",">",">","1","`","and","`","|Z|",">",">","(","|skewness|","*","tailweight",")","*","*","tailweight","`",",","we","have","`","Y","approx","0.5","Z","*","*","tailweight","e","*","*","(","sign","(","Z",")","skewness","*","tailweight",")","`",".","To","see","the","argument","regarding","multiplying","`","scale","`","by","`","2","\/","F_0","(","2",")","`",",","``","`","P","[","(","Y","-","loc",")","\/","scale","<","=","2","]","=","P","[","F","(","Z",")","*","(","2","\/","F_0","(","2",")",")","<","=","2","]","=","P","[","F","(","Z",")","<","=","F_0","(","2",")","]","=","P","[","Z","<","=","2","]","(","if","F","=","F_0",")",".","``","`"]
docstr: Controls the skewness.  `Skewness > 0` means right skew.
docstr_tok: ["Controls","the","skewness",".","`","Skewness",">","0","`","means","right","skew","."]
code: def skewness(self):
      """Controls the skewness.  `Skewness > 0` means right skew."""
      return self._skewness
  
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import chain
  from tensorflow_probability.python.bijectors import identity
  from tensorflow_probability.python.bijectors import scale
  from tensorflow_probability.python.bijectors import shift
  from tensorflow_probability.python.bijectors import sinh_arcsinh
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import transformed_distribution
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import tensor_util
label_desc: Use image node_id 6 for calling the SinhArcsinh obj's underlying member method code with example usage: obj.skewness() and returns: self