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).