numpy.ma.cov#

ma.cov(x, y=None, rowvar=True, bias=False, allow_masked=True, ddof=None)[source]#

估计协方差矩阵。

除了对缺失数据的处理方式不同外,此函数与 numpy.cov 的功能相同。有关更多详细信息和示例,请参阅 numpy.cov

默认情况下,将识别掩码值。如果 xy 具有相同的形状,则会分配一个公共掩码:如果 x[i,j] 被掩码,则 y[i,j] 也将被掩码。将 allow_masked 设置为 False 将在任一输入数组中存在缺失值时引发异常。

参数:
xarray_like

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

yarray_like, optional

一组额外的变量和观测。 y 的形状与 x 相同。

rowvarbool, optional

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

biasbool, optional

默认归一化(False)是除以 (N-1),其中 N 是观测值的数量(无偏估计)。如果 bias 为 True,则归一化是除以 N。在 numpy 版本 >= 1.5 中,此关键字可以被 ddof 关键字覆盖。

allow_maskedbool, optional

如果为 True,则掩码值成对传播:如果 x 中的某个值被掩码,则 y 中的相应值也将被掩码。如果为 False,则在某些值丢失时引发 ValueError 异常。

ddof{None, int}, optional

如果不是 None,则归一化是除以 (N - ddof),其中 N 是观测值的数量;这会覆盖 bias 暗示的值。默认值为 None

引发:
ValueError

当某些值丢失且 allow_masked 为 False 时引发。

另请参阅

numpy.cov

示例

>>> import numpy as np
>>> x = np.ma.array([[0, 1], [1, 1]], mask=[0, 1, 0, 1])
>>> y = np.ma.array([[1, 0], [0, 1]], mask=[0, 0, 1, 1])
>>> np.ma.cov(x, y)
masked_array(
data=[[--, --, --, --],
      [--, --, --, --],
      [--, --, --, --],
      [--, --, --, --]],
mask=[[ True,  True,  True,  True],
      [ True,  True,  True,  True],
      [ True,  True,  True,  True],
      [ True,  True,  True,  True]],
fill_value=1e+20,
dtype=float64)