numpy.ma.cov#
- ma.cov(x, y=None, rowvar=True, bias=False, allow_masked=True, ddof=None)[source]#
估计协方差矩阵。
除了对缺失数据的处理之外,此函数与
numpy.cov
的功能相同。有关更多详细信息和示例,请参阅numpy.cov
。默认情况下,掩码值会被识别。如果 x 和 y 具有相同的形状,则会分配一个公共掩码:如果
x[i,j]
被掩码,则y[i,j]
也将被掩码。如果任一输入数组中缺少值,将 allow_masked 设置为 False 将引发异常。- 参数:
- x类数组
一个包含多个变量和观测值的一维或二维数组。 x 的每一行代表一个变量,每一列代表所有这些变量的一个观测值。另请参阅下面的 rowvar。
- y类数组,可选
另一组变量和观测值。 y 具有与 x 相同的形状。
- rowvar布尔值,可选
如果 rowvar 为 True(默认值),则每行代表一个变量,观测值在列中。否则,关系会被转置:每列代表一个变量,而行包含观测值。
- bias布尔值,可选
默认归一化(False)使用
(N-1)
,其中N
是给定的观测值数量(无偏估计)。如果 bias 为 True,则归一化使用N
。此关键字在 numpy 版本 >= 1.5 中可被关键字ddof
覆盖。- allow_masked布尔值,可选
如果为 True,掩码值会成对传播:如果 x 中的一个值被掩码,则 y 中的对应值也将被掩码。如果为 False,则当某些值缺失时会引发 ValueError 异常。
- ddof{None, int},可选
如果不是
None
,则归一化使用(N - ddof)
,其中N
是观测值数量;这会覆盖bias
所隐含的值。默认值为None
。
- 引发:
- ValueError
如果某些值缺失且 allow_masked 为 False,则引发此异常。
另请参阅
示例
>>> 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)