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},選用
用於繪製隨機變量。如果 seed 為 None,則使用 RandomState 單例。如果 seed 為整數,則使用新的
RandomState
實例,並以 seed 作為種子。如果 seed 已經是RandomState
或Generator
實例,則使用該物件。預設值為 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 期。
範例
物件可以被呼叫(作為函數)以固定 loc、shape、df 和 allow_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))
方法
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 分佈的微分熵。