LostTech.TensorFlow : API Documentation

Type StudentT

Namespace tensorflow.distributions

Parent Distribution

Interfaces IStudentT

Student's t-distribution.

This distribution has parameters: degree of freedom `df`, location `loc`, and `scale`.

#### Mathematical details

The probability density function (pdf) is,

```none pdf(x; df, mu, sigma) = (1 + y**2 / df)**(-0.5 (df + 1)) / Z where, y = (x - mu) / sigma Z = abs(sigma) sqrt(df pi) Gamma(0.5 df) / Gamma(0.5 (df + 1)) ```

where: * `loc = mu`, * `scale = sigma`, and, * `Z` is the normalization constant, and, * `Gamma` is the [gamma function]( https://en.wikipedia.org/wiki/Gamma_function).

The StudentT distribution is a member of the [location-scale family]( https://en.wikipedia.org/wiki/Location-scale_family), i.e., it can be constructed as,

```none X ~ StudentT(df, loc=0, scale=1) Y = loc + scale * X ```

Notice that `scale` has semantics more similar to standard deviation than variance. However it is not actually the std. deviation; the Student's t-distribution std. dev. is `scale sqrt(df / (df - 2))` when `df > 2`.

Samples of this distribution are reparameterized (pathwise differentiable). The derivatives are computed using the approach described in the paper

[Michael Figurnov, Shakir Mohamed, Andriy Mnih. Implicit Reparameterization Gradients, 2018](https://arxiv.org/abs/1805.08498)

#### Examples

Examples of initialization of one or a batch of distributions. Arguments are broadcast when possible. Compute the gradients of samples w.r.t. the parameters:
Show Example
```import tensorflow_probability as tfp
tfd = tfp.distributions  # Define a single scalar Student t distribution.
single_dist = tfd.StudentT(df=3)  # Evaluate the pdf at 1, returning a scalar Tensor.
single_dist.prob(1.)  # Define a batch of two scalar valued Student t's.
# The first has degrees of freedom 2, mean 1, and scale 11.
# The second 3, 2 and 22.
multi_dist = tfd.StudentT(df=[2, 3], loc=[1, 2.], scale=[11, 22.])  # Evaluate the pdf of the first distribution on 0, and the second on 1.5,
# returning a length two tensor.
multi_dist.prob([0, 1.5])  # Get 3 samples, returning a 3 x 2 tensor.
multi_dist.sample(3) ```

Public properties

objectdf get;

Degrees of freedom in these Student's t distribution(s).

objectdf_dyn get;

Degrees of freedom in these Student's t distribution(s).

objectloc get;

Locations of these Student's t distribution(s).

objectloc_dyn get;

Locations of these Student's t distribution(s).

objectscale get;

Scaling factors of these Student's t distribution(s).

objectscale_dyn get;

Scaling factors of these Student's t distribution(s).