scipy.stats.random_correlation

scipy.stats.random_correlation = <scipy.stats._multivariate.random_correlation_gen object>[源代码]

随机相关矩阵。

在给定特征值向量的情况下,返回随机相关矩阵。

这个 eigs 关键字指定关联矩阵的特征值,并隐含维度。

参数
eigs一维ndarray

相关矩阵的特征值。

注意事项

按照Davies&Higham提出的数值稳定算法生成随机相关矩阵。该算法利用单个O(N)相似变换构造对称半正定矩阵,并利用一系列Givens旋转将其缩放为对角线上的正半正定矩阵。

参考文献

1

菲利普·戴维斯,菲利普一世;希格姆,尼古拉斯·J;“相关矩阵及其因子的数值稳定生成”,2000年,第40卷,第4期,第640页651页。

示例

>>> 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.07198934, -0.20411041, -0.24385796],
       [-0.07198934,  1.        ,  0.12968613, -0.29471382],
       [-0.20411041,  0.12968613,  1.        ,  0.2828693 ],
       [-0.24385796, -0.29471382,  0.2828693 ,  1.        ]])
>>> import scipy.linalg
>>> e, v = scipy.linalg.eigh(x)
>>> e
array([ 0.5,  0.8,  1.2,  1.5])

方法:

``rvs(eigs=None, random_state=None)``

绘制随机相关矩阵,所有矩阵都带有特征值特征。