scipy.stats.wishart#
- scipy.stats.wishart = <scipy.stats._multivariate.wishart_gen object>[source]#
Wishart 隨機變數。
df 關鍵字指定自由度。scale 關鍵字指定尺度矩陣,該矩陣必須是對稱且正定的。在此上下文中,尺度矩陣通常根據多變量常態精確度矩陣(共變異數矩陣的倒數)來解釋。這些引數必須滿足關係式
df > scale.ndim - 1
,但請參閱關於使用 rvs 方法與df < scale.ndim
的注意事項。- 參數:
- dfint
自由度,必須大於或等於尺度矩陣的維度
- scalearray_like
分佈的對稱正定尺度矩陣
- seed{None, int, np.random.RandomState, np.random.Generator}, optional
用於繪製隨機變量。如果 seed 為 None,則使用 RandomState 單例。如果 seed 是一個整數,則使用一個新的
RandomState
實例,並以 seed 作為種子。如果 seed 已經是RandomState
或Generator
實例,則使用該物件。預設值為 None。
- 引發:
- scipy.linalg.LinAlgError
如果尺度矩陣 scale 不是正定的。
參見
註解
尺度矩陣 scale 必須是對稱正定矩陣。不支援奇異矩陣,包括對稱正半定矩陣。不檢查對稱性;僅使用下三角部分。
Wishart 分佈通常表示為
\[W_p(\nu, \Sigma)\]其中 \(\nu\) 是自由度,而 \(\Sigma\) 是 \(p \times p\) 尺度矩陣。
wishart
的機率密度函數支援正定矩陣 \(S\);如果 \(S \sim W_p(\nu, \Sigma)\),則其 PDF 由下式給出\[f(S) = \frac{|S|^{\frac{\nu - p - 1}{2}}}{2^{ \frac{\nu p}{2} } |\Sigma|^\frac{\nu}{2} \Gamma_p \left ( \frac{\nu}{2} \right )} \exp\left( -tr(\Sigma^{-1} S) / 2 \right)\]如果 \(S \sim W_p(\nu, \Sigma)\) (Wishart),則 \(S^{-1} \sim W_p^{-1}(\nu, \Sigma^{-1})\) (反 Wishart)。
如果尺度矩陣是一維且等於 1,則 Wishart 分佈 \(W_1(\nu, 1)\) 坍縮為 \(\chi^2(\nu)\) 分佈。
[2] 由 rvs 方法實作的演算法可能會產生數值奇異矩陣,其中 \(p - 1 < \nu < p\);使用者可能希望檢查此條件並在必要時產生替換樣本。
在 0.16.0 版本中新增。
參考文獻
[1]M.L. Eaton,“Multivariate Statistics: A Vector Space Approach”,Wiley,1983。
[2]W.B. Smith 和 R.R. Hocking,“Algorithm AS 53: Wishart Variate Generator”,Applied Statistics,第 21 卷,第 341-345 頁,1972 年。
範例
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy.stats import wishart, chi2 >>> x = np.linspace(1e-5, 8, 100) >>> w = wishart.pdf(x, df=3, scale=1); w[:5] array([ 0.00126156, 0.10892176, 0.14793434, 0.17400548, 0.1929669 ]) >>> c = chi2.pdf(x, 3); c[:5] array([ 0.00126156, 0.10892176, 0.14793434, 0.17400548, 0.1929669 ]) >>> plt.plot(x, w) >>> plt.show()
輸入分位數可以是任何形狀的陣列,只要最後一個軸標記組件即可。
或者,可以呼叫物件(作為函數)以固定自由度和尺度參數,傳回「凍結」的 Wishart 隨機變數
>>> rv = wishart(df=1, scale=1) >>> # Frozen object with the same methods but holding the given >>> # degrees of freedom and scale fixed.
方法
pdf(x, df, scale)
機率密度函數。
logpdf(x, df, scale)
機率密度函數的對數。
rvs(df, scale, size=1, random_state=None)
從 Wishart 分佈中抽取隨機樣本。
entropy()
計算 Wishart 分佈的微分熵。