# tfc.distributions.estimate_tails

Estimates approximate tail quantiles.

This runs a simple Adam iteration to determine tail quantiles. The objective is to find an `x` such that:

``````func(x) == target
``````

For instance, if `func` is a CDF and the target is a quantile value, this would find the approximate location of that quantile. Note that `func` is assumed to be monotonic. When each tail estimate has passed the optimal value of `x`, the algorithm does 100 additional iterations and then stops.

This operation is vectorized. The tensor shape of `x` is given by `shape`, and `target` must have a shape that is broadcastable to the output of `func(x)`.

`func` A callable that computes cumulative distribution function, survival function, or similar.
`target` The desired target value.
`shape` The shape of the `tf.Tensor` representing `x`.
`dtype` The `tf.dtypes.Dtype` of the computation (and the return value).

A `tf.Tensor` representing the solution (`x`).

[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]