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, 可选

一组额外的变量和观测值。yx具有相同的形状。

rowvarbool, 可选

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

biasbool, 可选

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

allow_maskedbool, 可选

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

ddof{None, int}, 可选

如果非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)