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


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


用法:

dask.array.cov(m, y=None, rowvar=1, bias=0, ddof=None)

给定数据和权重,估计协方差矩阵。

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

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

协方差表示两个变量一起变化的水平。如果我们检查 N 维样本 ,那么协方差矩阵元素 的协方差。元素 的方差。

有关算法的概述,请参阅注释。

参数

marray_like

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

y数组,可选

一组额外的变量和观察结果。 y 的形式与 m 的形式相同。

rowvar布尔型,可选

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

bias布尔型,可选

默认归一化 (False) 为 (N - 1) ,其中 N 是给定的观察数(无偏估计)。如果 bias 为 True,则通过 N 进行标准化。在 numpy 版本 >= 1.5 中,可以使用关键字 ddof 覆盖这些值。

ddof整数,可选

如果不是None,则bias 隐含的默认值将被覆盖。请注意,ddof=1 将返回无偏估计,即使同时指定了 fweightsaweights,并且 ddof=0 将返回简单平均值。有关详细信息,请参阅注释。默认值为 None

fweights数组,int,可选(Dask 不支持)

整数频率权重的一维数组;每个观察向量应重复的次数。

aweights数组,可选(在 Dask 中不支持)

观察向量权重的一维数组。对于考虑为“important” 的观察,这些相对权重通常较大,而对于考虑较少的“important” 的观察,这些相对权重较小。如果ddof=0,权重数组可用于将概率分配给观察向量。

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

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

返回

outndarray

变量的协方差矩阵。

注意

假设观测值在观测数组m 的列中,为简洁起见,设f = fweightsa = aweights。计算加权协方差的步骤如下:

>>> m = np.arange(10, dtype=np.float64)  
>>> f = np.arange(10) * 2  
>>> a = np.arange(10) ** 2.  
>>> ddof = 1  
>>> w = f * a  
>>> v1 = np.sum(w)  
>>> v2 = np.sum(w * a)  
>>> m -= np.sum(m * w, axis=None, keepdims=True) / v1  
>>> cov = np.dot(m * w, m.T) * v1 / (v1**2 - ddof * v2)

请注意,当 a == 1 时,归一化因子 v1 / (v1**2 - ddof * v2) 应该会变为 1 / (np.sum(f) - ddof)

例子

考虑两个变量 ,它们完全相关,但方向相反:

>>> x = np.array([[0, 2], [1, 1], [2, 0]]).T  
>>> x  
array([[0, 1, 2],
       [2, 1, 0]])

注意 如何增加而 减少。协方差矩阵清楚地表明了这一点:

>>> np.cov(x)  
array([[ 1., -1.],
       [-1.,  1.]])

请注意,显示 之间相关性的元素 是负数。

此外,请注意 xy 是如何组合的:

>>> x = [-2.1, -1,  4.3]  
>>> y = [3,  1.1,  0.12]  
>>> X = np.stack((x, y), axis=0)  
>>> np.cov(X)  
array([[11.71      , -4.286     ], # may vary
       [-4.286     ,  2.144133]])
>>> np.cov(x, y)  
array([[11.71      , -4.286     ], # may vary
       [-4.286     ,  2.144133]])
>>> np.cov(x)  
array(11.71)

相关用法


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