StudentT

class paddle.distribution. StudentT ( df, loc, scale, name=None )

学生 t 分布

数学公式:

\[pdf(x; \nu, \mu, \sigma) = \frac{\Gamma[(\nu+1)/2]}{\sigma\sqrt{\nu\pi}\Gamma(\nu/2)[1+(\frac{x-\mu}{\sigma})^2/\nu]^{(1+\nu)/2}}\]

上面的数学公式中:

  • \(df = \nu\):自由度;

  • \(loc = \mu\):平移变换参数;

  • \(scale = \sigma\):缩放变换参数;

  • \(\Gamma(\cdot)\):gamma 函数;

参数

  • df (float|Tensor) - 学生 t 分布的自由度,需大于 0。若输入类型是 float, df 会被转换成数据类型为 paddle 全局默认数据类型的 1-D tensor。若输入类型是 tensor,则支持的数据类型有 float32 或 float64。

  • loc (float|Tensor) - 学生 t 分布的平移变换参数。若输入类型是 float, loc 会被转换成数据类型为 paddle 全局默认数据类型的 1-D tensor。若输入类型是 tensor,则支持的数据类型有 float32 或 float64。

  • scale (float|Tensor) - 学生 t 分布的缩放变换参数,需大于 0。若输入类型是 float, scale 会被转换成数据类型为 paddle 全局默认数据类型的 1-D tensor。若输入类型是 tensor,则支持的数据类型有 float32 或 float64。

  • name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

代码示例

COPY-FROM: paddle.distribution.StudentT

属性

mean

学生 t 分布的均值

返回

Tensor,均值

variance

学生 t 分布的方差

返回

Tensor,方差

方法

prob(value)

计算 value 的概率。

参数

  • value (Tensor) - 待计算值。

返回

Tensor,value 的概率。数据类型与 df 相同。

log_prob(value)

计算 value 的对数概率。

参数

  • value (Tensor) - 待计算值。

返回

Tensor,value 的对数概率。数据类型与 df 相同。

sample()

从学生 t 分布中生成满足特定形状的样本数据。最终生成样本形状为 shape+batch_shape

参数

  • shape (Sequence[int],可选):采样次数。

返回

Tensor:样本数据。其维度为 \(\text{sample shape} + \text{batch shape}\)

entropy()

计算学生 t 分布的信息熵。

\[H = \log(\frac{\Gamma(\nu/2)\Gamma(1/2) \sigma \sqrt{\nu}}{\Gamma[(1+\nu)/2]}) + \frac{(1+\nu)}{2} \cdot \{\psi[(1+\nu)/2] - \psi(\nu/2)\}\]

上面的数学公式中:

  • \(\nu\):自由度;

  • \(\Gamma(\cdot)\):gamma 函数;

  • \(\psi(\cdot)\):digamma 函数;

返回

学生 t 分布的信息熵,数据类型与 df 相同。