本文簡要介紹 python 語言中 scipy.stats.matrix_normal
的用法。
用法:
scipy.stats.matrix_normal = <scipy.stats._multivariate.matrix_normal_gen object>#
矩陣正態隨機變量。
mean 關鍵字指定均值。 rowcov 關鍵字指定among-row 協方差矩陣。 ‘colcov’ 關鍵字指定among-column 協方差矩陣。
- mean: 數組,可選
分布的平均值(默認值:無)
- rowcov: 數組,可選
Among-row 分布的協方差矩陣(默認值:1)
- colcov: 數組,可選
Among-column 分布的協方差矩陣(默認值:1)
- seed: {無,int,np.random.RandomState,np.random.Generator},可選
用於繪製隨機變量。如果種子是None, 這RandomState使用單例。如果種子是一個 int,一個新的
RandomState
使用實例,用種子播種。如果種子已經是一個RandomState
或者Generator
實例,然後使用該對象。默認為None.
參數 ::
注意:
如果均值設置為無,則使用零矩陣作為均值。如果提供了這些,則從 rowcov 和 colcov 的形狀推斷該矩陣的維度,如果不明確,則設置為 1。
rowcov 和 colcov 可以是二維的array_likes,直接指定協方差矩陣。或者,一維數組將被解釋為對角矩陣的條目,而標量或零維數組將被解釋為該值乘以單位矩陣。
由指定的協方差矩陣行科夫和科爾科夫必須是(對稱的)正定的。如果樣本在X是
, 然後行科夫一定是 和科爾科夫一定是 .意思是必須是相同的形狀X.matrix_normal
的概率密度函數為其中 是均值, 是among-row協方差矩陣, 是among-column協方差矩陣。
allow_singular的行為scipy.stats.multivariate_normal目前不支持分發。協方差矩陣必須是滿秩的。
matrix_normal
分布與multivariate_normal
分布密切相關。具體來說, (通過連接 的列形成的向量)具有均值 和協方差 (其中 是克羅內克乘積)的多元正態分布。對於矩陣法線,采樣和 pdf 評估是 ,但對於等效多元法線,采樣和 pdf 評估是 ,使得這種等效形式在算法上效率低下。例子:
>>> import numpy as np >>> from scipy.stats import matrix_normal
>>> M = np.arange(6).reshape(3,2); M array([[0, 1], [2, 3], [4, 5]]) >>> U = np.diag([1,2,3]); U array([[1, 0, 0], [0, 2, 0], [0, 0, 3]]) >>> V = 0.3*np.identity(2); V array([[ 0.3, 0. ], [ 0. , 0.3]]) >>> X = M + 0.1; X array([[ 0.1, 1.1], [ 2.1, 3.1], [ 4.1, 5.1]]) >>> matrix_normal.pdf(X, mean=M, rowcov=U, colcov=V) 0.023410202050005054
>>> # Equivalent multivariate normal >>> from scipy.stats import multivariate_normal >>> vectorised_X = X.T.flatten() >>> equiv_mean = M.T.flatten() >>> equiv_cov = np.kron(V,U) >>> multivariate_normal.pdf(vectorised_X, mean=equiv_mean, cov=equiv_cov) 0.023410202050005054
或者,可以調用對象(作為函數)來固定均值和協方差參數,返回 “frozen” 矩陣正態隨機變量:
>>> rv = matrix_normal(mean=None, rowcov=1, colcov=1) >>> # Frozen object with the same methods but holding the given >>> # mean and covariance fixed.
相關用法
- Python SciPy stats.maxwell用法及代碼示例
- Python SciPy stats.mannwhitneyu用法及代碼示例
- Python SciPy stats.median_abs_deviation用法及代碼示例
- Python SciPy stats.multiscale_graphcorr用法及代碼示例
- Python SciPy stats.multivariate_normal用法及代碼示例
- Python SciPy stats.multivariate_hypergeom用法及代碼示例
- Python SciPy stats.mode用法及代碼示例
- Python SciPy stats.monte_carlo_test用法及代碼示例
- Python SciPy stats.multivariate_t用法及代碼示例
- Python SciPy stats.mood用法及代碼示例
- Python SciPy stats.moyal用法及代碼示例
- Python SciPy stats.mvsdist用法及代碼示例
- Python SciPy stats.moment用法及代碼示例
- Python SciPy stats.multinomial用法及代碼示例
- Python SciPy stats.mielke用法及代碼示例
- Python SciPy stats.median_absolute_deviation用法及代碼示例
- Python SciPy stats.median_test用法及代碼示例
- Python SciPy stats.anderson用法及代碼示例
- Python SciPy stats.iqr用法及代碼示例
- Python SciPy stats.genpareto用法及代碼示例
- Python SciPy stats.skewnorm用法及代碼示例
- Python SciPy stats.cosine用法及代碼示例
- Python SciPy stats.norminvgauss用法及代碼示例
- Python SciPy stats.directional_stats用法及代碼示例
- Python SciPy stats.invwishart用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.matrix_normal。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。