本文簡要介紹 python 語言中 scipy.stats.multivariate_normal
的用法。
用法:
scipy.stats.multivariate_normal = <scipy.stats._multivariate.multivariate_normal_gen object>#
多元正態隨機變量。
mean 關鍵字指定均值。 cov 關鍵字指定協方差矩陣。
- mean: 類似數組,默認:
[0]
分布的平均值。
- cov: 數組 或
Covariance
,默認值:[1]
分布的對稱正(半)定協方差矩陣。
- allow_singular: 布爾值,默認值:
False
是否允許奇異協方差矩陣。如果出現以下情況,則忽略此設置:冠狀病毒是一個
Covariance
對象。- seed: {無,int,np.random.RandomState,np.random.Generator},可選
用於繪製隨機變量。如果種子是None, 這RandomState使用單例。如果種子是一個 int,一個新的
RandomState
使用實例,用種子播種。如果種子已經是一個RandomState
或者Generator
實例,然後使用該對象。默認為None.
- mean: 類似數組,默認:
參數 ::
注意:
設置參數意思是到None相當於擁有意思是成為zero-vector。參數冠狀病毒可以是標量,在這種情況下,協方差矩陣是單位乘以該值、協方差矩陣對角線條目的向量、二維 數組 或
Covariance
對象。協方差矩陣冠狀病毒可能是子類的實例
Covariance
,例如scipy.stats.CovViaPrecision。如果是這樣,allow_singular被忽略。否則,當 allow_singular 為 True 時,cov 必須是對稱正半定矩陣;當 allow_singular 為 False 時,它必須是(嚴格)正定的。不檢查對稱性;僅使用下三角形部分。 cov 的行列式和倒數分別計算為 pseudo-determinant 和 pseudo-inverse,因此 cov 不需要具有滿秩。
multivariate_normal
的概率密度函數為其中 是平均值, 協方差矩陣, 的秩。在單數 的情況下,SciPy 根據 [1] 擴展此定義。
參考:
[1]多元正態分布 - 簡並情況,維基百科,https://en.wikipedia.org/wiki/Multivariate_normal_distribution#Degenerate_case
例子:
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy.stats import multivariate_normal
>>> x = np.linspace(0, 5, 10, endpoint=False) >>> y = multivariate_normal.pdf(x, mean=2.5, cov=0.5); y array([ 0.00108914, 0.01033349, 0.05946514, 0.20755375, 0.43939129, 0.56418958, 0.43939129, 0.20755375, 0.05946514, 0.01033349]) >>> fig1 = plt.figure() >>> ax = fig1.add_subplot(111) >>> ax.plot(x, y) >>> plt.show()
或者,可以調用該對象(作為函數)來固定均值和協方差參數,返回 “frozen” 多元正態隨機變量:
>>> rv = multivariate_normal(mean=None, cov=1, allow_singular=False) >>> # Frozen object with the same methods but holding the given >>> # mean and covariance fixed.
輸入分位數可以是任何形狀的數組,隻要最後一個軸標記組件即可。例如,這允許我們在 2D 中顯示非各向同性隨機變量的凍結 pdf,如下所示:
>>> x, y = np.mgrid[-1:1:.01, -1:1:.01] >>> pos = np.dstack((x, y)) >>> rv = multivariate_normal([0.5, -0.2], [[2.0, 0.3], [0.3, 0.5]]) >>> fig2 = plt.figure() >>> ax2 = fig2.add_subplot(111) >>> ax2.contourf(x, y, rv.pdf(pos))
相關用法
- Python SciPy stats.multivariate_hypergeom用法及代碼示例
- Python SciPy stats.multivariate_t用法及代碼示例
- Python SciPy stats.multiscale_graphcorr用法及代碼示例
- Python SciPy stats.multinomial用法及代碼示例
- Python SciPy stats.median_abs_deviation用法及代碼示例
- Python SciPy stats.mode用法及代碼示例
- Python SciPy stats.monte_carlo_test用法及代碼示例
- Python SciPy stats.matrix_normal用法及代碼示例
- Python SciPy stats.mood用法及代碼示例
- Python SciPy stats.moyal用法及代碼示例
- Python SciPy stats.maxwell用法及代碼示例
- Python SciPy stats.mvsdist用法及代碼示例
- Python SciPy stats.moment用法及代碼示例
- Python SciPy stats.mielke用法及代碼示例
- Python SciPy stats.median_absolute_deviation用法及代碼示例
- Python SciPy stats.median_test用法及代碼示例
- Python SciPy stats.mannwhitneyu用法及代碼示例
- 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.multivariate_normal。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。