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)

Properties

Public properties

object allow_nan_stats get;

object allow_nan_stats_dyn get;

TensorShape batch_shape get;

object batch_shape_dyn get;

object df get;

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

object df_dyn get;

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

object dtype get;

object dtype_dyn get;

TensorShape event_shape get;

object event_shape_dyn get;

object loc get;

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

object loc_dyn get;

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

string name get;

object name_dyn get;

IDictionary<object, object> parameters get;

object parameters_dyn get;

object PythonObject get;

object reparameterization_type get;

object reparameterization_type_dyn get;

object scale get;

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

object scale_dyn get;

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

object validate_args get;

object validate_args_dyn get;