当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python dask.array.corrcoef用法及代码示例


用法:

dask.array.corrcoef(x, y=None, rowvar=1)

返回 Pearson product-moment 相关系数。

此文档字符串是从 numpy.corrcoef 复制的。

可能存在与 Dask 版本的一些不一致之处。

有关详细信息,请参阅cov 的文档。相关系数矩阵 R 和协方差矩阵 C 之间的关系是

R 的值介于 -1 和 1 之间(含)。

参数

xarray_like

包含多个变量和观察值的一维或二维数组。 x 的每一行代表一个变量,每一列都是对所有这些变量的一次观察。另请参阅下面的rowvar

y数组,可选

一组额外的变量和观察结果。 yx 具有相同的形状。

rowvar布尔型,可选

如果 rowvar 为 True(默认值),则每一行代表一个变量,列中包含观察值。否则,关系被转置:每列代表一个变量,而行包含观察值。

bias_NoValue,可选(Dask 中不支持)

没有效果,请勿使用。

ddof_NoValue,可选(Dask 中不支持)

没有效果,请勿使用。

dtype数据类型,可选(Dask 中不支持)

结果的数据类型。默认情况下,返回数据类型将至少具有 numpy.float64 精度。

返回

Rndarray

变量的相关系数矩阵。

注意

由于浮点舍入,结果数组可能不是 Hermitian,对角线元素可能不是 1,元素可能不满足不等式 abs(a) <= 1。实部和虚部被裁剪到区间 [-1 , 1] 试图改善这种情况,但在复杂的情况下并没有多大帮助。

此函数接受但丢弃参数 biasddof 。这是为了向后兼容此函数的先前版本。这些参数对函数的返回值没有影响,可以在这个和以前版本的 numpy 中安全地忽略。

例子

在此示例中,我们生成两个随机数组 xarryarr ,并计算行和列 Pearson 相关系数 R 。由于 rowvar 默认为真,我们首先找到 xarr 变量之间的逐行 Pearson 相关系数。

>>> import numpy as np  
>>> rng = np.random.default_rng(seed=42)  
>>> xarr = rng.random((3, 3))  
>>> xarr  
array([[0.77395605, 0.43887844, 0.85859792],
       [0.69736803, 0.09417735, 0.97562235],
       [0.7611397 , 0.78606431, 0.12811363]])
>>> R1 = np.corrcoef(xarr)  
>>> R1  
array([[ 1.        ,  0.99256089, -0.68080986],
       [ 0.99256089,  1.        , -0.76492172],
       [-0.68080986, -0.76492172,  1.        ]])

如果我们添加另一组变量和观察值 yarr ,我们可以计算 xarryarr 中变量之间的逐行 Pearson 相关系数。

>>> yarr = rng.random((3, 3))  
>>> yarr  
array([[0.45038594, 0.37079802, 0.92676499],
       [0.64386512, 0.82276161, 0.4434142 ],
       [0.22723872, 0.55458479, 0.06381726]])
>>> R2 = np.corrcoef(xarr, yarr)  
>>> R2  
array([[ 1.        ,  0.99256089, -0.68080986,  0.75008178, -0.934284  ,
        -0.99004057],
       [ 0.99256089,  1.        , -0.76492172,  0.82502011, -0.97074098,
        -0.99981569],
       [-0.68080986, -0.76492172,  1.        , -0.99507202,  0.89721355,
         0.77714685],
       [ 0.75008178,  0.82502011, -0.99507202,  1.        , -0.93657855,
        -0.83571711],
       [-0.934284  , -0.97074098,  0.89721355, -0.93657855,  1.        ,
         0.97517215],
       [-0.99004057, -0.99981569,  0.77714685, -0.83571711,  0.97517215,
         1.        ]])

最后,如果我们使用选项 rowvar=False ,列现在被视为变量,我们将在 xarryarr 中找到变量之间的列式 Pearson 相关系数。

>>> R3 = np.corrcoef(xarr, yarr, rowvar=False)  
>>> R3  
array([[ 1.        ,  0.77598074, -0.47458546, -0.75078643, -0.9665554 ,
         0.22423734],
       [ 0.77598074,  1.        , -0.92346708, -0.99923895, -0.58826587,
        -0.44069024],
       [-0.47458546, -0.92346708,  1.        ,  0.93773029,  0.23297648,
         0.75137473],
       [-0.75078643, -0.99923895,  0.93773029,  1.        ,  0.55627469,
         0.47536961],
       [-0.9665554 , -0.58826587,  0.23297648,  0.55627469,  1.        ,
        -0.46666491],
       [ 0.22423734, -0.44069024,  0.75137473,  0.47536961, -0.46666491,
         1.        ]])

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.array.corrcoef。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。