當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy Covariance.from_precision用法及代碼示例


本文簡要介紹 python 語言中 scipy.stats.Covariance.from_precision 的用法。

用法:

static  Covariance.from_precision(precision, covariance=None)#

從精度矩陣返回協方差的表示。

參數

precision array_like

精度矩陣;即對稱正定協方差方陣的逆矩陣。

covariance 數組,可選

方形、對稱、正定協方差矩陣。如果未提供,則可能需要計算(例如,評估累積分布函數scipy.stats.multivariate_normal)通過反轉精確.

注意

令協方差矩陣為 ,其精度矩陣為 ,並且 為較低的 Cholesky 因子,使得 。數據點 的白化是通過計算 來執行的。 計算為 ,其中 操作按元素執行。

Covariance 類不支持奇異協方差矩陣,因為奇異協方差矩陣不存在精度矩陣。

例子

準備一個對稱正定精度矩陣 P 和一個數據點 x 。 (如果精度矩陣尚不可用,請考慮 Covariance 類的其他工廠方法。)

>>> import numpy as np
>>> from scipy import stats
>>> rng = np.random.default_rng()
>>> n = 5
>>> P = rng.random(size=(n, n))
>>> P = P @ P.T  # a precision matrix must be positive definite
>>> x = rng.random(size=n)

創建 Covariance 對象。

>>> cov = stats.Covariance.from_precision(P)

Covariance 對象的函數與參考實現進行比較。

>>> res = cov.whiten(x)
>>> ref = x @ np.linalg.cholesky(P)
>>> np.allclose(res, ref)
True
>>> res = cov.log_pdet
>>> ref = -np.linalg.slogdet(P)[-1]
>>> np.allclose(res, ref)
True

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.Covariance.from_precision。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。