scipy.stats.multivariate_t#

scipy.stats.multivariate_t = <scipy.stats._multivariate.multivariate_t_gen object>[原始碼]#

多變量 t 分佈隨機變數。

loc 參數指定位置。shape 參數指定正半定形狀矩陣。df 參數指定自由度。

除了呼叫以下方法外,物件本身可以作為函數呼叫,以固定位置、形狀矩陣和自由度參數,並傳回「凍結的」多變量 t 分佈隨機變數。

參數:
locarray_like,選用

分佈的位置。(預設 0

shapearray_like,選用

分佈的正半定矩陣。(預設 1

dffloat,選用

分佈的自由度;必須大於零。如果 np.inf 則結果為多變量常態分佈。預設值為 1

allow_singularbool,選用

是否允許奇異矩陣。(預設 False

seed{None, int, np.random.RandomState, np.random.Generator},選用

用於繪製隨機變量。如果 seedNone,則使用 RandomState 單例。如果 seed 為整數,則使用新的 RandomState 實例,並以 seed 作為種子。如果 seed 已經是 RandomStateGenerator 實例,則使用該物件。預設值為 None

註解

將參數 loc 設定為 None 等同於使 loc 為零向量。參數 shape 可以是純量,在這種情況下,形狀矩陣是單位矩陣乘以該值、形狀矩陣的對角線項的向量,或二維 array_like。矩陣 shape 必須是(對稱)正半定矩陣。shape 的行列式和反矩陣分別計算為偽行列式和偽反矩陣,因此 shape 不需要具有完整秩。

multivariate_t 的機率密度函數為

\[f(x) = \frac{\Gamma((\nu + p)/2)}{\Gamma(\nu/2)\nu^{p/2}\pi^{p/2}|\Sigma|^{1/2}} \left[1 + \frac{1}{\nu} (\mathbf{x} - \boldsymbol{\mu})^{\top} \boldsymbol{\Sigma}^{-1} (\mathbf{x} - \boldsymbol{\mu}) \right]^{-(\nu + p)/2},\]

其中 \(p\)\(\mathbf{x}\) 的維度,\(\boldsymbol{\mu}\)\(p\) 維位置,\(\boldsymbol{\Sigma}\)\(p \times p\) 維形狀矩陣,而 \(\nu\) 是自由度。

在 1.6.0 版本中新增。

參考文獻

[1]

Arellano-Valle 等人。“多變量偏斜橢圓分佈的香農熵和互信息”。《斯堪地納維亞統計學期刊》。第 40 卷,第 1 期。

範例

物件可以被呼叫(作為函數)以固定 locshapedfallow_singular 參數,並傳回「凍結的」multivariate_t 隨機變數

>>> import numpy as np
>>> from scipy.stats import multivariate_t
>>> rv = multivariate_t([1.0, -0.5], [[2.1, 0.3], [0.3, 1.5]], df=2)
>>> # Frozen object with the same methods but holding the given location,
>>> # scale, and degrees of freedom fixed.

建立 PDF 的等高線圖。

>>> import matplotlib.pyplot as plt
>>> x, y = np.mgrid[-1:3:.01, -2:1.5:.01]
>>> pos = np.dstack((x, y))
>>> fig, ax = plt.subplots(1, 1)
>>> ax.set_aspect('equal')
>>> plt.contourf(x, y, rv.pdf(pos))
../../_images/scipy-stats-multivariate_t-1.png

方法

pdf(x, loc=None, shape=1, df=1, allow_singular=False)

機率密度函數。

logpdf(x, loc=None, shape=1, df=1, allow_singular=False)

機率密度函數的對數。

cdf(x, loc=None, shape=1, df=1, allow_singular=False, *,

maxpts=None, lower_limit=None, random_state=None) 累積分布函數。

rvs(loc=None, shape=1, df=1, size=1, random_state=None)

從多變量 t 分佈中抽取隨機樣本。

entropy(loc=None, shape=1, df=1)

多變量 t 分佈的微分熵。