scipy.stats.multivariate_t¶
- scipy.stats.multivariate_t = <scipy.stats._multivariate.multivariate_t_gen object>[源代码]¶
多元t分布随机变量。
这个 loc 参数指定位置。这个 shape 参数指定半正定形状矩阵。这个 df 参数指定自由度。
除了调用下面的方法之外,还可以将对象本身作为函数调用,以固定位置、形状矩阵和自由度参数,返回“冻结”的多变量t分布随机。
- 参数
- xarray_like
分位数,最后一个轴为 x 表示组件。
- locARRAY_LIKE,可选
分发的位置。(默认
0
)- shapeARRAY_LIKE,可选
分布的半正定矩阵。(默认
1
)- df浮动,可选
分布的自由度;必须大于零。如果
np.inf
那么结果是多元正态的。默认值为1
。- allow_singular布尔值,可选
是否允许使用奇异矩阵。(默认
False
)- random_state :{无,整型,
numpy.random.Generator
,{无,整型, 如果 seed 为无(或 np.random )、
numpy.random.RandomState
使用的是Singleton。如果 seed 是一个整型、一个新的RandomState
实例,其种子设定为 seed 。如果 seed 已经是一个Generator
或RandomState
实例,则使用该实例。
注意事项
设置参数 loc 至
None
相当于拥有 loc 做零矢量。该参数 shape 可以是标量,在这种情况下,形状矩阵是该值的单位乘以、形状矩阵的对角条目向量或二维array_like。矩阵 shape 必须是(对称)半正定矩阵。的行列式和逆式 shape 分别作为伪行列式和伪逆计算,因此 shape 不需要拥有完整的级别。的概率密度函数
multivariate_t
是\[F(X)=\FRAC{\伽马(\nu+p)/2}{\Gamma(\nu/2)\nu^{p/2}\pi^{p/2}|\Sigma|^{1/2}} \Left[1+\frac{1}{\nu}(\mathbf{x}-\boldbol{\mu})^{\top} \boldSymbol{\Sigma}^{-1} (\mathbf{x}-\boldbol{\mu})\right]^{-(\nu+p)/2},\]哪里 \(p\) 是的维度 \(\mathbf{{x}}\) , \(\boldsymbol{{\mu}}\) 是不是 \(p\) -空间位置, \(\boldsymbol{{\Sigma}}\) 这个 \(p \times p\) -维形状矩阵,以及 \(\nu\) 就是自由度。
1.6.0 新版功能.
示例
>>> import matplotlib.pyplot as plt >>> from scipy.stats import multivariate_t >>> x, y = np.mgrid[-1:3:.01, -2:1.5:.01] >>> pos = np.dstack((x, y)) >>> rv = multivariate_t([1.0, -0.5], [[2.1, 0.3], [0.3, 1.5]], df=2) >>> fig, ax = plt.subplots(1, 1) >>> ax.set_aspect('equal') >>> plt.contourf(x, y, rv.pdf(pos))
方法:
``pdf(x, loc=None, shape=1, df=1, allow_singular=False)``
概率密度函数。
``logpdf(x, loc=None, shape=1, df=1, allow_singular=False)``
概率密度函数的对数。
``rvs(loc=None, shape=1, df=1, size=1, random_state=None)``
从多元t分布中随机抽取样本。