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


Python SciPy stats.random_correlation用法及代碼示例


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

用法:

scipy.stats.random_correlation = <scipy.stats._multivariate.random_correlation_gen object>#

隨機相關矩陣。

返回一個隨機相關矩陣,給定一個特征值向量。

eigs 關鍵字指定相關矩陣的特征值,並暗示維度。

參數

eigs 一維數組

相關矩陣的特征值

seed {無,int, numpy.random.Generator numpy.random.RandomState },可選

如果種子是無(或np.random), 這numpy.random.RandomState使用單例。如果種子是一個 int,一個新的RandomState使用實例,播種種子.如果種子已經是一個Generator或者RandomState實例然後使用該實例。

tol 浮點數,可選

輸入參數檢查的容差

diag_tol 浮點數,可選

結果矩陣對角線偏差的容差。默認值:1e-7

返回

rvs ndarray 或標量

隨機大小的N維矩陣,維度(size,dim,dim),每個都有特征值eigs。

拋出

RuntimeError

浮點錯誤阻止生成有效的相關矩陣。

注意

按照 Davies 和 Higham 闡述的數值穩定算法生成隨機相關矩陣。該算法使用單個 O(N) 相似變換來構造對稱正半定矩陣,並應用一係列吉文斯旋轉來縮放它以使其在對角線上。

參考

[1]

戴維斯,菲利普一世;海厄姆,尼古拉斯 J; “相關矩陣及其因子的數值穩定生成”,BIT 2000,Vol。 40,第 4 期,第 640 651 頁

例子

>>> import numpy as np
>>> from scipy.stats import random_correlation
>>> rng = np.random.default_rng()
>>> x = random_correlation.rvs((.5, .8, 1.2, 1.5), random_state=rng)
>>> x
array([[ 1.        , -0.02423399,  0.03130519,  0.4946965 ],
       [-0.02423399,  1.        ,  0.20334736,  0.04039817],
       [ 0.03130519,  0.20334736,  1.        ,  0.02694275],
       [ 0.4946965 ,  0.04039817,  0.02694275,  1.        ]])
>>> import scipy.linalg
>>> e, v = scipy.linalg.eigh(x)
>>> e
array([ 0.5,  0.8,  1.2,  1.5])

相關用法


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