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


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


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

用法:

Covariance.whiten(x)#

對數據進行白化變換。

“Whitening”(“white”如“white noise”,其中每個頻率具有相等的幅度)將一組隨機變量轉換為一組具有unit-diagonal協方差的新隨機變量。當白化變換應用於根據零均值的多元正態分布分布的點的樣本時,變換樣本的協方差近似為單位矩陣。

參數

x array_like

點數組。最後一個維度必須與空間的維度相對應,即協方差矩陣中的列數。

返回

x_ array_like

變換後的點數組。

參考

[1]

“Whitening Transformation”。維基百科。https://en.wikipedia.org/wiki/Whitening_transformation

[2]

諾瓦克、盧卡斯和米羅斯拉夫·沃列喬夫斯基。 “著色線性變換的推廣”。 VSB 18.2 (2018) 的交易:31-35。 DOI:10.31490/tces-2018-0013

例子

>>> import numpy as np
>>> from scipy import stats
>>> rng = np.random.default_rng()
>>> n = 3
>>> A = rng.random(size=(n, n))
>>> cov_array = A @ A.T  # make matrix symmetric positive definite
>>> precision = np.linalg.inv(cov_array)
>>> cov_object = stats.Covariance.from_precision(precision)
>>> x = rng.multivariate_normal(np.zeros(n), cov_array, size=(10000))
>>> x_ = cov_object.whiten(x)
>>> np.cov(x_, rowvar=False)  # near-identity covariance
array([[0.97862122, 0.00893147, 0.02430451],
       [0.00893147, 0.96719062, 0.02201312],
       [0.02430451, 0.02201312, 0.99206881]])

相關用法


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